4.Apache的管理及优化web

一、Apache的作用

1.环境配置

hostnamectl set-hostname westosa.westos.org #修改虚拟机名称
cd /etc/sysconfig/network-scripts/
vim /etc/sysconfig/network-scripts/ifcfg-ens3 #配置网卡
nmcli connection reload #重启网卡服务
nmcli connection up System\ ens3
cd /etc/yum.repos.d/
vim westos.repo #配置软件仓库
init 3 #开启无图形
ssh -root@172.25.254.119 #主机连接配置好的172.25.254.119虚拟机

在这里插入图片描述

二、Apache的安装

dnf list httpd #查看httpd服务
dnf install httpd.x86_64 -y #安装httpd服务

在这里插入图片描述

三、Apache的启用

systemctl enable --now httpd #开启httpd服务
systemctl status httpd #查看httpd服务
firewall-cmd --permanent --add-service=http #将http 加入防火墙白名单
firewall-cmd --reload #重启防火墙
firewall-cmd --list-all #查看防火墙允许的服务
dnf install httpd-manual -y #安装apache手册
systemctl restart httpd #重启httpd服务
在网页上浏览172.25.254.119成功共享的服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、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的基本配置

1.Apache的端口修改

cd /var/www/html/
vim index.html      #编写index.html文件
cat index.html      #查看内容
vim /etc/httpd/conf/httpd.conf       #修改端口为8080
systemctl restart httpd              #重启httpd服务
netstat -antlupe | grep httpd        #查看端口
firewall-cmd --permanent --add-port=8080/tcp  #端口加入防火墙
firewall-cmd --reload                # 重启防火墙

在这里插入图片描述
在这里插入图片描述

在浏览器访问
在这里插入图片描述

2.修改默认发布文件

vim westos.html     #编写westos.html文件
cat westos.html     #查看内容
vim /etc/httpd/conf/httpd.conf      #修改默认发布文件
systemctl restart httpd             #重启服务

在这里插入图片描述

在这里插入图片描述

在浏览器访问
在这里插入图片描述

3.修改发布目录

mkdir -p /var/www/westos/  
cd /var/www/westos/ 
vim index.html      #在/var/www/westos/目录下编写 westos.html文件
vim /etc/httpd/conf/httpd.conf      #修改默认发布目录为/var/www/westos/ 
systemctl restart httpd             #重启服务
mv /var/www/westos /var/            #移动/var/www/westos目录到/var目录下 安全上下级不会因为目录的移动而改变,在那个目录下创建的安全上下级跟随那个目录
systemctl restart httpd
ls -Z /var/westos/                  #查看目录安全上下级

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

六、Apache的访问控制

1.基于用户ip的访问控制

cd /var/www/html
mkdir westos/ #创建在/var/www/html下的westos目录
cd westos/
vim index.html #编写html格式文件
cat index.html #查看内容
vim /etc/httpd/conf/httpd.conf #修改黑名单ip为172.25.254.119的不能访问
systemctl restart httpd #重启httpd服务
curl http://172.25.254.119/westos/index.html #查看能否访问

在这里插入图片描述在这里插入图片描述

curl http://172.25.254.119/westos/index.html #在ip为172.25.254.19的机器上查看能否访问

在这里插入图片描述

vim /etc/httpd/conf/httpd.conf #修改白名单只有172.25.254.19可以访问
systemctl restart httpd #重启服务

在这里插入图片描述

curl http://172.25.254.119/westos/index.html #在ip为172.25.254.19的机器上查看能否访问

在这里插入图片描述
白名单设定后只有白名单可访问。

2.生成认证文件 .htpasswd 访问控制

cd /etc/httpd/
htpasswd -cm .htpasswd admin    #生成认证文件
cat .htpasswd                   #查看文件内容
htpasswd -m .htpasswd jwl       #添加认证用户
cat .htpasswd 
vim /etc/httpd/conf/httpd.conf  #修改为只有admin用户可以访问
systemctl restart httpd         #重启服务

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在浏览器访问,只有输入admin用户密码才可以访问
在这里插入图片描述

在这里插入图片描述

vim /etc/httpd/conf/httpd.conf  #修改为认证文件里存在的所有用户都可以访问
systemctl restart httpd         #重启服务

在这里插入图片描述
在浏览器访问,任何加密用户都可以访问
在这里插入图片描述

在这里插入图片描述

七、Apache的虚拟主机

在虚拟机westosa上 ip:172.25.254.119

mkdir /var/www/vhost/{linux,java,python} -p #创建3个目录linux、java、python
vim /var/www/vhost/linux/index.html #在linux目录下编写index.html
vim /var/www/vhost/java/index.html #在java目录下编写index.html
vim /var/www/vhost/python/index.html #在python目录下编写index.html
cat /var/www/vhost/python/index.html #查看文件内容
cat /var/www/vhost/java/index.html #查看文件内容
cat /var/www/vhost/linux/index.html #查看文件内容
cd /etc/httpd/conf.d/
vim vhost.conf #配置

<VirtualHost *:80>
    ServerName linux.westos.org
    DocumentRoot /var/www/vhost/linux
    CustomLog logs/linux.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerName java.westos.org
    DocumentRoot /var/www/vhost/java
    CustomLog logs/java.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerName python.westos.org
    DocumentRoot /var/www/vhost/python
    CustomLog logs/python.log combined
</VirtualHost>

systemctl restart httpd #重启httpd服务

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

测试:
在主机ip:172.25.254.19
vim /etc/hosts #配置172.25.254.119 www.westos.org python.westos.org linux.westos.org java.westos.org
cat /etc/hosts #查看内容
浏览器输入:www.westos.org
浏览器输入:linux.westos.org
浏览器输入:java.westos.org
浏览器输入:python.westos.org

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、Apache的语言支持

