####################################
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
###############################
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
浏览器输入网址后开始轮循