Linux系统下Apache本地虚拟主机站点的配置方法 - Apache - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > Web服务器 > Apache

Linux系统下Apache本地虚拟主机站点的配置方法

发布时间:2013-11-20 来源:服务器之家

在本地做网站开发或则是学习的时候,常常会碰到要在本地机子上搭好几个网站的问题.这个时候就可以用apache的虚拟主机来解决了.
最近在linux下面新装的apache跟原来在windows下面的有一些区别,apache的配置文件大致在这个目录下:
KIE40:~$ ls -F /etc/apache2

apache2.conf  conf.d/  envvars  httpd.conf  magic  mods-available/  mods-enabled/  ports.conf  sites-available/  sites-enabled/

这里跟虚拟主机有关的是这么几个文件:
1.ports.conf 这是其中的一个配置文件,这里面设置了虚拟主机名称和监听端口:
NameVirtualHost *:80

Listen 80

有于这里已经设置了NameVirtualHost,所以后面就不要重复它了.
2.此外还有两个目录:
sites-available:这个目录下放的是可用的站点的配置,
sites-enabled:这个目录下方的是会被加载的站点的配置文件,仔细观察可以发现这里面的文件其实是sites-available目录下的文件的一个软链接而已.在apache启动的时候,sites-enabled目录下的所有配置文件都会被加载.
3./etc/hosts
这个文件相当于我们在windows里面Windows/System32/drivers/etc/下的hosts文件
为了能通过后面设置的ServerName访问到本地机子上的站点,需要在hosts文件里加上IP 地址和ServerName的关联,如:
127.0.0.1 www.example.com

接下来开始配置:
一,在sites-available目录下创建一个新的站点配置文件,如:example
KIE40:/etc/apache2/sites-available$ ls

default  default-ssl  example
二,打开example这个文件,写入下面这段内容:
<VirtualHost *:80>

        ServerAdmin webmaster@localhost

        ServerName www.example.com

        DocumentRoot /var/www/example
        <Directory /var/www/example>

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

        </Directory>

        ErrorLog /var/log/apache2/example_error.log

        # Possible values include: debug, info, notice, warn, error, crit,

        # alert, emerg.

        LogLevel warn

        CustomLog /var/log/apache2/example_access.log combined

</VirtualHost>

其中:
ServerAdmin是网站管理员的邮箱
ServerName 是虚拟主机的名称,也就是我们输入浏览器地址栏访问的地址
DocumenRoot 是网站的目录,linux下默认把网站放在/var/www目录下
<Directory /var/www/example>

</Directory>是网站目录的一些访问等的设置
ErrorLog 设定错误日志的位置
LogLevel 设定错误日志的控制等级
CustomLog 设定服务器请求日志文件的名称和格式
其中ServerName和DocumenRoot是一定要设置的.

三,将example站点”激活”
KIE40:/var/www/example$ sudo a2ensite example

Enabling site example.

Run '/etc/init.d/apache2 reload' to activate new configuration!

此时到/etc/apache2/sites-enabled目录下面可以看到一个名为wxample的链接文件:
KIE40:/etc/apache2/sites-enabled$ ls -al

总用量 8

drwxr-xr-x 2 root root 4096 2011-11-24 19:09 .

drwxr-xr-x 7 root root 4096 2011-11-24 18:34 ..

lrwxrwxrwx 1 root root   26 2011-10-29 12:20 000-default -> ../sites-available/default

lrwxrwxrwx 1 root root   26 2011-11-24 19:09 example -> ../sites-available/example

四,设置hosts文件
KIE40:~$ sudo vim /etc/hosts

127.0.0.1       localhost

127.0.1.1       KIE40

127.0.0.1       www.example.com

# The following lines are desirable for IPv6 capable hosts

::1     localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

五,最后步重启Apache.
重启apache的时候注意两点:
1.进入到apache2目录下执行restart命令
2.用sudo执行,因为80端口需要root权限才能监听.
KIE40:~$ cd /etc/init.d

KIE40:/etc/init.d$ sudo ./apache2 restart

 * Restarting web server apache2                                                                                                                                         ... waiting                                                                                                                                                     [ OK ]

KIE40:/etc/init.d$

六,不出意外的话新站点就可以访问了.当然不同版本,不同系统,其本身的配置文件都有所差异,所以不一定一次就配成功,不过主要步骤大致是这样的.

=================