APACHE环境下同IP多域名虚拟主机的设置方案全攻略(2)[ubuntu 12, linux]

在上一篇内容中, 我们在本地初步测试了实现LAMP环境下的可能性, 离实际部署还有一段距离要走, 不过这一步是完成LAMP成功配置最重要的一步. 下面介绍配置虚拟主机几种情况, 首先, 所谓的虚拟主机,简单说就是同一台服务器可以同时处理超过一个域名(Domain Name)。假设www.yourdomainname.comwww.yourdomainname2.com两个域名都指向同一服务器,APACHE服务器根据一定的规则来辨别各个WEB文件(主要是根据它的配置文件辨别), 从而定位到不同的文件夹内, 那么www.yourdomainname.comwww.yourdomainname2.com可以访问到同一服务器上不同的WEB空间, 从而实现它的多个主机的效果.

再说一下关于: Could not reliably determine the server's fully qualified domain name,这个问题, 相信在大多数朋友都会遇到这个问题, 如下图:

 

出现这个问题不用着急,  一般来说, 本机的IP是127.0.0.1,而这里却是127.0.1.1这样的提示, 那肯定也和本机IP也有一定的关系, 先去HOSTS文件里找一下看, 发现果然在这里有定义: 127.0.1.1  ubuntu, 解决方案就是在/etc/apache2/httpd.conf这个文件里添加这个: ServerName localhost, 保存重启一下, 就会发现这个错误提示没有了.

现在基本上功能都已经具备了, 准备部署到服务器上了, 由于我没有安装FTP服务器, 而这种情况也有相当的普遍性,那就使用Winscp这个软件来上传文件, 配置很简单, 就类似一般的FTP工作, 如果有FTP的话就更好,直接把下载的商城系统(magento)传到服务器上即可. 对于使用Winscp的朋友来说,千万不要将magento.zip解压后再上传, 那样会慢得让人崩溃掉的, 直接传ZIP格式的上去好了, SHELL(也就是终端)是支持ZIP格式的文件的. 传上去后进入SHELL模式, 然后unzip magento命令即可, 当闪烁的行停止后,你就会发现在当前文件夹内出现一个magento文件夹,这个就是安装文件, 然后根据magento的说明文档建立数据库,通过解析好的域名访问通过URL即可成功安装了(具体的安装从略).

至此, 所有的配置圆满完成.

后记: 在操作过程中我还遇到一个极端的情况,就是由于我们的VPS先确定的, 然后把magento顺利安装在虚拟主机里了, 然后在解析的域名, 结果发现, 我们的域名解析成功, 但是在点击它的下一级目录时却自动跳转到http://IP/magento文件夹名的形式, 为了这个问题,纠结了一整天, 从域名系统到VPS,再到虚拟主机, 所有的情况都过了一遍,还是没有找到原因, 后来万般无奈下, 把那个安装文件夹删除, 重新解压一个安装文件, 然后再用域名访问的形式,解决了这个问题. 相信这种情况极少有人遇到过. 只当作个例供参考吧;

Apache服务器还有一个强大的泛域名解析功能, 比如你当你输入yourdomainname.com, 而你想的让自动跳转到www.yourdomainname.com这个域名下,它访问的是同一个文件夹,这个做起来也比较简单:

--------------------------------                泛域名解析配置方案           -----------------------------------------------------------

<VirtualHost *:80>
 ServerAdmin wwufengg@localhost
        ServerName test1.com
        ServerAlias *.test1.com   #用*表示泛域名,如果要接收三级泛域名解析,可以写成这样:*.wwufengg.test1.com
 DocumentRoot /var/www/test1  #一定要注意这个顺序问题,否则有可能产生定位到默认的根目录的错误
 <Directory />
  Options FollowSymLinks
  AllowOverride None
 </Directory>
 <Directory /var/www/test1/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  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 /var/www/test1/error.log

 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn

 CustomLog /var/www/test1/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>

相对于泛域名解析的, 还有一个多个域名解析的应用, 如

 ---------------------------------               多个域名解析配置         --------------------------------------------------------------------------

<VirtualHost *:80>
 ServerAdmin wwufengg@localhost
        ServerName test1.com
        ServerAlias www.test1.com ftp.test1.com mail.test1.com  #不同域名用空格隔开;
 DocumentRoot /var/www/test1
 <Directory />
  Options FollowSymLinks
  AllowOverride None
 </Directory>
 <Directory /var/www/test1/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  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 /var/www/test1/error.log

 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn

 CustomLog /var/www/test1/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>

配置完成后, 千万不要忘记了重启服务器:

/etc/init.d/apache2 restart

然后配置文件就可以生效了. 

 

另外, 不只同一个IP可以配置虚拟主机, 如果你的服务器有两块或者三块网卡,也可能多IP配置多个虚拟主机, 由于没有操作过,  请参考其他的相关文档. 

 上一篇: http://www.cnblogs.com/wwufengg/archive/2012/06/28/ubuntu-apache2-config.html

 

 

 

 

posted @ 2012-06-28 15:13  月影传说  阅读(520)  评论(0编辑  收藏  举报