Apache:创建多个站点
通常在本地计算机上创建网站作测试用时,会遇到诸如 http://localhost/projecta 之类的网址,但如果换用更自由的 http://projecta 不是更好吗?
设置假的主机名
可以在系统的hosts文件中设置假的主机名,Windows的位于 C:\Windows\System32\drivers\etc,而Linux的位于 /etc/hosts,通过用记事本等编辑文本工具打开并添加:
127.0.0.1 projecta # 诸如此类,每行一个 ...
保存后可以通过 ping 命令查看是否生效。
配置Apache
配置Apache就要打开Apache安装目录下的 httpd.conf 编辑,Windows的可在开始菜单中可以轻易找到一项”Edit the Apache httpd.conf Configuration File”,能快速打开该文件。
下面以Windows为例(对于Linux只是路径写法不同),http://localhost/ 将访问位于 D:/projectb 的网站,http://projecta/ 则是访问位于 C:/projecta 的网站,如此类推:
<Directory "D:/projectb">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "C:/projecta">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
NameVirtualHost 127.0.0.1:*
<VirtualHost projecta>
DocumentRoot "C:/projecta"
ServerName projecta
</VirtualHost>
<VirtualHost localhost>
DocumentRoot "D:/projectb"
ServerName localhost
</VirtualHost>
设置完成后,重启Apache服务即可查看是否生效(另外最好同时清理浏览器缓存等内容)。上述内容对于Apache 2.x有效,对于1.x,NameVirtualHost 可省略,<VirtualHost projecta> 可写成 <VirtualHost *>。
参考:Setting Up Multiple Apache Local Web Sites On Your Computer (1.3.x) and 2.0.x
Ubuntu/Debian
在Ubuntu/Debian上apache的配置文件分配在多个文件中,包括ports.conf和sites-available文件夹内的文件,所以设置apache会有点不同。
如创建一个网址为http://mysite/的在/home/user/mysite的网站,首先 sudo nautilus /etc/apache2/sites-available,在sites-available下创建一个文件,以“mysite”命名,输入
<VirtualHost *:80>
ServerName mysite
DocumentRoot /home/user/mysite
<Directory /home/user/mysite/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
</VirtualHost>
打开sites-available的default文件,然后为其定义多一个 ServerName localhost,完成后sudo a2ensite mysite,再用 sudo /etc/init.d/apache2 restart 重启一下。
No related posts.
