用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5690|回复: 3
收起左侧

开发环境中虚拟主机的配置

[复制链接]
发表于 2011-8-31 08:55:44 | 显示全部楼层 |阅读模式
无论是在Windows还是Linux环境下开发,开发者都需要通过浏览器不断调试代码的执行结果是否符合开发预期及开发需求。在浏览器地址栏中输入 localhost/crm (本例以开发CRM系统为例,该项目通过localhost/crm在服务器上进行索引)是所有开发者都很熟悉和了解的方式,但 localhost/crm 方式会导致软件在上传、文件设置以及路径探查等方面与程序最终放置到服务器上的表现不同,有时还会有错误发生,而且多发生在基于 Windows 开发,并放置在 Linux 服务器上部署并应用的情况下。为避免这种情况发生及由此衍生的巨大工作量,无论在 Windows 下还是在 Linux 下,都使用 APACHE 构建开发环境,并且在开发伊始就指定标准的域名,如本文中使用的 http://my.crm.com/ ,而非 localhost/crm 格式下开发程序。
设定 http://my.crm.com/ 格式域名的需以下步骤
1. Windows 下虚拟主机配置方式
(以下为Windows目录格式,且 WEB 服务器软件为 APACHE):
[1] 配置 httpd.conf 文件。位置:Apache\conf\ 目录下
(1) 去除LoadModule vhost_alias_module modules/mod_vhost_alias.so 前的“#”号。
(2) 去除Include conf/extra/httpd-vhosts.conf 前的“#”号。
以上操作完成后,保存 httpd.conf 文件。
[2] 配置 httpd-vhosts.conf 文件。位置:Apache\conf\extra\ 目录下。
httpd-vhosts.conf 文件底部,加入如下代码:
<VirtualHost *:80>
    ServerAdmin spt119@163.com
    DocumentRoot "D:/wwwroot/crm"
    ServerName my.crm.com
</VirtualHost>
(1) ServerAdmin 表示管理员的邮箱地址。这个地址需要与 APACHE 安装时设定的邮箱地址一致。
(2) DocumentRoot 表示应用程序所在位置。注意在 APACHE 的设置目录中,目录位置仍然使用基于 Linux “/”,而不是 Windows “\”
(3) ServerName 表示虚拟主机的域名。本例中设定为 my.crm.com
以上操作完成后,保存 httpd-vhosts 文件。
[3] 配置 hosts 文件。位置:C:\windows\system32\drivers\etc\ 目录下(Windows 2000/XP/2003/Vista/7目录结构相同)。
在文件底部输入:
127.0.0.1        my.crm.com
也可以输入本机IP地址,如:
保存 hosts 文件。
注意:即便输入了本机地址,局域网内其他计算机也无法通过在 hosts 文件中设定的IP地址访问该域名。这是因为该域名是伪域名,并没有在公网DNS服务器上登记备案。如果需要局域网内其他计算机通过指定的IP地址访问该软件,则需要在 HTTP 请求计算机的 hosts 文件中也指定该域名与IP地址(如本例的 192.168.1.11 – my.crm.com)。
192.168.1.11     my.crm.com
[4] 全部操作完成后,重启 APACHE 服务器。
打开文本编辑器,输入如下代码并保存为 phpinfo.php D:\wwwroot 目录下。

?php
  phpinfo();
//end – phpinfo.php
在浏览器地址栏中输入 http://my.crm.com/phpinfo.php ,如果上述操作全部正确,页面会显示如下内容:


2_1 PHP欢迎页面
2. Linux(Ubuntu)下的配置方式
(以下为 Linux 下目录格式,WEB服务器软件为APACHE,操作需要用 root用户身份登录 )。
[1] /etc/hosts 文件修改
在终端输入 sudo gedit /etc/hosts 命令打开hosts文件。在127.0.0.1后绑定要添加到域名,如my.crm.com


2_2 /etc/hosts 文件的修改
[2] /etc/apache2/sites-available 下增加配置文件
root 权限下,新建文件,取名 my.crm.com.conf,如下图。
2_3 my.crm.com.conf文件到位置
my.crm.com.conf 文件中,代码如下:
<VirtualHost *:80>
  ServerName my.crm.com
  DocumentRoot /var/www/crm
  <Directory /var/www/crm/>
    Options All
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>
</VirtualHost>
(1)VirtualHost *:80,表示虚拟主机域名绑定在127.0.0.1上,且APACHE绑定到端口为 80 端口。
(2)ServerName,表示虚拟主机到主机头。在本例中设定到主机头为域名 my.crm.com
(3)DocumentRoot,表示虚拟目录到实际位置,在本例中设定的虚拟主机位置为 /var/www/crm
其他如 <Directory>的设定,请读者参考 APACHE到帮助文件,在此不再赘述。
[3] 终端操作
(1)通过终端激活 my.crm.com.conf 配置,如下图。



2_4 通过终端激活my.crm.com.conf
成功激活后,在/etc/apache2/sites-enabled目录下会将会出现已经激活的 my.crm.com.conf,如下图。


2_5 已激活my.crm.com.conf
(2) 通过终端重启 APACHE 服务器,如下图。
2_6 重启APACHE服务器
(3) 通过域名my.crm.com验证操作是否正确
打开文本编辑器,输入如下代码并保存为 phpinfo.php /var/www/crm/ 目录下。
小提示:
在ubuntu中,APACHE的配置信息不再是 httpd.conf ,取而代之到是分散到 etc/apache2 以及 /usr/share/apache2 等目录中。在此不探讨这种设计到合理性与否,仅提请注意。
在浏览器中输入 my.crm.com/phpinfo.php,将出现如下窗口。


2_7 虚拟主机配置成功界面
至此,在Linux(ubuntu)下配置虚拟主机成功。
发表于 2011-8-31 15:24:10 | 显示全部楼层
楼主。。图挂了。。。。
发表于 2011-11-19 13:18:06 | 显示全部楼层
图挂了
 楼主| 发表于 2012-4-14 12:35:29 | 显示全部楼层
晕倒。在以前的QQ空间里,也把这个文章加进去了,地址如下:
http://user.qzone.qq.com/173884265/main#!app=2&pos=1289525953

本版积分规则