Apache的管理及优化web——作用/安装/启用/基本信息/基本配置/访问控制/虚拟主机/加密访问

目录

Apache的作用

Apache的安装

Apache的启用

Apache的基本信息

Apache的基本配置

1、Apache端口修改

2、默认发布文件

 3、默认发布目录

Apache的访问控制

实验素材

1、基于客户端ip的访问控制

 2、基于用户认证

Apache的虚拟主机

Apache的语言支持

1、php

2、cgi

Apache的加密访问 

1、安装加密插件

2、生成证书

Squid+Apache

1、squid 正向代理

2、squid反向代理


Apache的作用

在web被访问时通常使用http://的方式

http://       ##超文本传输协议

提供http://超文本传输协议的软件:Apache、nginx、stgw、jfe、Tengine

Apache的安装

dnf install  httpd.x86_64  -y

 

Apache的启用

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

 

 

Apache的基本信息

服务名称:httpd

配置文件:

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

默认发布目录:/var/www/html

默认发布文件:index.html

默认端口:

80http
443https

用户:apache

日志:/etc/httpd/logs

  • 检测Apache服务是否正常:

 ——正常。

Apache的基本配置

1、Apache端口修改

vim  /etc/httpd/conf/httpd.conf        ##修改配置文件
*****************************
listen  6666
*****************************

firewall-cmd  --permanent --add-port=6666/tcp    ##添加端口
firewall-cmd  --reload

semanage port -l  | grep  http                      ##过滤http服务端口
semanage port -a  -t  http_port_t  -p  tcp  6666    ##http服务添加端口
systemctl  restart  httpd                           ##重启成功未报错

firefox 172.25.254.20:6666                        ##用于测试

 ——配置文件中修改内容。

2、默认发布文件

vim  /etc/httpd/conf/httpd.conf

******************************
DirectoryIndex  westos.html  index.html
******************************

systemctl restart httpd

——配置文件中修改内容。

 

 

 3、默认发布目录

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

 ——配置文件中修改内容。

 

Apache的访问控制

实验素材

mkdir /var/www/html/westos

vim /var/www/html/westos/index.html
*********************************
westosdir`s page
*********************************

 ——配置文件中修改内容。

 

1、基于客户端ip的访问控制

##   ip白名单    ##
<Directory "/var/www/html/westos">
    Order  Deny,Allow
    Allow  from 172.25.254.20
    Deny  from     All
</Directory>

##    ip黑名单   ##
<Directory "/var/www/html/westos">
    Order  Allow,Deny
    Allow  from  All
    Deny   from  172.25.254.10
</Directory>

 

 2、基于用户认证

vim  /etc/httpd/conf/httpd.conf

**********************************
<Directory "/var/www/html/westos">
AuthUserfile /etc/httpd/htpasswdfile                       ##指定认证文件
AuthName "Please input your name and password"             ##认证提示语
AuthType basic                                             ##认证类型
Require user admin                                         ##允许通过的认证用户 2选1
Require valid-user                                         ##允许所有用户通过认证 2选1
</Directory>
***********************************

htpasswd -cm /etc/httpd/htpasswdfile admin                 ##生成认证文件

注意:
/etc/httpd/htpasswdfile存在那么在添加用户时不要加-c参数否则会覆盖源文件内容 

 

Apache的虚拟主机

mkdir -p /var/www/westos.com/{news,wenku}
echo "wenku's page"   > /var/www/westos.com/wenku/index.html
echo "news's page"    > /var/www/westos.com/news/index.html
echo "default's page" > /var/www/html/index.html

vim /etc/httpd/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
*************************************
192.168.0.11  www.westos.com  wenku.westos.com  news.westos.com

*************************************

firefox http://www.westos.com   /   http://wenku.westos.com   /   http://news.westos.com

 

Apache的语言支持

1、php

vim /var/www/html/index.php
*******************************
<?php
phpinfo();
?>
*******************************

dnf install php -y
systemctl restart httpd

测试: firefox http://192.168.0.11/index.php

2、cgi

mkdir /var/www/html/cgidir

vim /var/www/html/cgidir/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

Apache的加密访问 

1、安装加密插件

dnf install mod_ssl -y

2、生成证书

********       生成私钥      ****************
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 /etc/pki/tls/private/www.westos.com.key

vim /etc/httpd/conf.d/vhost.conf
***********************************************

<VirtualHost *:80>
ServerName     login.westos.com
RewriteEngine  on                                ##^(/.*)$       ##客户地址栏中输入的地址
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1       ##%{HTTP_HOST}  ##客户主机
</VirtualHost>                                   ##$1 ##RewriteRule后面跟的第一串字符的值

<VirtualHost *:443>
ServerName             login.westos.com
DocumentRoot           "/www/westos.com/login"
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>
************************************************

systemctl restart httpd


 

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.13 3128

 测试:
在单网卡主机中,ping www.baidu.com 不通
在浏览器中访问www.baidu.com可以

2、squid反向代理

实验环境:

  • 192.168.0.11            ##Apache服务器
  • 192.168.0.12            ##squid,没有数据负责缓存

实验操作:

vim /etc/squid/squid.conf

************************************************
http_port 80 vhost vport 
                        ##vhost 支持虚拟域名 vport 支持虚拟端口
                        ##当192.168.0.12的80端口被访问会从192.168.0.11的80端口缓存数据

cache_peer 192.168.0.11 parent 80 0 proxy-only
************************************************

systemctl restart squid

测试: firefox http://192.168.0.12访问看到的时192.168.0.11上的数据

 


ending.......
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值