安装、启动与停止Apache服务
安装Apache相关软件
[root@centos7 ~]# rpm -q httpd
[root@centos7-1 ~]# mkdir /opt/centos //创建目录/opt/centos
[root@centos7-1 ~]# mount /dev/cdrom /opt/centos //挂载光盘到/opt/centos 下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos7-1 ~]# mv /etc/yum.repos.d/* /home //移动文件到/home下
[root@centos7-1 ~]# vim /etc/yum.repos.d/local.repo //别忘了制作用于安装的yum 源文件
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[root@centos7 ~]# yum clean all //安装前先清除缓存
[root@centos7 ~]# yum install httpd -y
[root@centos7 ~]# yum install firefox –y //安装浏览器
[root@centos7 ~]# rpm –qa|grep httpd //检查安装组件是否成功
注意:一般情况下,firefox默认已经安装,需要根据情况而定。
启动Apache服务的命令如下(重新启动和停止的命令分别是restart和stop):
[root@centos7 ~]# systemctl start httpd
让防火墙放行,并设置SELinux为允许
(1)使用防火墙命令,放行http服务。
[root@centos7 ~]# firewall-cmd --list-all
[root@centos7 ~]# firewall-cmd --permanent --add-service=http
success
[root@centos7 ~]# firewall-cmd --reload
success
[root@centos7 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh dhcpv6-client samba dns http
……
(2)更改当前的SELinux值,后面可以跟Enforcing、Permissive或者1、0。
[root@centos7 ~]# setenforce 0
[root@centos7 ~]# getenforce
Permissive
注意:利用setenforce设置SELinux值,重启系统后失效,如果再次使用httpd,则仍需重新设置SELinux,否则客户端无法访问Web服务器。如果想长期有效,请修改/etc/sysconfig/selinux文件,按需要赋子SELINUX相应的值(EnforcinglPermissive,或者“0"|“1”)。这里多次提到防火墙和SELinux,请读者一定注意,许多问题可能是防火墙和SELinux引起的,且对于系统重启后失效的情况也要了如指掌。
测试httpd服务是否安装成功
[root@centos7 ~]# systemctl start httpd
[root@centos7 ~]# systemctl enable httpd
[root@centos7 ~]# firefox http://127.0.0.1
图1 Apache服务器运行正常
认识Apache服务器的配置文件
在Linux系统中配置服务,其实就是修改服务的配置文件,httpd服务程序的主要配置文件及存放位置如表1所示。
表1 Linux系统中的配置文件及存放位置
配置文件的名称 |
存放位置 |
服务目录 |
/etc/httpd |
主配置文件 |
/etc/httpd/conf/httpd.conf |
网站数据目录 |
/var/www/html |
访问日志 |
/var/log/httpd/access_log |
错误日志 |
/var/log/httpd/error_log |
Apache服务器的主配置文件是httpd.conf,该文件通常存放在/etc/httpd/conf目录下。文件看起来很复杂,其实很多是注释内容。
httpd.conf文件不区分大小写,在该文件中以“#”开始的行为注释行。除了注释和空行外,服务器把其他的行认为是完整的或部分的指令。指令又分为类似于shell的命令和伪HTML标记。指令的语法为“配置参数名称 参数值”。伪HTML标记的语法格式如下:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
在httpd服务程序的主配置文件中,存在3种类型的信息:注释行信息、全局配置、区域配置。在httpd服务程序主配置文件中,最为常用的参数如表2所示。
表2 配置httpd 服务程序时最常用的参数以及用途描述
参数 |
用途 |
ServerRoot |
服务目录 |
ServerAdmin |
管理员邮箱 |
User |
运行服务的用户 |
Group |
运行服务的用户组 |
ServerName |
网站服务器的域名 |
DocumentRoot |
文档根目录(网站数据目录) |
Directory |
网站数据目录的权限 |
Listen |
监听的IP地址与端口号 |
DirectoryIndex |
默认的索引页页面 |
ErrorLog |
错误日志文件 |
CustomLog |
访问日志文件 |
Timeout |
网页超时时间,默认为300秒 |
从表2中可知,DocumentRoot参数用于定义网站数据的保存路径,其参数的默认值是把网站数据存放到/var/www/html目录中;而当前网站普遍的首页面名称是index.html,因此可以向/var/www/html目录中写入一个文件,替换掉httpd服务程序的默认首页面,该操作会立即生效(在本机上测试)。
[root@centos7 ~]# echo "Welcome To MyWeb" > /var/www/html/index.html
[root@centos7 ~]# firefox http://127.0.0.1
程序的首页内容已经发生了变化,如图2所示。
图2 首页内容已发生改变