因为原来的Godaddy服务器实在太慢,于是去DigitalOcean租了一台VPS,5刀/mo,还算便宜,流量1TB/mo。。。
但是迁移的时候出了一些问题,比如:wordpress的Permalink失效,VHost设置出错。。。

但最终还是解决了。。。下面是步骤
Step 1:安装apache2和mysql,php5,phpMyAdmin

Step 2:转移MySQL和服务器文件
从Godaddy的服务器上打包了所有文件,备份了数据库到本地。
再把打包好的zip传上去,用unzip解压到/var/www

Step 3:设置VHosts
这部分我在网上找了半天,结果都是针对apache 2.2以前版本的。
但我这里是Apache 2.4版,所以就出现了打开httpd.conf出来一个空文件的问题。
一定要注意在2.4版里,httpd.conf变成了apache2.conf。
那么如何设置VHost呢?
在/etc/apache2/下有这样几个文件:
apache2.conf conf.d envvars httpd.conf magic mods-available mods-enabled ports.conf sites-available sites-enabled
我们首先打开apache2.conf,在最后添加这样一行:
Include /etc/phpmyadmin/apache.conf
然后访问 你的服务器/phpmyadmin,用phpMyAdmin导入备份的数据库。

我原来的服务器上有三个站,www,b,c
分别在www,和www的b,c两个个子目录下,所以我们先切换到sites-available目录下,ls:
default default-ssl
打开default,内容是这样的:

<VirtualHost *:80>
ServerAdmin [email protected]

DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

Possible values include: debug, info, notice, warn, error, crit,

alert, emerg.

LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>
我们在开头加上
ServerName 你的主站网址
ServerAlias 你的主站的其他网址(比如没有www前缀的)
然后把ServerAdmin后的e-mail改成你的。

下面就是其他站的设置啦~
在site-available里面创建两个文件b,c
把default复制一份过来
改一下路径和Server地址,保存。

记得如果你需要使用.htaccess的话,一定要把DocumentRoot的AllowOverride属性设置成 All

之后执行
a2ensite a
a2ensite b
service apache2 restart
站点就上线了~

但这时出了一点问题,Wordpress的Permalink(mod_rewrite实现的)失效了。。。
为什么呢?
调了一下午,发现是.htaccess的问题
我的.htaccess是从原服务器上直接转移的,虽然内容没有错误,但是权限有问题,导致apache报HTTP 500错误。。。
删除.htaccess后重建新的.htaccess,配置之后问题解决~

努力学习ing,加油~