1.php

vim /var/www/html/index.php  #在/var/www/html目录下编写index.php文件
配置内容:
<?php
phpinfo();
?>

dnf install php -y           #安装php
systemctl restart httpd      #重启httpd服务
firefox http://192.168.0.11/index.php

2.cgi

mkdir /var/www/html/cgidir
vim /var/www/html/cgidir/index.cgi  #在/var/www/html目录下编写index.cgi文件
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;
vim /etc/httpd/conf.d/vhost.conf    #修改配置文件
配置内容
<Directory "/var/www/html/cgidir">
        Options +ExecCGI
        AddHandler cgi-script .cgi
</Directory>

firefox http://192.168.0.11/cgidir/index.cgi

3.wsgi

vim /var/www/html/wsgi/index.wsgi #在/var/www/html目录下编写index.wsgi文件
def application(env, westos):
westos(‘200 ok’,[(‘Content-Type’, ‘text/html’)])
return [b’hello westos ahhahahahah!’]
dnf install python3-mod_wsgi
systemctl restart httpd #重启httpd服务
vim /etc/httpd/conf.d/vhost #修改配置文件

<VirtualHost *:80>
 ServerName wsgi.westos.org
 WSGIScriptAlias / /var/www/html/wsgi/index.wsgi
</VirtualHost><VirtualHost *:80>
    ServerName wsgi.westos.org
    WSGIScriptAlias / /var/www/html/index.wsgi
</VirtualHost>
dnf inastall python3-mod_wsgi  #安装wsgi相关软件
systemctl restart httpd     #重启httpd服务

测试:

cd /var/www/html
vim index.php       #在/var/www/html目录下编写index.php文件
vim index.cgi       #在/var/www/html目录下编写index.cgi文件
vim index.wsgi      #在/var/www/html目录下编写index.wsgi文件

dnf search php      #搜索php相关软件
dnf install php.x86_64 -y                 #安装php
dnf search wsgi     #搜索wsgi相关软件
dnf install python3-mod_wsgi.x86_64  -y   #安装wsgi相关软件
cd /etc/httpd/conf.d/
vim /etc/httpd/conf.d/vhost.conf          #修改配置文件

在这里插入图片描述在这里插入图片描述

dnf install php.x86_64 -y #安装php

在这里插入图片描述
在这里插入图片描述
dnf search wsgi #搜索wsgi相关软件
dnf install python3-mod_wsgi.x86_64 -y #安装wsgi相关软件
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

chmod  +x index.cgi        #给予index.cgi可执行权限
systemctl restart httpd    #重启httpd服务
ls -Rl index.cgi           #查看权限
setenforce 0               #
getenforce                 #
systemctl restart httpd    #重启httpd服务

在这里插入图片描述
在这里插入图片描述

在主机172.25.254.19上

vim /etc/hosts #配置主机解析
cat /etc/hosts #查看配置内容
浏览器输入:172.25.254.119/index.php
浏览器输入:172.25.254.119/index.cgi
浏览器输入:wsgi.westos.org

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

九、Apache的加密访问

1.安装加密插件

cd /etc/pki/
cd tls
cd certs/
ls /etc/pki/tls/private/  #查看目录内容
dnf install mod_ssl -y    #安装加密插件    
systemctl restart httpd   #重启httpd服务
ls /etc/pki/tls/certs/    #查看加密插件
systemctl restart httpd   #重启httpd服务
firewall-cmd --permanent --add-service=https  #把https加入防火墙白名单
firewall-cmd --reload     #重启防火墙

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.生成证书

openssl req --newkey rsa:2048 -nodes -sha256 -keyout /etc/httpd/westos.org.key -x509 -days 365 -out /etc/httpd/westos.org.crt #生成证书

Generating a RSA private key
...................................................+++++
.............................+++++
writing new private key to '/etc/httpd/westos.org.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:shanxi
Locality Name (eg, city) [Default City]:xi'an   
Organization Name (eg, company) [Default Company Ltd]:westos
Organizational Unit Name (eg, section) []:linux
Common Name (eg, your name or your server's hostname) []:www.westos.org
Email Address []:root@westos.org

在这里插入图片描述

cd /etc/httpd/conf.d/   
vim ssl.conf             #修改
systemctl restart httpd  #重启httpd服务
cd /var/www/vhost/       
mkdir login              #创建login目录
cd login/
vim index.html           #在login目录下编写index.html文件
vim /etc/httpd/conf.d/vhost.conf  #修改配置不加密(http)跳转到加密(https)
systemctl restart httpd    #重启httpd服务

在这里插入图片描述
vim ssl.conf #修改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
index.html文件内容
在这里插入图片描述
在这里插入图片描述

测试:在主机172.25.254.19上

vim /etc/hosts #配置主机解析
cat /etc/hosts #查看配置内容

在这里插入图片描述

浏览器输入:login.westos.org
在这里插入图片描述
在这里插入图片描述

十、Squid+Apache

1.squid正向代理

实验环境:
单网卡主机设定ip不能上网
双网卡主机设定ip1可以连接单网卡主机,设定ip2可以上网
实验效果
让单网卡主机不能上网但浏览器可以访问互联网页
操作:
在双网卡主机中

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
在单网卡专辑中选择
NetWork Proxy
172.25.254.30 3128

测试:
在单网卡主机中
ping www.baidu.com 不通
在浏览器中访问www.baidu.com可以
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.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 172.25.254.20 parent 80 0 proxy-only
systemctl restart squid

测试:
firefox http:/172.25.254.30
访问看到的时172.25.254.20上的数据
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值