今天终于可以完完全全地把在运行在托管服务器上(比如godaddy上面)的WordPress站点和内容,全部备份到本地服务器上了。步骤如下:

(1)用FTP把托管服务器上面的内容全部下载到本地,下载到 C:\Apache2.2\htdocs\doosolar\ (文件夹路径,可以替换成你所喜欢的。本文中,就以 C:\Apache2.2\htdocs\doosolar\ 为例。)

(2)修改C:\Apache2.2\htdocs\doosolar\里面的:wp-config.php,使符合你本地的数据库:

1
2
3
4
5
6
7
8
9
10
11
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxxxxxxx');
 
/** MySQL database username */
define('DB_USER', 'yyyyyyyyyyyyy');
 
/** MySQL database password */
define('DB_PASSWORD', 'zzzzzzzzzzzzzzz');
 
/** MySQL hostname */
define('DB_HOST', 'localhost');

(3)把托管服务器上面备份下来的数据库,导入本地的Mysql:比如 doosolar_20110802.sql。用mysql 的命令行执行,方便快捷。比如:

1
mysql -uUserName -pPassword DataBaseName < C:\Apache2.2\htdocs\doosolar\_db_backups\doosolar_20110802.sql

(4)利用phpMyAdmin等Mysql管理和编辑的工具,修改 “wp_options”表的“siteurl”字段为本地的url: 例如:http://localhost/doosolar

(5)进入在本地服务器的wordPress的管理界面,例如 http://localhost/doosolar/wp-admin 这时使用的用户名和密码,和在托管服务器上的是一样的。

(6)在wordPress的管理界面里面,修改 Setting->General里面的如下两项,填入本地的url,例如:
WordPress address (URL):http://localhost/doosolar
Site address (URL):http://localhost/doosolar

(7)为了permalinks在本地也正常运作,需要设置Apache的配置:

  • (7.1) 打开 C:\Apache2.2\conf\httpd.conf 文件;
  • (7.2) 找到:# on the #LoadModule rewrite_module modules/mod_rewrite.so 这一行,将#去掉,使 rewrite 功能有效;
  • (7.3) 找到:Directory “C:/Apache2.2/htdocs” 的部分,里面有一行:AllowOverride None 需要修改为 AllowOverride All
  • (7.4) 保存 C:\Apache2.2\conf\httpd.conf 文件,重新启动Apache服务器。

此七步是最主要的步骤。

此外,如果托管服务器上的站点,采用的新插件后,没有来得及备份数据库,那么在这样的情况下,需要在本地Active这些插件,如此就大功告成了!

在去年10月20日,也写了一篇WP JS, WP CSS使用和WordPress本地备份的总结 里面错怪了 WP JS, WP CSS插件的GZIP功能,其实当时我无法完全导入的问题是没有做上面的(6)步。这里算是更正吧。“进步常常是在错误中进行的”;呵呵。

最后补充一点:如果上面的(6),在wordPress的管理界面,如果在General中,不慎填错了,那么有可能出现导向错误,使你无法进入管理界面了。怎么办,可以修改wp-config.php: 在里面补上:

define('WP_HOME', 'http://www.doosolar.com'); //请将www.doosolar.com换成你的站点url
define('WP_SITEURL','http://www.doosolar.com'); //请将www.doosolar.com换成你的站点url

这是强行设置,可以帮助你回到正确的url中。可能要重新取得一下密码,就可以用了。(我一不小心,修改了托管服务器上面的General的这两项,后来依靠该方法才解决。对WordPress的代码,不太了解,为了保证生效,我加在:/** The name of the database for WordPress */ 之前。)


扩展和联想:

访客的留言(7)

  1. 不错,分析得很精辟!
    但我更想知道的是版主老师怎么从不懂到懂的过程,是如何学习的!

  2. 我写了个程序,定时备份。。

  3. 你是要测验什么么?本地化比较费时费力,用于测试程序可以,再多花心思就不值当了。

    • 是的,被你猜到了:) 邮件回复的自动功能,试了插件,代码,却老是实现不了,让我不得不想要调试程序了。

    • 另外还想追加一些功能,比如相册什么的。想了解一下插件,了解一下wordpress的内部。总之,现在开始想调试调试了。

欢迎留言