######################
###### apache ########
######################
##1.apache
#企业中常用的web服务,用来提供http://(超文本传输协议)
##2.apache的安装部署
yum install httpd -y
yum install httpd-manual.noarch -y
systemctl stop firewalld
systemctl disabled firewalld
systemctl start httpd
systemctl enable httpd
##3.apache的基础信息
#主配置目录: /etc/httpd/conf
#主配置文件: /etc/httpd/conf/http.conf
#子配置目录: /etc/http/conf.d
#子配置文件: /etc/httpd/conf.d/*.conf
#默认发布目录: /var/www/html
#默认发布文件: index.html
#默认端口: 80
#默认安全上下文: httpd_sys_content_t
#程序开启默认用户:apache
#apache日志: /etc/httpd/logs/*
#修改默认端口:
vim /etc/httpd/conf/httpd.conf
43 Listen 8080 #修改默认端口为8080
#修改默认发布文件:
默认发布文件就是访问apache时没有指定文件名称时默认访问的文件
这个文件可以指定多个,有访问顺序
在/var/www/html目录下建立index.html文件并写入172.25.254.160/index.html,及test.html文件并写入172.25.254.160/test.html
vim /etc/httpd/cong/httpd.conf
DirectoryIndex index.html test.html 表示当index.html不存在时访问test.html
删除index.html后在访问就会访问到test.html文件
#修改默认发布目录:
在根目录下建立/www/index.html写入/www/index.html,当修改默认发布目录后再访问时,应该访问到/www/index.html
vim /etc/httpd/conf/httpd.conf
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'
storecon -RvvF /www/
systemctl restart httpd
##4,apache的虚拟主机
建立虚拟主机的发布目录
mkdir -p /var/www/virtual/c.westos.com/html
vim /etc/httpd/conf.d/adefault.conf
vim /etc/httpd/conf.d/c.conf
ServerName c.westos.com #指定站点名称
DocumentRoot "/var/www/virtual/c.westos.com/html" #站点默认发布目录
CustomLog "logs/c.westos.com.logs" combined #站点日志combined表示四种日志的集和
测试:
在测试主机中做好本地解析
vim /etc/hosts
172.25.254.32 linux.westos.com
##5.apache内部的访问控制
#1.针对与主机的访问控制
Order deny,allow ##列表的读取顺序,后读取的列表会覆盖先读的列表内容里重复部分
因为拒绝了172.25.254.60的访问所以只能看到apache的测试页面
#2.针对用户的访问控制
htpasswd -cm /etc/httpd/userpass admin
htpasswd -m /etc/httpd/userpass admin1
vim /etc/httpd/adefault.conf
Require user admin #只有admin用户可以登陆
Require valid-user #合法用户都可以登陆
##6.apache支持的语言
1.html
2.php
vim /var/www/html/index.php
<?php
phpinfo();
?>
yum install php -y
systemctl restart httpd
测试
172.25.254.32/index.php
3.cgi
mkdir -p /var/www/html/cgi
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' #修改安全上下文
restorecon -RvvF /var/www/html/cgi
vim /var/www/html/index.cgi
chmod +x /var/www/html/cgi/index.cgi
/var/www/html/cgi/index.cgi
vim /etc/httpd/conf.d/adefault.conf
测试
172.25.254.232/cgi/index.cgi
##7.https
yum install mod_ssl.x86_64 -y
yum install crypto-utils -y
genkey www.westos.com 然后根据自己的需要一步步完成证书的制作
vim /etc/httpd/conf.d/ssl/conf
测试
https://172.25.254.132
##8.强制用户加密访问
vim /etc/httpd/login.conf
^(/.*)$ ##客户在浏览器地址栏中的输入
https:// ##强制客户加密访问
%{HTTP_HOST} ##客户请求主机
$1 ##"$1"表示^(/.*)$的值
[redirect=301] ##临时重写 302永久转
通过自己做的实验总结出在做apache的配置时起码要注意到:
1.在做之前要知道自己要做什么样的配置,思路清楚。
2.防火墙策略一定要写或者关闭防火墙。
3.建立虚拟主机时要给它建立匹配的发布目录。
4.每次修改完配置文件后一定要重启服务,否则配置不会生效。
5.在测试是要做好本地解析工作。
6.注意selinux的状态,若是enforcing,要注意建立的目录文件的安全上下文。