第十八节
Apache服务
Web网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过HTTP(超文本传输协议)或HTTPS(安全超文本传输协议)把请求的内容传送给用户。目前能够提供Web网络服务的程序有IIS、Nginx和Apache等。
安装并启动http服务
[root@linuxprobe ~]# dnf install -y httpd [root@linuxprobe ~]# systemctl start httpd [root@linuxprobe ~]# systemctl enable httpd
配置服务文件参数
httpd服务程序的主要配置文件及存放位置如表所示。
作用 | 文件名称 |
服务目录 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
网站数据目录 | /var/www/html |
访问日志 | /var/log/httpd/access_log |
错误日志 | /var/log/httpd/error_log |
在httpd服务程序的主配置文件中,存在3种类型的信息:注释行信息、全局配置、区域配置,如图所示。
全局配置参数是一种全局性的配置参数,可作用于所有的子站点,既保证了子站点的正常访问,也有效降低了频繁写入重复参数的工作量。区域配置参数则是单独针对每个独立的子站点进行设置的。
配置httpd服务程序时最常用的参数以及用途描述如表所示
参数 | 作用 |
ServerRoot | 服务目录 |
ServerAdmin | 管理员邮箱 |
User | 运行服务的用户 |
Group | 运行服务的用户组 |
ServerName | 网站服务器的域名 |
DocumentRoot | 网站数据目录 |
Listen | 监听的IP地址与端口号 |
DirectoryIndex | 默认的索引页页面 |
ErrorLog | 错误日志文件 |
CustomLog | 访问日志文件 |
Timeout | 网页超时时间,默认为300秒 |
修改网站数据
在默认情况下,网站数据保存在/var/www/html目录中,如果想把保存网站数据的目录修改为/home/wwwroot目录,该怎么操作呢?
第1步:建立网站数据的保存目录,并创建首页文件。
[root@linuxprobe ~]# mkdir /home/wwwroot [root@linuxprobe ~]# echo "The New Web Directory" > /home/wwwroot/index.html
第2步:修改httpd服务程序的主配置文件。
[root@linuxprobe ~]# vim /etc/httpd/conf/httpd.conf ………………省略部分输出信息……………… 117 # 118 # DocumentRoot: The directory out of which you will serve your 119 # documents. By default, all requests are taken from this directory, but 120 # symbolic links and aliases may be used to point to other locations. 121 # 122 DocumentRoot "/home/wwwroot" 123 124 # 125 # Relax access to content within /var/www. 126 # 127 <Directory "/home/wwwroot"> 128 AllowOverride None 129 # Allow open access: 130 Require all granted 131 </Directory> 132 133 # Further relax access to the default document root: 134 <Directory "/home/wwwroot"> ………………省略部分输出信息………………
第3步:配置selinux
网站数据默认是存放在/var/www/html中,更改存放位置需要配置selinux。或者关闭selinux。
[root@linuxprobe ~]# ls -Zd /var/www/html drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html [root@linuxprobe ~]# ls -Zd /home/wwwroot drwxrwxrwx. root root unconfined_u:object_r:home_root_t:s0 /home/wwwroot [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/* [root@linuxprobe ~]# restorecon -Rv /home/wwwroot/ //restorecon命令将设置好的SELinux安全上下文立即生效//