/ 中存储网

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

2014-02-24 17:44:01 来源:kejihao

在本地做网站开发或则是学习的时候,常常会碰到要在本地机子上搭好几个网站的问题.这个时候就可以用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 [email protected]

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$

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

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