首页 » Network » Apache » 为Apache配置多站点

为Apache配置多站点

作者: lesca 分类: Apache, HTTP, Network, PHP, Tutorials 发布时间: 2011-10-30 17:38 ė浏览 7,091 次 61条评论

安装了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技术宅,转载时请注明出处及相应链接。

本文永久链接: http://lesca.me/archives/quick-config-apache-webserver.html

1 Comment

  1. yuqinn 2015-04-19 at 14:42 回复

    请问在只有一个IP的前提下也能通过此种方法设置多站点吗??

Leave a Reply

Your email address will not be published. Required fields are marked *

Ɣ回顶部