apache(阿帕奇)的企业级部署

####################################
1.阿帕奇的安装和修改默认发布页
####################################
服务端为
172.25.254.128
在这里插入图片描述

设置yum源
在这里插入图片描述
安装httpd

yum install httpd -y
在这里插入图片描述
安装帮助手册

yum install httpd-manual.noarch
在这里插入图片描述
重启服务
在这里插入图片描述
添加火墙策略
firewall-cmd --permanent --add-service=http

加载策略
firewall-cmd --reload
在这里插入图片描述
移动到共享文件位置
cd /var/www/html/

修改默认发布页文件
vim index.html
随意添加一个hello
在这里插入图片描述
测试
连接172.25.254.128
在这里插入图片描述
查看帮助手册
172.25.254.128/manual
右侧的zn可以改为中文,前提是下载的手册有中文版
在这里插入图片描述
##########################
2.修改端口和默认发布目录
##########################
修改端口

修改配置文件
vim /etc/httpd/conf/httpd.conf

搜索Lis

修改42后为8080
在这里插入图片描述
重启服务

查看端口
netstat -antlupe | grep httpd
在这里插入图片描述
查看内核允许的端口
semanage port -l | grep http
在这里插入图片描述
添加新端口
firewall-cmd --permanent --add-port=6666/tcp
在这里插入图片描述
修改配置文件
修改42后
在这里插入图片描述
添加到内核
semanage port -a -t http_port_t -p tcp 6666
在这里插入图片描述
重启服务
在这里插入图片描述
修改默认发布目录

把端口换回80

创建目录
mkdir /westos/web/html -p

在目录下添加默认访问页
vim westos.html
在这里插入图片描述
修改配置文件关联/westos
修改默认发布页

167 DirectoryIndex westos.html
在这里插入图片描述
修改默认发布目录
119
DocumentRoot “/westos/web/html”
<Directory “/westos/web/html”>
Require all granted
< /Directory >
在这里插入图片描述
开启内核配置文件修改为
vim /etc/sysconfig/selinux
Enforcing
在这里插入图片描述
重启后查看
在这里插入图片描述

修改内核安全上下文
semanage fcontext -a -t httpd_sys_content_t ‘/westos(/.*)?’
restorecon -RvvF /westos/
在这里插入图片描述
重启服务后浏览器连接172.25.254.128测试
在这里插入图片描述

#############################
3.设置虚拟主机
#############################
还原配置文件

删除配置文件
rm -fr /etc/httpd/conf/httpd.conf
重装服务
yum reinstall httpd -y
在这里插入图片描述
进入发布目录
cd /var/www/

建立westos.com下的new和music发布目录
mkdir westos.com/new/html -p
mkdir westos.com/music/html -p
在这里插入图片描述
修改new发布文件
vim westos.com/new/html/index.html

修改music发布文件
vim westos.com/music/html/index.html
在这里插入图片描述
修改默认发布目录配置文件
cd /etc/httpd/conf.d/

vim a_default.conf

写下
< VirtualHost default:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
< /VirtualHost>
在这里插入图片描述
修改news发布配置文件news.conf
vim news.conf

写下
<VirtualHost *:80>
ServerName news.westos.com
DocumentRoot /var/www/westos.com/news/html
CustomLog logs/news.log combined

<Directory “/var/www/westos.com/news/html”>
Require all granted

在这里插入图片描述

复制news.conf到music.conf
cp news.conf music.conf
用命令修改news为music
:%s/news/music/
在这里插入图片描述
重启httpd服务

真机
修改vim /etc/hosts
写下
172.25.254.128 www.westos.com news.westos.com music.westos.com
在这里插入图片描述
浏览器测试
www.westos.com
在这里插入图片描述
news.westos.com
在这里插入图片描述
music.westos.com
在这里插入图片描述

##########################
4.apache的访问控制
##########################
根据ip控制

修改配置文件
vim a_default.conf

在后面添加
Allow后的ip是允许
Deny后的ip是拒绝
<Directory “/var/www/html”>
Order Allow,Deny
Allow from all
Deny from 172.25.254.128
< /Directory>
在这里插入图片描述
重启服务

浏览器测试
在128连128
172.25.254.128
在这里插入图片描述
172.25.254.28连接128
在这里插入图片描述

根据用户名和密码控制

修改配置文件
vim a_default.conf

<Directory “/var/www/html”>
AuthUserFile /etc/httpd/conf.d/http_userlist
AuthName “please input username and password !!”
AuthType basic
# Require user admin
Require valid-user
< /Directory>

