Wordpress 中文
Advertisement

簡介[ | ]

SVN,全稱Subversion,是一款版本控制工具,常用於多人協作項目開發中,其主頁在http://subversion.tigris.org ,同類型的工具還有CVS。本篇文章將介紹使用SVN在服務器端更新WordPress的方法。 本文作者:SilverFox

使用SVN更新WordPress[ | ]

以下將介紹如何使用SVN升級您的虛擬主機中的WordPress至最新版(註:以下內容僅針對虛擬主機使用的是Linux操作系統,至於Win型主機請自行Google。)

必要條件[ | ]

  • 虛擬主機支持SSH登錄。

此項一般在您購買虛擬主機時會在功能介紹中提及,國外的虛擬主機商如DreamHost、BlueHost、HostMonster等都提供了此項服務,只是一部分主機需傳真身份證明才可正式開通。遺憾的是國內的大部分虛擬主機都未提供SSH,就我現在所知,似乎僅盤古的合租服務器支持SSH登錄。如您知道類似的空間商,望告知。

  • SSH客戶端。

Linux和MAC操作系統中已自帶有SSH客戶端程序,Linux的SSH相關資料MAC的SSH相關資料,Windows可使用PuTTY,這款非常好用的SSH客戶端。

  • 虛擬主機安裝有SVN程序。

國外的大部分虛擬主機都已安裝,若沒有您可使用Support Tickets或Email向主機商要求安裝SVN,他們一般都會樂意安裝。國內的,呃,溝通很重要。檢測您的虛擬主機是否已安裝SVN,可以通過SSH登錄,使用命令$ whereis svn查看運行結果,若已安裝則會顯示安裝路徑。($是Linux命令提示符,不必輸入。)

  • 獨立性良好的WordPress。

這裡的獨立性是指未對WordPress的核心文件進行修改。意思就是說您所有針對WordPress的操作應該集中在wp-config.php和wp-content/目錄下(包括插件和主題),而沒有修改WordPress自身的文件來實現功能。 例,如果我修改了WordPress自帶的Default主題,那麼在升級前最好將其修改為其他名稱,這樣才不會被SVN覆蓋。您可以通過插件(一般是添加filter)實現修改WordPress顯示效果,具體操作可以參看WordPress的官方API,示例可以參照Yskin的一部分插件。

  • 最少45分鐘或1小時。

升級過程可能會遇到各種稀奇古怪的錯誤,請耐心地Google並解決之。第一次升級比較慢,因為要建立SVN Repository(呃,TortoiseSVN里是怎麼翻譯這個詞的?),以後的升級就相對簡單了。

第一次升級[ | ]

在升級之前,您可以使用.htaccess文件來重定向您的blog到一個靜態頁面,具體內容可參看此處。當然,像我們這種小blog就沒必要了。

  1. 使用SSH登錄到您的虛擬主機的根目錄下,一般名為public_html/或者www/,如果不是,請使用cd命令切換。
  2. 進入您blog目錄的上級目錄,也就是說使用ls命令可以找到您的blog目錄(此例中假設blog目錄的名字為wordpress)。如圖一,該圖僅演示,請參照個人設置修改。
  3. 使用命令$ mv wordpress/ wordpress.bak/將您的舊blog目錄重命名為wordpress.bak,若升級失敗,則可直接進行恢復。
  4. 使用命令$ mkdir wordpress && cd wordpress新建wordpress目錄並進入此目錄。
  5. 使用命令$ svn co http://svn.automattic.com/wordpress/trunk/ ./從WordPress的SVN中檢出最新版到當前目錄下。WordPress的官方SVN頁面參看http://wordpress.org/download/svn/。
  6. 將您舊版blog里的wp-config.php及插件和主題複製到新版中來。
    • 使用命令$ cp ../wordpress.bak/wp-config.php ./拷貝wp-config.php。
    • 命令$ cp -R ../wordpress.bak/wp-content/themes/yourthemes ./wp-content/themes/拷貝您的主題yourthemes到新版中,參數-R表示複製整個目錄及子目錄。
    • 命令$ cp ../wordpress.bak/wp-content/plugins/yourplugin.php ./wp-content/plugins/拷貝您的插件yourplugin.php到新版中。
    • 使用命令$ cp ../wordpress.bak/.htaccess ./拷貝.htaccess到新版中(如果您修改了.htaccess的話)。
圖一 File:Wordpress dir.png

將來的升級[ | ]

以後的升級過程就比較簡單了,進入wordpress目錄,執行命令$ svn update,完成升級。

補充說明[ | ]

  • .svn的保護措施

在完成SVN Repository的建立後,該目錄下每個目錄中都會有隱藏目錄.svn,這是存儲svn控制文件信息的地方。為了blog的安全性,應禁止他人從瀏覽器中訪問到此目錄,可在.htaccess中如下設置:

     <directory ~ “\.svn”>
     Order Allow,Deny
     Deny from all
     </directory>
  • 版本的回溯

如果我升級到最新版感覺不好用,又想退回舊版如何操作呢?

簡單,找到舊版對應的Reversion(SVN版本號),在升級之前使用命令$ svn info即可。

然後在想回溯時,使用命令$ svn update -r5583即可回溯到升級前的版本。

呃,升級前忘了查看版本號怎麼辦,沒關係,去http://trac.wordpress.org/log/ 找,從上面搜索「Getz」,我們就找到了WordPress 2.2版本號應為5480。

File:Svninfo.png

寫在最後[ | ]

關於SVN的詳細信息,可以下載《使用Subversion進行版本控制》一書來仔細學習,強烈建議。 另一種方式下載WordPress

一般情況下,我們是先將wordpress最新版下載到本地,再上傳到服務器。

如果您的虛擬主機支持SSH(Shell)登錄的話,您可以在對應目錄中使用命令

 $ wget http://wordpress.org/latest.tar.gz

來下載最新版。

接着命令

$ tar zxvf latest.tar.gz

來解壓它,再覆蓋舊版,刪除新版已不需要的文件,升級數據庫,完成。

參考文章[ | ]

Advertisement