linux-Apache服务部署

不羁岁月 提交于 2020-03-15 01:49:35

今天学习Apache服务部署静态网站,现将学习和使用过程进行记录。

一、简单的httpd服务配置

1.首先配置本地yum源。

编辑yum配置文件 

[root@localhost 20]# vim /etc/yum.repos.d/rhel.repo 

[rhel]  ####yum源的唯一标识符,不能重复
name=rhel7##yum源描述信息
baseurl=file:///media/cdrom 本地yum 源文件地址
enabled=1###设置此源是否可用,1为可用,0为禁用
gpgcheck=0###设置此源是否校验文件,1为校验,0为不校验

2.安装apache服务程序

yum install -y httpd

安装完成后将httpd加入开机启动项中

systemctl enable httpd

3.配置httpd服务程序的配置文件

httpd的配置文件

服务目录 /etc/httpd
主配置文件 /etc/httpd/conf/httpd.conf
网站数据目录 /var/www/html
访问日志 /var/log/httpd/access_log
错误日志 /var/log/httpd/error_log

 

  配置httpd服务程序时最常用的参数以及用途描述

ServerRoot 服务目录
ServerAdmin 管理员邮箱
User 运行服务的用户
Group 运行服务的用户组
ServerName 网站服务器的域名
DocumentRoot 网站数据目录
Directory      网站数据目录的权限
Listen 监听的IP地址与端口号
DirectoryIndex 默认的索引页页面
ErrorLog 错误日志文件
CustomLog 访问日志文件
Timeout 网页超时时间,默认为300秒

# 创建保存网站数据的目录

mkdir /home/wwwroot -p

echo "The Test for HTTPD" >/home/wwwroot/index.html

更改配置文件中的DocumentRoot和Directory路径为/home/wwwroot

vim /etc/httpd/conf/http.conf

4.由于更改了默认的DocumentRoot路径,且selinux为开启状态,需要对新建的目录进行安全上下文设置

semanage命令

-l参数用于查询;

-a参数用于添加;(其实在实验中结果为修改作用)

-m参数用于修改;

-d参数用于删除。

 设置安全上下文

[root@localhost 20]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot

[root@localhost 20]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*

#######此处wwwroot目录后不能加‘/’,否则会出现问题

或者使用

[root@localhost 20]# semanage fcontext -a -t httpd_sys_content_t  '/home/wwwroot(/.*)?'

设置完成后使用restorecon 命令对设置生效

[root@localhost 20]# restorecon -Rv /home/wwwroot/

5.重启httpd服务

systemctl restart httpd

二、配置基于端口号的web服务

1.创建网站服务目录,并写入index文件

[root@localhost 20]# mkdir /home/wwwroot/{6666,8888}
[root@localhost 20]# echo "66666666666666666">../6666/index.html
[root@localhost 20]# echo "888888888888888888888">../8888/index.html

2.编辑配置文件

[root@localhost 20]# vim /etc/httpd/conf/httpd.conf

listen 6666
listen 8888
<VirtualHost *:6666>
DocumentRoot /home/wwwroot/6666
ServerName www.chb.com
<Directory /home/wwwroot/6666 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:8888>
DocumentRoot /home/wwwroot/8888
ServerName www.chb.com
<Directory /home/wwwroot/8888 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
 

3.对网站目录设置安全上下文并立即生效

ls -ldZ /home/wwwroot/6666 ###查看目录的安全上下文的值

[root@localhost 20]# semanage fcontext -a -t httpd_sys_content_t '/home/wwwroot/6666(/.*)?'
[root@localhost 20]# semanage fcontext -a -t httpd_sys_content_t '/home/wwwroot/8888(/.*)?'
[root@localhost 20]# restorecon -Rv /home/wwwroot/6666/ /home/wwwroot/8888/
 

4、由于新增的端口为6666 8888不是selinux中允许的httpd端口,所以需要对其进行安全域的设置

查找selinux允许的默认端口号

[root@localhost 20]# semanage port -l|grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
[root@localhost 20]# 
 

发现没有6666和8888,将这两个端口添加,添加后会立即生效

[root@localhost 20]# semanage port -a -t http_port_t -p tcp 6666
[root@localhost 20]# semanage port -a -t http_port_t -p tcp 8888
[root@localhost 20]# semanage port -l |grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      8888, 6666, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
 

5.重新启动httpd的服务程序,网站内容即可浏览

systemctl restart httpd

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!