wordpress网站迁移记录

最近帮公司做企业网站。以前的网站是用asp写的,托管在国内的一家虚拟主机空间上系统是windows。

asp太过古老,而且是windows的系统,所以肯定要把它改成Linux系统的。对于现在的这个企业网站,其日PV不会超过两位数,且网站空间还是用的虚拟主机,所以用Wordpress是最合适不过的了,省时省力。

2年前搞过一段时间的Wordpress,当时都是在windows上做开发,然后也就继续在windows上做公司企业网站了。做了段时间,感觉还是在macbook上开发来的舒服,于是就把做了大半的Wordpress网站搬到macbook上。把过程做个记录。

windows上做Wordpress用的是XAMPP开发环境,换到mac上最简单的办法就是也安装XAMPP/MAMP等集成开发环境,但是mac本身就自带apache+php,所以就不用重复安装了,用自带的就行。

mac自带的PHP版本是5.6,已经比较高了,没必要装PHP7。虽然PHP7性能很好,但是因为虚拟主机肯定不会提供如此高的版本,估计5.6都悬,所以用自带的版本就可以了。

1、启动apache服务

sudo apachectl start

然后访问http://127.0.0.1,如果浏览器显示 It works! 即表明apache工作正常。

2、网站根目录

Mac系统默认友两个目录作为网站根目录。一个是系统级根目录,一个是用户级根目录。

系统级根目录为 /Library/WebServer/Documents/ 对应URL是 http://127.0.0.1

用户级根目录为 ~/Sites 对应URL是 http://127.0.0.1/~USER/ (假设USER为你的用户名)。OS X 10.8以上系统默认没有 ~/Sites 需要自己手动建立。

3、修改配置文件,启用用户级根目录

apache默认配置使用系统级根目录,若要使用用户级根目录需要修改配置文件。

/etc/apache2/users/ 目录下新建文件 USER.conf (USER为你的用户名),输入以下内容,然后保存退出。

<Directory "/Users/USER/Sites/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>

修改权限,并更改用户

sudo chmod 755 /etc/apache2/users/USER.conf
sudo chown root:wheel /etc/apache2/users/USER.conf

必要时也修改 ~/Sites 的权限为755

4、重启apache使新配置文件生效

sudo apachectl restart

现在应该就可以使用用户级根目录了。在 ~/Sites 下新建一个的文件index.php

<?php
echo phpinfo();

然后访问 http://127.0.0.1/~USER/ ,应该就可以看到phpinfo的输出信息了。如果看不到输出信息,则需要修改 httpd.conf 配置文件。

5、修改 httpd.conf 配置文件

打开 httpd.conf

cd  /etc/apache2/
sudo vi httpd.conf

找到下面几行配置,去掉注释,即去掉每行开头的 # ,已经去掉注释的话就不用管了。

LoadModule php5_module libexec/apache2/libphp5.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
Include /private/etc/apache2/extra/httpd-userdir.conf

打开配置文件 /etc/apache2/extra/httpd-userdir.conf

sudo vi /etc/apache2/extra/httpd-userdir.conf

找到以下配置,去掉注释

Include /private/etc/apache2/users/*.conf

此时再重启apache服务就可以正常访问 http://127.0.0.1/~USER/ 了。

mysql之前已经安装过了,这里就不用安装配置了。

6、为了方便再安装一个phpmyadmin

去官网下载程序包,然后解压至 ~/Sites 目录下,并将解压出来的文件夹改名为 phpMyAdmin 。然后在 phpMyAdmin 目录下新建一个 config 目录,并修改权限

chmod o+w ~/Sites/phpmyadmin/config

之后就可以从浏览器中访问phpmyadmin的初始设置页面了: http://127.0.0.1/~USER/phpmyadmin/setup/

如果出现2002 socket错误的话,执行如下shell命令

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

打开页面之后,点击”New server”,在 Basic settings 页面确保 Serverhostname 是 localhost,在 Authentication 配置好登陆用户名和密码,点击保存就可以了。

在你点击保存后,在刚才建立的 config 目录下会生成一个 config.inc.php 文件。将之移动到上一层目录,即 phpMyAdmin 目录下。

这样就将phpmyadmin安装好了。为了安全起见将刚才建立的 config 目录删除。以后就可以通过 http://127.0.0.1/~USER/phpmyadmin/ 来访问phpmyadmin了。

7、迁移Wordpress程序文件

将windows上的整个Wordpress文件夹打包移动到 ~/Sites 目录下即可,假设原Wordpress站点文目录名为 wp。最后设置完成后访问 http://127.0.0.1/~USER/wp/ 就可以打开原Wordpress网站了,原来的设置、插件等都可以完整保留。

8、迁移Wordpress数据库

在原来的windows上用phpmyadmin导出Wordpress的数据库,假设导出的数据库文件为 wp.sql

然后在mac上利用phpmyadmin或者mysql命令行客户端新建一个数据库,并且最好与原Wordpress数据库同名。再在这个数据库内导入刚才得到的文件wp.sql。注意文件编码需要保持一致,否则会产生乱码。

9、修复数据库中的站点地址及图片地址

由于Wordpress中都是采用绝对地址定位的,所以需要修复数据库中的站点地址及图片地址。在修复之前先不要尝试打开站点。

在phpmyadmin里打开Wordpress数据库,点击 SQL 选项卡,输入以下sql语句

UPDATE wp_options SET option_value = replace(option_value,'http://127.0.0.1/wp/','http://127.0.0.1/~USER/wp/') WHERE option_name ='home' OR option_name='siteurl';
UPDATE wp_posts SET guid = REPLACE(guid,'http://127.0.0.1/wp/','http://127.0.0.1/~USER/wp/');
UPDATE wp_posts SET post_content = REPLACE(post_content,'http://127.0.0.1/wp/','http://127.0.0.1/~USER/wp/');

其中 http://127.0.0.1/wp/ 为原windows上的Wordpress站点地址,http://127.0.0.1/~USER/wp/ 为mac上新站点地址。

10、修改Wordpress配置文件

最后我们还需要修改Wordpress配置文件,使之与我们刚才导入的Wordpress数据库关联才行。

打开 ~/Sites/wp 目录下的 wp-config.php 配置文件,修改与数据库相关的那几项就可以了,主要就是下面几项

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wp');

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', 'root');

DB_NAME 是数据库名,DB_USER 是用户名,DB_PASSWORD 是密码。修改成相应值即可。

11、修改apache启动权限

如果在使用Wordpress的过程中遇到权限问题,例如升级的时候,可以修改apache的启动权限。

打开 httpd.conf 找到下面的内容

User _www
Group _www

改成以下内容

User USER
Group staff

其中 USER 为你的用户名。

至此,整个迁移过程就算结束了。写写很多字,其实实际操作的话也就半小时就可以了,过程并不复杂。


CashQian Blog

欢迎来到我的个人博客网站

友情链接

Powered by Python Blog. Copyright © 2016.

www.cashqian.net. All rights reserved.