1.apache
1.企业中常用的web服务,用来提供http://(超文本传输协议)
阻塞模式 apache
异步非阻塞模式nginx
2.apache的安装部署
yum install httpd -y 安装httpd服务
yum install httpd-manual.noarch -y 安装apache 的说明
systemctl start httpd 开启httpd
systemctl enable httpd 开机启动httpd
配置防火墙策略
3 apache的基础信息
主配置目录 : /etc/httpd.conf
主配置文件 :/etc/httpd/conf/httpd.conf
子配置目录 : /etc/httpd/conf
子配置文件 : /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 80 80为默认端口
重启服务
查看端口 ss -anutlpe | grep httpd
修改默认发布文件
就是访问apache时没有指定文件名称时默认访问的文件
这个文件可以指定多个,有顺序
第164行
vim /etc/httpd/conf/httpd.conf
index.html test.html 当index.html 不存在时访问test.html
修改默认的发布目录
vim /etc/httpd/conf/httpd.conf
默认发布目录会成为/mnt/html/
4.apache 的虚拟主机
mkdir /var/www/virtual/linux.westos.com/html/ -p
mkdir /var/www/virtual/c.westos.com/html/ -p
新建分享目录
vim /var/www/virtual/linux.westos.com/html/index.html
写访问linux.westos.com要看到的网页
vim /var/www/virtual/c.westos.com/html/index.html
写访问c.westos.com要看到的网页
vim /etc/httpd/conf.d/adefault.conf 要以a 开头否则安顺序读取的时候读不到
第一行: #指定站点名称
第二行:#站点默认发布目录
第三行:站点日志,combined标志四种日志的集合
vim /etc/httpd/conf.d/c.conf
vim /etc/httpd/conf.d/linux.conf
配置本地解析
vim /etc/hosts
172.25.254.111 c.westos.com www.westos.com linux.westos.com
测试:
www.westos.com
c.westos.com
linux.westos.com
5.apache内部的访问控制
1.针对与主机的访问控制
vim /etc/httpd/conf.d/adefault.conf
<\Directory “/var/www/html/test”>
Order deny,allow ##列表读取顺序,后面会覆盖前面
Allow from all
Deny from 172.25.254.7
<\/Directory>
Order参数有先后顺序,后面的参数会覆盖前面的,上图所写就是只不允许172.25.254.49访问
2.用户方式的访问控制
htpasswd -cm /etc/httpd/userpass admin
htpasswd -m /etc/httpd/userpass admin1
设置可以访问的用户
c 表示重新建立这个文件,所来文件里的东西会删除
m表示添加用户
<\Directory “/var/www/html/mima”>
AuthUserFile /etc/httpd/userpass 访问的用户需要看这个文件夹
AuthName “please input you name and passwd” ## 访问时出来的提示字符
AuthType basic ##最基本的访问
#Require user admin 只有admin用户可以访问
Require valid-user ##所有的合法用户都可以登陆
<\/Directory>
测试:
172.25.254.11/mima
6 apache默认支持的语言
除了html,还有php和cgj
php
安装php
yum install php -y
重启httpd
vim /var/www/html/index.php
<\?php
phpinfo();
\?>
测试:www.westos.com
7.https
yum install crypto-utils -y
yum install mod_ssl.x86_64 -y
安装加密组件
genkey www.westos.com
生成证书和秘钥
vim /etc/httpd/conf.d/ssl.conf
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key (公私钥)
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt(证书)
测试:
8.设定https虚拟主机并重写网页
mkdir -p /var/www/html/virtual/login.westos.com/html
vim /var/www/html/virtual/login.westos.com/html/index.html ##设定网页
<\VirtualHost *:443>
ServerName login.westos.com
DocumentRoot /var/www/html/virtual/login.westos.com/html
CustomLog “logs/login.log” combined
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt ##证书
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key ##公私钥
<\/VirtualHost>
<\Directory “/var/www/html/virtual/login.westos.com/html”>
Require all granted
<\/Directory>
<\VirtualHost *:80>
ServerName login.westos.com
RewriteEngine On ##开始转换
RewriteRule ^(/.*)
https://
1 [redirect=301] ##转换的规则
<\/VirtualHost>
^(/.*)##客户再浏览地址栏中输入的所有字符
https:// ##强制客户加密访问
%{HTTP_HOST} ##客户请求主机1 ##
1表示(/.∗)
的值
[redirect=301] ##临时转换(每次访问都会转换)302表示永久转换
测试: