使用 Apache 服务部署静态网站
命令底色编号:a8c8a8
- 网站服务程序
概述:
web网络服务是指允许用户通过浏览器访问到互联网中各种资源的服务;
web网络服务是一种被动访问的服务程序,即只有接受到互联网中主机发出的请求才相应;
web服务器是通过 HTTP(超文本传输协议)或HTTPS(安全超文本传输协议)把请求内容传送给用户;
提供web网络服务的程序:
IIS,Nginx,Apache等
IIS
是windows中默认的web服务程序,还提供FTP,NMTP,SMTP等服务;
Nginx
轻量级网站服务软件,稳定性及丰富的功能,系统资源消耗低且并发能力强;
Apache
RHEL 5,6,7中系统默认的web服务程序;
跨平台和安全性被广泛认可且拥有快速,可靠,简单的API扩展;
支持的系统:Linux,UNIX甚至 windows系统都支持
支持基于IP,域名及端口号的虚拟主机功能,支持多种认证方式,集成有代理服务器模块,安全socket层(SSL),能实时监视服务状态与定制日志消息;
1:安装Apache:
安装apache服务;
# yum install -y httpd
启用 httpd服务,并设置为开机自启;
# systemctl start httpd
# systemctl enable httpd
2:配置服务文件参数:
httpd服务程序的主要配置文件及存放位置如下:
服务目录: /etc/httpd
主配置文件: /etc/httpd/conf/httpd.conf
网站数据目录:/var/www/html
访问日志: /var/log/httpd/access_log
错误日志: /var/log/httpd/error_log
1)主配置文件
存在三种类型的信息:注释行信息,全局配置,区域配置;
配置 httpd服务时常用的参数:
ServerRoot 服务目录;
ServerAdmin 管理员邮箱;
User 进行服务的用户;
Group 进行服务的用户组;
ServerName 网站服务器的域名;
DocumentRoot 第119行,定义网站数据的保存目录;
Listen 监听的IP地址与端口号;
DirectoryIndex 默认的索引页页面;
Directory 第124行,定义目录权限;
ErrorLog 错误日志文件;
CustomLog 访问日志文件;
Timeout 网页超时时间,默认为300秒;
2)网站默认值:
默认网站数据目录:/var/www/html
默认的网页首页名称:index.html
修改默认首页信息:
# echo “hello,boy” > /var/www/html/index.html
打开浏览器首页显示:http://127.0.0.1
hello,boy
例1:
修改网站数据的保存路径,参数为 DocumentRoot;
A:建立网站数据的保存目录,并创建首页文件;
# mkdir /home/wwwroot
# echo "hello boy" > /home/wwwroot/index.html
B:编辑httpd主配置文件,将第119行定义网站数据保存路径的参数 DocumentRoot修改为 /home/wwwroot;将124行定于目录权限的参数 Directory 后面的路径改为 /homt/wwwroot,完成;
# vim /etc/httpd/conf/httpd.conf
# systemctl restart httpd
C:测试,登录http://127.0.0.1
备注:
测试失败,原因在于 SELinux 安全子系统!
解决方法3种:
1:修改 SELinux的模式为 disable 或 permissive,重启服务器;
2:临时关闭 SELinux的 enforcing模式,重启后恢复默认值;
3:使用semanage修改新保存目录的SELinux上下文的值;
3:SELinux 安全子系统
- 美国安全局在开源社区帮助下开发的强制访问控制的安全子系统;
- 使用SELinux的目的在于让各个服务进程都受到约束,获取本应获取的资源;
- SELinux能够对服务程序的功能进行限制,对文件资源的访问限制,SELinux安全上下文确保文件资源只被其所属的服务程序进行访问;
- SELinux域 和 SELinux安全上下文 是linux系统的双保险;
SELinux服务的三种配置模式:
enforcing:强制启用安全策略模式,将拦截服务的不合法请求;
permissive:遇到服务越权访问时,只发出警告而不强制拦截;
disabled:对于越权的行为不警告也不拦截;
SELinux服务的相关命令:
1:修改SELinux三种模式;
# vi /ect/selinux/config
2:获取当前 SELinux的运行模式信息;
# getenforce
enforcing
3:临时启用或关闭 enforcing模式;
# setenforce [0|1]
Permissive
0为禁用个,1为启用;
备注:
上面 例1 测试的失败,由于修改了网站数据保存路径,导致违反了SELinux的监管原则;默认保存路径与新的保存路径的 SELinux安全上下文值不同;
查看两个路径 SELinux安全上下文值:
# ls -Zd /var/www/html
# ls -Zd /home/wwwroot