####################################
1.阿帕奇的安装和修改默认发布页
####################################
服务端为
172.25.254.128
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
查看端口
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”
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
写下
ServerName news.westos.com
DocumentRoot /var/www/westos.com/news/html
CustomLog logs/news.log combined
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是拒绝
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
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
写下
测试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
修改配置文件删上一个实验的设置
再写下
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
到这个阶段时需要随意输入字符(乱敲键盘)
完成后选择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为
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
Require all granted
ServerName login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
< /VirtualHost>
记得关闭服务端火墙
浏览器测试
输入login.westos.com
###########################
8.域名访问时自动运行脚本
###########################
服务端
关火墙
下载wsgi文件
下载到/var/www/cgi-bin/
给执行权限
chmod +x webapp.wsgi
安装mod_wsgi.x86_64
写配置文件
vim /etc/httpd/conf.d/webapp.conf
写下
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的远程代理()
#############################
工作原理是(server)把网页缓存到本地
客户端(desktop)从读取网页
把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
真机开启火墙策略
服务端
ping www.baidu.com
客户端为desktop
172.25.254.128
此客户端不能连网
打开浏览器
选择edit
选择
Advanced
选择network
选择connection 后的settings
选择手动设置地址
HTTP Proxy后写下172.25.254.228
Port后写下3128
勾选
地址栏输入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