備份wordpress網站

備份意義

  1. 如果線上發生意外,我都可以立即在另一地方復原。
  2. 本地發文的速度比線上快很多,有時如果線上不行,那先發表在本地。
  3. 如果我想嘗試某個插件或主題,我會先在本地測試。
  4. 本地能跑起來一個同樣的網站,才說明備份是正確可行的。

備份過程簡介

  1. 在本地安裝新的wordpress,再覆蓋備份數據庫
  2. 配置apache,以使本地可以正常訪問

備份過程詳解

  1. 準備好備份目標:在用插件及主題,wordpress主程式,導出的sql。
  2. 安裝最新版本的apache+php+mysql。
  3. 將新的wordpress安裝在某處,把準備好的主題和插件放進去。
  4. 將導出的sql直接灌進新的數據庫,數據庫要注意首先替換掉表前綴以及域名
  5. 進入/etc/apache2/sites-available/,將000-default.conf複製為bbc.ejsoon.win.conf,內容改成:
    <VirtualHost *:80>
        ServerAdmin ejsoon@localhost
        ServerName bbc.ejsoon.win
        DocumentRoot /var/www/bbcci/
        ErrorLog ${APACHE_LOG_DIR}/bbc.ejsoon.win.error.log
        CustomLog ${APACHE_LOG_DIR}/bbc.ejsoon.win.access.log combined
    </VirtualHost> 
  6. 激活新站點:
    sudo a2ensite bbc.ejsoon.win
  7. 重啟apache:
    sudo /etc/init.d/apache2 restart
  8. 改/etc/hosts,加一行:
    127.0.0.1	bbc.ejsoon.win
  9. 在wordpress根目錄加上.htaccess文件,其內容是:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
  10. 更改apache設置,使其支持.htaccess。來到/etc/apache2/apache2.conf,將其設置更改為AllowOverride All
  11. 啟用apache的重寫功能:
    sudo a2enmod rewrite
  12. 重啟apache:
    sudo /etc/init.d/apache2 restart

以上就是備份wordpress網站的全過程。

然而還有個問題,就是,它的右側欄是無法備份的,在新的網站上只能重做。原因未知。

Leave a Comment