☛ 安装必要套件

Apache 伺服器在 CentOS 中的套件名称是 httpd,主机应先安装以下两个套件:

① httpd

Apache 伺服器主要套件,提供主要的设定档、模组、执行档等。

② httpd-tools

权限验证的账号密码工具。

利用 rpm 指令检查以上套件是否已安装,若已安装则应显示二个套件:

[root@localhost ~ ]# rpm -qa | grep httpd
httpd-2.4.6-45.el7.centos.x86_64
httpd-tools-2.4.6-45.el7.centos.x86_64

若无上述套件,以 yum 指令安装:

[root@localhost ~ ]# yum -y install httpd httpd-tools

httpd 套件有几个重要的目录与档案,针对伺服器管理工作有关的档案与其功能,描述如下:

① 主目录 /etc/httpd

apache 主要安装目录,目录下有设定档目录 conf/ 、记录档目录等,实际放置的目录并不一定在此目录下,像记录档目录 logs/ 是个连结,实际记录档目录是 /var/log/httpd/ 。

② 设定档 /etc/httpd/conf/httpd.conf

apache 的主要设定档,所有和伺服器运作有关的设定值都放在这个文字档中。

③ 附加设定档放置目录 /etc/httpd/conf.d/

除了主设定档 httpd.conf 之外,此目录下副档名为 .conf 的设定档的内容都会被引入主设定档,这个设计强化了设定档的模组化,不用在主设定档的众多设定值中搜寻,反之可以更容易找到相关功能的设定值。

④ 记录档 /etc/httpd/logs/

此目录是个连结,存放 apache 的记录档 ( 日志 log ),实际存放位置是 /var/log/httpd/ 目录,主要记录档有存取记录 access_log 与错误记录档 error_log 。

⑤ 模组目录 /etc/httpd/modules/

编译好的模组档会放在 modules 目录下,当 apache 启动时,会依照设定档 ( httpd.conf ) 的 LoadModule 指令将这目录下的模组载入至 apache 中,并提供模组特定的功能 。

⑥ 网页根目录 /var/www/html/

网页档案放置目录,此目录下的档案与目录会对应为公开网址上的根目录。

☛ 启动 Apache

Apache 安装完成后,会将其服务执行程式放在 /usr/sbin/ 中,成为系统的服务之一,服务名称为 httpd 。虽然已经放置服务程式了,但系统在开机时并不会自动启动 httpd 服务,因此,除启动服务外,也要利用 systemctl 指令设定系统开机时,自动启动 httpd 。

利用 systemctl 指令启动 httpd 服务:

[root@localhost ~ ]# systemctl start httpd.service

系统设定开机时启动 httpd 服务:

[root@localhost ~]# systemctl enable httpd.service
ln -s '/usr/lib/systemed/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'

☛ 防火墙允许网页伺服器通过

CentOS 安装完成后预设是开启防火墙功能,且只允许 SSH 连线 ( TCP , port 22 ) 进入主机,要让外部电脑使用浏览器可连入主机,要先将防火墙功能关闭,或者保留防火墙启用但自订让网页连线限制通过。

[root@localhost ~ ]# firewall-cmd --add-service=http --permanent
success
[root@localhost ~ ]# firewall-cmd --reload
success

关闭 SELinux 有关使用者家目录网页伺服器的存取限制:

setsebool -P httpd_enable_homedirs=1

☛ 伺服器的行程限制

CentOS 7 开始即使用 Apache 2.4 版为它的预设网页伺服器套件,在其设定档中并未设定这些有关伺服器调校的设定值,可在 /etc/httpd/conf.modules.d/00-mpm.conf 档的最后加入设定。伺服器调校设定参考如下:

<IfModule mpm_prefork_module>
   StartServers            8
   MinSpareServers         5
   MaxSpareServers        20
   ServerLimit           256
   MaxClients            256
   MaxRequestsPerChild  4000
</IfModule>

说明:

当伺服器启动时产生 8 个行程来服务,服务过程中,最少保持 5 个行程,最多不超过 20 个行程。伺服器在同一时间最多服务 256 个用户连线要求,由用户端衍生出的最高总要求数为 4000 个要求。

修改设定档后,需重新启动 httpd 服务:

[root@localhost ~ ]# systemctl restart httpd