在这里插入图片描述
其中
AuthUserFile /etc/httpd/conf.d/http_userlist 是查看的用户列表文件

AuthName "please input username and password !!"是进去后显示请输入用户名和密码

AuthType basic是验证方式为对比密码和用户名

Require user admin是只允许admin用户访问

Require valid-user是允许所有列表用户访问二者不能混用

注意
把ip控制和用户控制都写上的话一个不对就不能登陆

根据AuthUserFile /etc/httpd/conf.d/http_userlist
我们需要创建一个用户信息文件
命令为htpasswd -cm http_userllist(用户名)
在这里插入图片描述
当我们第二次添加用户时不需要写c
htpasswd -m http_userllist

重启服务后开始测试
浏览器测试
连接172.25.254.128
在这里插入图片描述
输入密码后
在这里插入图片描述

###############################
5.在连接后自动运行apache支持的语言
###############################
安装php
在这里插入图片描述
重启httpd服务

移动位置
cd /var/www/html/
创建发布位置文件
vim index.php

写下

<?php phpinfo(); ?>

在这里插入图片描述
测试172.25.254.128/index.php
在这里插入图片描述
建立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/cgi/index.cgi
写下
#!/usr/bin/perl
print “Content-type: text/html\n\n”;
print ’ date ` ;
在这里插入图片描述

给执行权限
chmod +x /var/www/html/cgi/index.cgi

修改配置文件删上一个实验的设置
再写下
<Directory “/var/www/html/cgi”>
Options ExecCGI
AddHandler cgi-script .cgi

在这里插入图片描述

重启服务
在这里插入图片描述
测试
http://172.25.254.128/cgi/index.cgi
在这里插入图片描述
#########################
6.apache的https加密访问
#########################

安装 mod_ssl
在这里插入图片描述
安装 crypto-utils
在这里插入图片描述
加密域名
genkey www.westos.com

第一个窗口next
在这里插入图片描述
第二个窗口点1024
在这里插入图片描述
等待加密

在这里插入图片描述

到这个阶段时需要随意输入字符(乱敲键盘)
在这里插入图片描述
完成后选择no
在这里插入图片描述
下一个窗口选择next注意不能选择选项
在这里插入图片描述
接下来填写
国家
省份
城市
公司
部门
域名
完成后选择next
在这里插入图片描述
修改ssl配置文件
vim /etc/httpd/conf.d/ssl.conf

100
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt

107
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
在这里插入图片描述
重启服务
安全证书位置
output will be written to /etc/pki/tls/certs/www.westos.com.crt
钥匙位置
output key written to /etc/pki/tls/private/www.westos.com.key

在这里插入图片描述

客户端
关闭火墙
地址栏输入https://172.25.254.128

出现如下
在这里插入图片描述
选择高级
左下角
添加例外
在这里插入图片描述
左下角
确认安全例外
在这里插入图片描述
最后显示发布页
在这里插入图片描述

###############################
7.设置https虚拟主机并且重写网页请求
###############################

建立login的访问文件

mkdir /var/www/westos.com/login/html/ -p

vim /var/www/westos.com/login/html/index.html
写下
login
在这里插入图片描述
cd /etc/httpd/conf.d/

vim login.conf

https的默认端口是443

修改login.conf为

<VirtualHost *:443>
    SSLEngine on
    ServerName login.westos.com
    DocumentRoot /var/www/westos.com/login/html
    CustomLog logs/login.log combined
    SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<Directory "/var/www/westos.com/login/html">
    Require all granted
 </Directory>
<VirtualHost *:80>
        ServerName login.westos.com
        RewriteEngine on
        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
< /VirtualHost>

在这里插入图片描述
退出保存后重启服务

记得关闭服务端火墙

客户端修改解析
vim /etc/hosts
在这里插入图片描述

浏览器测试
输入login.westos.com

在这里插入图片描述
###########################
8.域名访问时自动运行脚本
###########################

服务端
关火墙

下载wsgi文件

下载到/var/www/cgi-bin/
在这里插入图片描述
给执行权限
chmod +x webapp.wsgi
在这里插入图片描述
安装mod_wsgi.x86_64
在这里插入图片描述
写配置文件
vim /etc/httpd/conf.d/webapp.conf

写下

<VirtualHost *:80>
        ServerName webapp.westos.com
        DocumentRoot /var/www/cgi-bin
        CustomLog logs/webapp.log combined
        WSGIScriptAlias / /var/www/cgi-bin/webapp.wsgi
< /VirtualHost>

在这里插入图片描述
退出保存重启服务

客户端

写解析
vim /etc/hosts

webapp.westos.com
在这里插入图片描述
关火墙

测试用客户端浏览器连接webapp.westos.com
在这里插入图片描述
###############################
9.安装论坛
###############################

服务端

下载一个
Discuz_X3.2_SC_UTF8.zip
在这里插入图片描述
解压到/var/www/westos.com/bbs/html/
unzip Discuz_X3.2_SC_UTF8.zip
在这里插入图片描述
删除压缩包
rm -fr Discuz_X3.2_SC_UTF8.zip
在这里插入图片描述
移动到upload下
cd upload/

给权限
chmod -R 777 config
chmod -R 777 data
在这里插入图片描述
启动服务
systemctl restart httpd.service

设置内核为警告模式
setenforce 0
在这里插入图片描述
修改权限
chmod 777 uc_client uc_server -R
在这里插入图片描述
安装数据库软件
yum install mariadb-server.x86_64 -y
在这里插入图片描述

启动数据库
systemctl start mariadb

修改配置文件
vim /etc/my.cnf

写下
skip-networking=1
在这里插入图片描述
重启服务
systemctl restart mariadb.service

安装数据库,设置密码
mysql_secure_installation

第一个输入按回车

第二和第三输入新设置的管理员密码

剩下都选y
在这里插入图片描述
安装php支持数据库的服务
yum install php-mysql.x86_64 -y
在这里插入图片描述

修改配置文件

移动到位置下
cd /etc/httpd/conf.d/

复制news的配置文件
cp news.conf bbs.conf

批量修改news为bbs
:%s/news/bbs/
在这里插入图片描述
重启httpd服务
systemctl restart httpd.service

注意
关闭火墙
设置内核为警告模式
否则很多文件不可写

客户端

设置解析文件
vim /etc/hosts

写下bbs.westos.com
在这里插入图片描述
关闭火墙
systemctl stop firewall

测试
用浏览器连接
bbs.westos.com/upload

按步骤填写
选择同意
在这里插入图片描述
选择下一步
在这里插入图片描述
选择第一个全新安装
选择下一步
在这里插入图片描述

注意第三步时填写的管理员密码必须和服务端设置的mariadb密码一样

第四步选择右下角进入
在这里插入图片描述
成功
在这里插入图片描述

#############################
10.apache的远程代理(翻墙)
#############################
工作原理是vpn(server)把网页缓存到本地
客户端(desktop)从vpn读取网页

把server作为服务端
ip为
172.25.254.228
gateway
172.25.254.28
dns为
114.114.114.114
在这里插入图片描述
配置好yum源
在这里插入图片描述
安装squid.x86_64
在这里插入图片描述
改配置文件

vim /etc/squid/squid.conf

56行
改为allow all

62行
去掉注释
在这里插入图片描述
启动服务squid
关闭火墙
在这里插入图片描述
关闭内核
在这里插入图片描述

真机开启火墙策略
在这里插入图片描述
服务端
ping www.baidu.com
在这里插入图片描述
客户端为desktop
172.25.254.128

此客户端不能连网

打开浏览器
选择edit

选择
Advanced

选择network

选择connection 后的settings
在这里插入图片描述
选择手动设置地址

HTTP Proxy后写下172.25.254.228
Port后写下3128

勾选

Use this proxy
在这里插入图片描述
选择ok退出

地址栏输入www.baidu.com
在这里插入图片描述
##################################
11.apache的cdn轮循部署
##################################
在企业中会需要通过远程服务端分配任务给服务端
我们会需要两个以上的服务器来分担访问压力
这个时候需要远程服务端分配任务给真正的服务器们

设置好172.25.254.28和128的发布页
28
在这里插入图片描述
128
在这里插入图片描述
重置虚拟机
安装squid

确保228无httpt服务
在这里插入图片描述
修改配置文件
vim /etc/squid/squid.conf

59行到62行
写下

http_port 80 vhost vport
cache_peer 172.25.254.28 parent 80 0 proxy-only name=web1 round-robin  weight=2
cache_peer 172.25.254.128 parent 80 0 proxy-only name=web2 round-robin
cache_peer_domain web1 web2 www.westos.com

weight的作用是设置权重,意思是28服务器承担两次访问任务,不写weight为默认情况下只承担一次
在这里插入图片描述
退出保存重启服务squid

关闭火墙和内核

真机上vim /etc/hosts

改解析为
172.25.254.228
在这里插入图片描述

浏览器输入网址后开始轮循
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qwefyjwww/article/details/84785367
今日推荐