虚拟站点多域名配置+博客搬家迁移

最近刚建好自己的博客网站,由于前期没有做好管理设计,后面感觉规范度不够,作为刚建站的新手也许你也有这种感受,虚拟站点跟目录迁移已经是前几天做的事,由于一些原因没有及时记录更新,下面是自己实际中遇到的一些问题:

环境说明:

Ubuntu 14.04 LAMP 64位

WordPress

Discuz!

配置虚拟站点

为什么要配置虚拟站点?假如你希望新建两个站点,或者绑定多域名的时候,这时就需要配置虚拟站点

域名跟服务器绑定好后我们访问域名会看到一个默认页面

It works!

由于Ubuntu14.04下面网站默认根目录变为/var/www/html,这不影响我们部署站点,如果还是想用/var/www作为网站根目录,需要修改Apache的一些配置文件,具体操作可以Google,不做叙述,这里我采用系统默认目录。

第一个站点是www.test.com为博客主页,第二个站点bbs.test.com作为论坛(依次推算,我们还可以建立其他站点),多域名绑定也一样。

配置域名

去域名提供商那里将域名test.com的A记录添加到你主机IP

程序目录

博客采用WordPress,论坛用Discuz!,论坛下载UTF-8版本,目录名字自己改

www.test.com对应目录:/var/www/html/wordpress
bbs.test.com对应目录:/var/www/html/bbs

将解压好的程序上传到对应目录,现在浏览器访问www.test.com/wordpress跟www.test.com/bbs就可以看到相应程序安装界面了,但这不是我们想要的效果!

多域名配置

添加站点目录文件,可以自己创建或者复制系统默认文件修改,这里我使用系统默认文件修改

为站点www.test.com添加配置文件

#cd /etc/apache2/sites-available/
#cp 000-default.conf www.test.com.conf
#vi www.test.com.conf

修改增加以下内容

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.test.com
    ServerAlias test.com
    DocumentRoot /var/www/html/wordpress
</VirtualHost>

为站点bbs.test.com添加配置文件

#cd /etc/apache2/sites-available/
#cp 000-default.conf bbs.test.com.conf
#vi bbs.test.com.conf

修改增加以下内容

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName bbs.test.com
    DocumentRoot /var/www/html/bbs
</VirtualHost>

现在需要禁用默认站点

#a2dissite 000-default.conf

接着启用刚配置好的站点配置

#a2ensite www.test.com.conf
#a2ensite bbs.test.com.conf

操作完成后需要重新加载Apache

#service apache2 restart

在/etc/apache2/sites-enabled/可以看到刚才添加的配置文件链接。

 修改程序权限

此时,开始安装程序发现会报错,因为程序宿主是root,Apache不能正常读写,这时就需要修改程序宿主

#chown -R www-data:www-data /var/www/html/wordpress
#chown -R www-data:www-data /var/www/html/bbs
#service apache2 restart

至此,虚拟站点配置安装完成。

目录迁移

当时博主遇到的一个情况是,虚拟站点还没有配置,博客主页只能www.test.com/wordpress访问,这样很不爽,并且我想要博客目录叫blog,但是如果只是在虚拟站点配置文件里修改为博客根目录的话会出现404找不到之前发表的文章,文章路径不对,又不想重新安装配置博客,怎么办?

WordPress对博客搬家目录迁移还是比较方便的,主要参考官方中文文档:

对大多数安装设置的简单回答:

  • 如果数据库和URL保持不变,你只需复制你的文件和数据库即可。
  • 如果数据库和用户名发生变化,编辑 wp-config.php ,确保已将它设置为正确的属性值。
  • 如果你想在转移之前测试一下, 你必须临时改变一下数据库表项”wp_options”中的”siteurl” 和 “home”值(可以通过类似phpMyAdmin的工具修改)。
    如果你设置了任何的rewrites (永久链接),你需要禁用 .htaccess , 成功设置后再重新配置永久链接。

在你的站点中转移WordPress

将WordPress文件从你的服务器上的某处转移至另一处 – 改变它的URL – 有些地方需要特别注意的。

这里是分步介绍:

  1. 你可以使用以下两种方法之一建立一个新位置:
    1. 如果要移动你的 WordPress核心文件 到一个新目录,那就新建一个新目录吧。
    2. 如果你想移动WordPress到你的根目录, 请确保所有的 index.php, .htaccess,以及其他可能要复制的文件已经备份或者转移, 并且根目录已经为新的WordPress文件准备好了。
  2. 登录到你的博客。
  3. 进入 管理 > 设置 > 常规 面板.
  4. 在输入框 WordPress 地址(URL): 中,将地址更改成WordPress核心文件所在的新位置。
  5. 在输入框 Blog 地址(URL): 把地址改为新位置,要与WordPress 地址 (URI)相符。
  6. 点击 保存修改.
  7. (现在先不要试着 打开/查看 你的博客!)
  8. 只针对 WordPress 2.0 : 删除文件夹 wp-content/cache.
  9. 将你的核心文件转移至新目录。这包括原始目录中的文件,如 http://example.com/wordpress,以及所有子目录。
  10. 如果你使用 永久链接, 进入 管理 > 设置 >永久链接 面板,将你的永久链接结构更新到你的 .htaccess 文件中,.htaccess文件应该与 index.php 文件放置在同一个目录下。
  11. 如果你遇到已上传的图片丢失的问题, 你需要在SQL数据库中更改每篇文章到这个图片的路径。为了这一点,请按照Tamba2’s Tutorial “Moving your weblog inside your PC”说明去做。
  12. 你还要检查和修改在’设置-其他’中的’文件保存目录’,以确保它是正确的,不然你新上传的文件还是会保存至旧的文件夹下。
  13. 现有的 ‘图片/媒体’ 链接还是会指向旧的目录,你必须将它们更新至新的位置。

在移动文件之前,设定好URI位置是非常重要的。

如果你在更改URIs之前不小心移动了文件,别担心。假设文件本来的路径是 /path/to/old/ ,而你在更改URIs前将他们移至 /path/to/new 。 修正上述问题的方法把 /path/to/old/ 设定为转到/path/to/new/的symlink (对于 Windows 用户来说, “symlink” 等同于”快捷方式”)。

#ln -s /path/to/new /path/to/old

然后像平时那样按照 上述方法 来做一遍。最后如果你愿意的话可以删除symlink。

现在你已经完成了所有步骤了。 测试一下你的网站,并确保它可以正常工作了。如果更改涉及到你的新blog网址,要让人们知道这个新网址哦。并且考虑一下在.htaccess文件中添加一些转向内容来引导访客到新的网址。

至此,博客搬家迁移也完成了。

PHPmyadmin

什么,还有问题?

对,还没完,还有一点问题。这时如果我们去访问PHPmyadmin时发现找不到目标地址。这是因为虚拟目录站点没有PHPmyadmin的软链接,解决方法很简单

#ln -s /usr/share/phpmyadmin/ /var/www/html/blog/
#ln -s /usr/share/phpmyadmin/ /var/www/html/bbs/

现在试试看吧!

终于完了!这些是我实际使用中遇到的问题,由于“新手驾车”还有不对跟没注意到的地方,希望各位看官留言交流O(∩_∩)O~

参考文献

Ubuntu中文wiki:http://wiki.ubuntu.org.cn/Vps

WordPress中文文档:WordPress 博客搬家

声明:转载请注明原文链接虚拟站点多域名配置+博客搬家迁移

=======================记录生活,分享快乐|igray博乐园出品=======================

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据