为Apache配置多站点
在安装了LAMP之后需要进行一些配置,下面介绍如何快速配置一个站点。
1.修改hosts,映射一个域到本机
$sudo vi /etc/hosts 127.0.0.1 localhost 127.0.0.1 blog 127.0.0.1 test ...
2.修改Apache配置文件
粗体部分表示需要修改的
$ cd /etc/apache2/sites-available/ $ sudo cp default blog <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName blog DocumentRoot /home/lesca/website/php/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/lesca/website/php/> Options Indexes FollowSymLinks MultiViews AllowOverride all 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 /home/lesca/website/php/log/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /home/lesca/website/php/log/access.log combined </VirtualHost>
出现在尖括号中的指令(directives)的作用通过名字就能够大概了解,但是他们出现的结构和顺序有时候很有讲究,具体可以查阅Apache的相关手册:Apache 2.2 docs
3.启用站点
从第一步开始,贯穿始终的就是一个名字blog,这里仍然需要这个名字。
$ sudo a2ensite blog [sudo] password for lesca: Site blog already enabled Run '/etc/init.d/apache2 reload' to activate new configuration! $ sudo /etc/init.d/apache2 reload * Reloading web server config
还有另一种等效的方法
$ cd /etc/apache2/sites-enabled/ $ sudo ln -s ../sites-available/ blog $ sudo /etc/init.d/apache2 reload
这样就好了。在确保DocumentRoot
所指定的目录下有index文件的情况下,在浏览器中输入http://blog就能访问了。
4.禁用站点
和上面一样,只是a2ensite
变成了a2dissite
另外一种方法是在/etc/apache2/sites-enabled/中直接删除符号链接,然后reload
增加其他站点
如果你需要增加其他站点,那么可以回到第一步,增加一个名字,比如test
当然,比较正规的命名方法是test.local
如果你是网络上的计算机,并且期望有人能访问到你,那么应该给一个正规的名字,比如example.com
版权声明
本文出自 Lesca 技术宅,转载时请注明出处及相应链接。
本文永久链接: https://www.lesca.cn/archives/quick-config-apache-webserver.html
yuqinn
2015-04-19 at 14:42
请问在只有一个IP的前提下也能通过此种方法设置多站点吗??