用Apache架站及虚拟主机完全篇

原创 2004年07月23日 18:19:00

如果您够幸运,有注册了自己的 domain ,还有固定的 IP 地址和 internet 连线,架设一个WWW服务器恐怕是必不可少的事情了吧?就算您还没打算正式连上 internet ,在自己的 intranet 上面能有一个WWW服务器也是非常便利的。现在 internet 上面的网站,大部份都是用 apache 来做服务器。
设定WWW

要设定 apache ,关键的档案都在 /etc/httpd/conf/ 这个目录之内,而我们只需修改三个档案就可以了:
access.conf
httpd.conf
srm.conf

然而,如果您在 access.conf 和 srm.conf 中看到下面字眼:
#
# To avoid confusion, it is recommended that you put all of your
# Apache server directives into the httpd.conf file and leave this
# one essentially empty.
#

那麽,所有的设定都将改在 httpd.conf 进行,这是可能是版本的不同所至。(tips:如果您在参考本例子的时候是用 vi 进行编辑的话,可以用 “ / ”键寻找关键字眼再做修改。)

-- access.conf --

第一个 access.conf档案,用来设定一些目录权限的:
<Directory />
Options None
AllowOverride None
</Directory>

<Directory /home/httpd/virtual/virtual1>
Options Indexes Includes FollowSymLinks
AllowOverride All
order allow,deny
allow from all
</Directory>

在这里,我定义了两个目录(它们必须是已经存在的),当使用者透过 HTTP 连接进来的时候所拥有权限。因为‘/’(根目录)至关紧要,所以我不开放任何 Option,也不容许 Override (在设定後面的 srm.conf 档案时,可以使用‘.htacess’来改变原有目录的权限)。

不过,我却允许在 /home/httpd/virtual/virtual1/ 目录下面使用 index ,也就是在没有预设 index.html (在 srm.conf 中设定) 的时候,会将目录内容显示在流览器上;而‘FollowSymLinks’呢,则允许透过 Symbolic Link 方式连接到此目录外的位置。 同时,在这个目录下,我也允许 AllowOverride All 的设定,这个我将在 srm.conf 里面再解释。

另外,我们还可以特别设定这个目录的连接限制,‘order allow,deny’是先列出允许连接的范围,然後到禁止连接的范围。不过我这里完全开放连接了(allow from all)。但您如果有必要的话,可以在此增加一些 deny 的句子在後面,例如:
allow from all
deny from 203.168.168
至於其他设定,您慢慢看档案上面的说明吧,通常接受预设值就可以了。

-- httpd.conf --

然後,我们看看 httpd.conf 这个档案。前面那些一大堆的‘LoadModule’和‘AddModule’可以不理,除非您真的知道如何修改,您唯一要做的是确定它们的路径正确就可以了。
然後到:

ServerType standalone
这个设定是让 httpd 在开机的时候就启动起来。通常使用这个设定就可以了,除非您想 httpd 以 inetd 的方式启动。

port 80
这个有点好玩,正如我们知道 port 的功能就好像一个 IP 地址的门口,port 80 是 HTTP 这个协定的预设值(在 /etc/services 可以修改),如果您想建立一个秘密网站,只想那些知门而入的朋友流览的话,那麽,将 80 改成其他号码吧,否则,使用预设值好了。

HostnameLookups off
如果您想知道连进您的网站的机器是什麽名字的话,将之设定为‘on’,否则您只会看到 IP 地址而已。

User nobody
Group nobody
这个还是别改啦,您只需确定这个‘nobody’存在於 /etc/passwd 和 /etc/group 里面就可以了。

ServerAdmin root@redhat52.siyongc.domain
您可以将之改成负责管理这个网站的管理者信箱。虽然我这里使用 root ,但我建议您将之改成 webmaster ,然後为 webmaster 建立信箱。

BindAddress *
如果您要架设虚拟主机(後面我就会教您如何做了),可以将前面的“#”拿掉。同时在後面的‘#Listen 12.34.56.78:80’句子(大约在第323行附近)後面把您设定好的虚拟 IP 地址增加上去(包括机器本身的 IP 地址)

