Linux中Apache的管理及优化web

Apache的作用

web 被访问时通常使用 http :// 的方式
http://          超文本传输协议
 
http :// 超文本传输协议提供软件:
Apache
nginx
stgw
jfe
Tengine
 
 

Apache的安装

dnf install httpd.x86_64 -y
 

 

Apache的启用

systemctl enable --now httpd                                  开启服务并设定服务位开机启动
firewall-cmd --permanent --add-service=http        在火墙中永久开启 http 访问
firewall-cmd --reload                                                  刷新火墙使设定生效
firewall-cmd --list-all                                                  查看火墙信息
在firefox中: 172.25.254.20
会出现Apache页

 

Apache的基本信息

服务名称:          httpd
配置文件:         /etc/httpd/conf/httpd.conf      主配置文件
                           /etc/httpd/conf.d/*.conf          子配置文件
默认发布目录:   /var/www/html
默认发布文件:  index.html
默认端口:          80                         http
                          443(加密端口)   https
用户 :                    apache
日志:                 /etc/httpd/logs
 

 

Apache的基本配置

Apache端口修改
vim /etc/httpd/conf/httpd.conf
Listen 1111
firewall-cmd --permanent --add-port=1111/tcp
firewall-cmd --reload semanage port -l | grep http
semanage port -a -t http_port_t -p tcp 1111
systemctl restart httpd
 
 
 
默认发布文件
 
10中:
vim /etc/hosts
20中:
vim /var/www//html/index.html
 
此时在10中可访问到默认文件内容
 
若想修改默认发布文件可按如下操作将发布文件修改为 test.html:
vim test.html
vim /etc/httpd/conf/httpd.conf
167 DirectoryIndex test.html westos.html
systemctl restart httpd
 
此时在10中访问www.westos.com可访问到新的发布文件
 
 
 
默认发布目录
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/westos/html"
<Directory "/westos/html">
Require all granted
</Directory>
semanage fcontext -a -t httpd_sys_content_t '/westos(/.*)?'
restorecon -RvvF /westos/
systemctl restart httpd
firefox http://www.westos.com

 

Apache的访问控制

实验素材
mkdir /var/www/html/westos
vim /var/www/html/westos/index.html
< h1 > westosdir ' s page </ h1 >
firefox http://172.25.254.20/westos
 
基于客户端ip的访问控制
ip 白名单
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/westos">
Order Deny,Allow
Allow from 172.25.254.20
Deny from All
</Directory>
此时10不能访问,20可访问
 
 
ip 黑名单
<Directory "/var/www/html/westos">
Order Allow,Deny
Allow from All
Deny from 172.25.254.20
</Directory>
此时20不可访问,10可访问
 
 
基于用户认证
vim /etc/httpd/conf/httpd.conf<Directory "/var/www/html/westos">
AuthUserfile /etc/httpd/.http_user                                  指定认证文件
AuthName "Please input your name and password"              认证提示语
AuthType basic                                                                      认证类型
Require user admin                                                               允许通过的认证用户 2 1
Require valid-user                                                                 允许所有用户通过认证 2选 1
</Directory>
htpasswd -cm .http_user admin                    生成认证文件
注意: 当/etc/httpd/htpasswdfile存在那么在添加用户时不要加-c参数否则会覆盖源文件内容
 
此时访问westosdir需键入密码以验证用户身份
 
 
 

 

Apache的虚拟主机

mkdir -p /var/www/westos.com/{news,music}
echo "music's page" >/var/www/westos.com/music/index.html
echo "news's page" > /var/www/westos.com/news/index.html
vim /etc/httpd/conf.d/Vhost.conf
<VirtualHost _default_:80>
DocumentRoot "/var/www/html"
CustomLog logs/default.log combined
</VirtualHost>
 
<VirtualHost *:80>
ServerName wenku.westos.com
DocumentRoot "/var/www/westos.com/wenku"
CustomLog logs/wenku.log combined
 
</VirtualHost><VirtualHost *:80>
ServerName news.westos.com
DocumentRoot "/var/www/westos.com/news"
CustomLog logs/news.log combined
</VirtualHost>
 
测试:
在浏览器所在主机中
vim /etc/hosts
172.25.254.20  www.westos.com music.westos.com news.westos.com
firefox http://www.westos.com
firefox http://music.westos.com
firefox http://news.westos.com
 

 

Apache的语言支持

php
vim /var/www/html/index.php
<?php
phpinfo();
?>
dnf install php -y
systemctl restart httpd
firefox http://172.25.254.20/index.php
 
cgi
dnf install httpd-manual
systemctl restart httpd
mkdir /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/cgi/index.cgi
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;
chmod +x index.cgi
 
vim /etc/httpd/conf.d/vhost.conf
<Directory "/var/www/html/cgidir">
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
firefox http://172.25.254.20/cgi/index.cgi

 

Apache的加密访问

安装加密插件
dnf install mod_ssl -y       生成证书
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
 
openssl genrsa -out /etc/pki/tls/private/www.westos.com.key 2048         生成私钥
openssl req -new -key /etc/pki/tls/private/www.westos.com.key \-out /etc/pki/tls/certs/www.westos.com.csr    生成证书签名文件
 
openssl x509 -req -days 365 -in \  /etc/pki/tls/certs/www.westos.com.csr \-signkey /etc/pki/tls/private/www.westos.com.key \-out /etc/pki/tls/certs/www.westos.com.crt      生成证书
 
x509 证书格式
- req 请求
- in 加载签证名称
- signkey
 
 
vim /etc/httpd/conf.d/ssl.conf 
 
systemctl restart httpd
 
https://www.westos.com
下载证书后查看证书信息,发现证书已生成
 
 
 
加密虚拟主机
vim /etc/httpd/conf.d/vhosts.conf 
systemctl restart httpd
 
 
网页重写功能
 
vim /etc/httpd/conf.d/vhosts.conf 

此时浏览music.westos.com会自动加密

Squid+Apache

squid 正向代理
实验环境 :
单网卡主机node1 172.25.254.20 设定 ip 不能上网 
双网卡主机node2 172.25.254.30 设定 ip1 可以连接单网卡主机,设定 ip2 可以上网
 
实验效果
让单网卡主机不能上网但浏览器可以访问互联网页
 
操作:
在双网卡主机 30
dnf install squid -y
vim /etc/squid/squid.conf
59 http_access allow all
65 cache_dir ufs / var / spool / squid 100 16 256
 
systemctl restart squid
firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload
 
在单网卡主机 20 中选择
NetWork Proxy
172.25.254.30 3128
 
测试:
在单网卡主机中
ping www.baidu.com    不通
 
在浏览器中访问 www.baidu.com 可以
 
 
squid 反向代理
实验环境 :
172.25.254.20      Apache服务器
172.25.254.30      squid,没有数据负责缓存
 
vim /etc/squid/squid.conf
http_port 80 vhost vport            vhost 支持虚拟域名 vport 支持虚拟端口  
172.25.254.30 80 端口被访问会从 172.25.254.20 80 端口缓存数据
cache_peer 192.168.0.11 parent 80 0 proxy-only
systemctl restart squid
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

 
 
测试:
10 中:
firefox http :// 172.25.254.30
访问看到的时 172.25.254.30 上的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值