第10章 使用Apache服务部署静态网站
Apache服务程序 < ---- > httpd软件包 : 提供网站(web)服务
- 配置服务文件参数
Linux系统中的配置文件
| 作用 | 文件名称 |
| 服务目录 | /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 | 网站数据目录 |
| Listen | 监听的IP地址与端口号 |
| DirectoryIndex | 默认的索引页页面 |
| ErrorLog | 错误日志文件 |
| CustomLog | 访问日志文件 |
| Timeout | 网页超时时间,默认为300秒 |
- SELinux安全子系统
getenforce命令获得当前SELinux服务的运行模式
setenforce [0|1]命令修改SELinux当前的运行模式(0为禁用,1为启用)。注意,这种修改只是临时的,在系统重启后就会失效
ls -ldZ 文件目录 查看目录的安全上下文 。ls命令中“-Z”参数用于查看文件的安全上下文值,而“-d”参数代表对象是个文件夹。
semanage命令用于管理SELinux的策略,英文全称为:“SELinux manage”,语法格式为:“semanage [参数] [文件]
restorecon命令将设置好的SELinux安全上下文立即生效
- 个人用户主页
修改配置文件
vim /etc/httpd/conf.d/userdir.conf
第17行的UserDir disabled参数前面加上井号(#),表示让httpd服务程序开启个人用户主页功能;
第24行的UserDir public_html参数前面的井号(#)去掉(UserDir参数表示网站数据在用户家目录中的保存目录名称,即public_html目录)
使用getsebool命令查询并过滤出所有与HTTP协议相关的安全策略。其中,off为禁止状态,on为允许状态。
setsebool命令来修改SELinux策略中各条规则的布尔值了。大家一定要记得在setsebool命令后面加上-P参数,让修改后的SELinux策略规则永久生效且立即生效
让通过身份验证的用户访客看到里面的内容
先使用htpasswd命令生成密码数据库。-c参数表示第一次生成;后面再分别添加密码数据库的存放文件,以及验证要用到的用户名称(该用户不必是系统中已有的本地账户)

继续编辑个人用户主页功能的配置文件/etc/httpd/conf.d/userdir.conf。把第31~37行的参数信息修改成下列内容
<Directory "/home/*/public_html">
32 AllowOverride all
#刚刚生成出的密码验证文件保存路径
33 authuserfile "/etc/httpd/passwd"
#当用户访问网站时的提示信息
34 authname "My privately website"
#验证方式为口令模式
35 authtype basic
#访问网站时需要验证的用户名称
36 require user linuxprobe
37 </Directory>


虚拟网站主机功能
基于IP


http服务主要配置文件/etc/httpd/conf/httpd.conf配置:
<VirtualHost 192.168.130.10>
DocumentRoot /home/www/10
ServerName www.xx00.com
<Directory /home/www/10>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

重启httpd服务
systemctl restart httpd



基于主机域名
vim /etc/hosts


http服务主要配置文件/etc/httpd/conf/httpd.conf配置:
162 <VirtualHost 192.168.130.10>
163 Documentroot /home/www/tangh
164 ServerName www.tanghua.com
165 <Directory /home/www/tangh>
166 AllowOverride None
167 Require all granted
168 </Directory>
169 </VirtualHost>

重启httpd服务
systemctl restart httpd



基于端口号
Apache的访问控制(指定浏览器)
浙公网安备 33010602011771号