Listen 127.0.0.1:80
Listen 192.168.0.17:80
Listen 203.30.35.134:80
Listen 10.11.127.100:8080
Listen 192.168.1.17:80
.....
(虽然,您不设定 BindAddress 和 Listen 也照样可以让虚拟主机工作,但如果您的伺服器还提供 http-proxy 服务,或使用其它的 port 提供其它 httpd 服务,则要进行设定了。)

Apache配置虚拟主机的三种方式

Apache配置虚拟主机的三种方式 一、基于IP 二、基于主机名 三、基于端口 首先在Apache下的htdocs目录下,新建两个目录,test1和test2 每个目录下新建一个测试页面inde...
  • xiaokui_wingfly
  • xiaokui_wingfly
  • 2016年05月23日 14:41
  • 7034

Linux下Apache虚拟主机配置

Linux下Apache虚拟主机配置 虚拟主机技术主要分三种情况 1,一台服务器,多个ip 2,一台服务器,同一个ip,多个域名 3,一台服务器,同一个ip,多个端口 注意...
  • SiuKong_Ngau
  • SiuKong_Ngau
  • 2017年02月09日 13:48
  • 718

Apache配置虚拟主机后,不能访问localhost的问题

今天想试用一下php7,但是发现php7只支持Apache2.4版本,而我电脑上的Apache是2.2版本,为了想尝鲜,就必须去下载新的Apache2.4 php7和apache2.4安装整合以...
  • zhanghao143lina
  • zhanghao143lina
  • 2017年04月26日 19:58
  • 579

Linux环境下Apache配置多个虚拟主机

这样一种场景;我们有一台服务器;但是想挂多个网站;那么Apache下配置虚拟主机可以满足这个需求; 比较简单的是基于主机名的配置步骤如下: 示例环境     ip:115.28.17.191 ...
  • qq_33729889
  • qq_33729889
  • 2017年03月19日 11:06
  • 1658

apache基于端口的虚拟主机配置

同一个服务器只能有一个ip,这样如果在一个服务器上配置多个网站的话,如果用ip访问,访问的时候怎么才能区分你要访问的是哪个网站呢? 这就需要虚拟主机配置了,本文只介绍如何根据端口配置虚拟主机: 需要...
  • u013337743
  • u013337743
  • 2016年05月15日 14:52
  • 3530

MAC为Apache2服务器配置多个虚拟主机

MAC为Apache2服务器配置多个虚拟主机当我们在做项目的时候有时候有时候需要同时操作多个项目,但是apache服务器默认值只提供一个根目录,这时候就比较麻烦了,我们可以通配置多个虚拟主机来实现这个...
  • u014142379
  • u014142379
  • 2016年09月12日 20:35
  • 2694

Apache 配置https虚拟主机

一、安装带ssl的Apache2.2.21 1、安装apache之前需要先检查openssl是否安装完毕,yum list "*openssl*",如果没有用yum安装下即可 2、ap...
  • linuxnews
  • linuxnews
  • 2017年02月25日 23:35
  • 1500

PHP实践之路(二)apache虚拟主机配置

PHP实践之路(目录索引) 一、环境        1)操作系统:windows xp        2)apache2.2 二、背景         当我们在开发项目或者在学习时,总会建立多个项...
  • CYXLZZS
  • CYXLZZS
  • 2013年06月09日 11:07
  • 3517

Apache配置虚拟主机后,不能访问localhost的问题

Apache配置虚拟主机
  • y_server
  • y_server
  • 2016年11月09日 14:24
  • 2106

Apache虚拟主机VirtualHost的目录访问权限

我的Apache默认的虚拟主机目录为“D:\Program Files\Zend\Apache2\htdocsApache”,当添加一个新的虚拟主机VirtualHost的根目录设置成其他分区的时,如...
  • swkiller
  • swkiller
  • 2013年05月17日 09:20
  • 5757
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Apache架站及虚拟主机完全篇
举报原因:
原因补充:

(最多只允许输入30个字)