最近刚建好自己的博客网站,由于前期没有做好管理设计,后面感觉规范度不够,作为刚建站的新手也许你也有这种感受,虚拟站点跟目录迁移已经是前几天做的事,由于一些原因没有及时记录更新,下面是自己实际中遇到的一些问题:
环境说明:
Ubuntu 14.04 LAMP 64位
WordPress
Discuz!
配置虚拟站点
为什么要配置虚拟站点?假如你希望新建两个站点,或者绑定多域名的时候,这时就需要配置虚拟站点
域名跟服务器绑定好后我们访问域名会看到一个默认页面
由于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 – 有些地方需要特别注意的。
这里是分步介绍:
- 你可以使用以下两种方法之一建立一个新位置:
- 如果要移动你的 WordPress核心文件 到一个新目录,那就新建一个新目录吧。
- 如果你想移动WordPress到你的根目录, 请确保所有的 index.php, .htaccess,以及其他可能要复制的文件已经备份或者转移, 并且根目录已经为新的WordPress文件准备好了。
- 登录到你的博客。
- 进入 管理 > 设置 > 常规 面板.
- 在输入框 WordPress 地址(URL): 中,将地址更改成WordPress核心文件所在的新位置。
- 在输入框 Blog 地址(URL): 把地址改为新位置,要与WordPress 地址 (URI)相符。
- 点击 保存修改.
- (现在先不要试着 打开/查看 你的博客!)
- 只针对 WordPress 2.0 : 删除文件夹 wp-content/cache.
- 将你的核心文件转移至新目录。这包括原始目录中的文件,如 http://example.com/wordpress,以及所有子目录。
- 如果你使用 永久链接, 进入 管理 > 设置 >永久链接 面板,将你的永久链接结构更新到你的 .htaccess 文件中,.htaccess文件应该与 index.php 文件放置在同一个目录下。
- 如果你遇到已上传的图片丢失的问题, 你需要在SQL数据库中更改每篇文章到这个图片的路径。为了这一点,请按照Tamba2’s Tutorial “Moving your weblog inside your PC”说明去做。
- 你还要检查和修改在’设置-其他’中的’文件保存目录’,以确保它是正确的,不然你新上传的文件还是会保存至旧的文件夹下。
- 现有的 ‘图片/媒体’ 链接还是会指向旧的目录,你必须将它们更新至新的位置。
在移动文件之前,设定好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博乐园出品=======================