1.apache
企业中常用的web服务,用来提供http://(超文本传输协议)
2.apache的安装部署
yum install httpd -y #安装apache软件
yum install httpd-manual #下载apache的手册
systemctl start httpd #重启apache服务
设置开机自启apache服务
在火墙中打开httpd服务
systemctl start firewalld
firewall-cmd --list-all #查看火墙显示不允许httpd服务
firewall-cmd --permanent --add-service=http #打开
firewall-cmd --reload #重新加载火墙信息
firewall-cmd --list-all #重新查看已经打开
cd /var/www/html
ls
vim index.html #新建一个index.html文件
ls #查看已经生成
浏览器中搜索172.25.254.114(自己做实验主机的ip),显示刚才index.html中的内容
浏览器中搜索172.25.254.114/manual/ 看到的是下载的官网首页
1).修改默认端口
vim /etc/httpd/conf/httpd.conf #修改端口为8080
42行
systemctl restart httpd #重启服务
发现172.25.254.114访问不到
访问172.25.254.114:8080可以访问到
再次修改回80,重启网络
访问172.25.254:8080此时不能访问
2).修改默认发布文件
vim /etc/httpd/conf/httpd.conf #默认发布文件有先后顺序
在164行添加test.html到index.html之前
添加test.html文件到/var/www/html下并编辑
systemctl restart httpd #重启服务
访问172.25.254.114访问到新添加的文件表示修改成功
将发布文件改回index.html
重启服务
访问172.25.254.114可以看见
3).修改默认发布文件
mkdir /westos/html -p #建立westos/html文件夹
cd /westos/html/ #进入文件夹
ls #查看为空
vim index.html #新建编辑文件
注释119行,添加120,124-126行 ,修改发布文件
重启服务
ls -Zd /westos/ #查看安全上下文发现不对称
semange fcontext -a -t httpd_sys_content_t '/westos(/.*)?' #修改安全上下文
restorecon -RvvF /westos/ #刷新
访问172.25.254.114可以看到访问的页面改变
最后记得改回来
重启服务
3.apache的虚拟机主机
在另一台主机中测试,也可以在本机测试,这里用另一台主机测试
切换到超级用户编辑/etc/hosts文件
访问www.westos.com
访问news.westos.com
访问music.westos.com
此时进入的是一个界面
在服务端:
mkdir /var/www.virtual/westos.com/news -p
mkdir /var/www.virtual/westos.com/music -p #分别创建两个目录
查看两个目录的安全上下文
vim /var/www.virtual/westos.com/news/index.html #新建编辑文件
vim /var/www.virtual/westos.com/music/index.html #新建编辑文件
内容如下
cd /etc/httpd/conf.d/ #进入目录
ls #查看文件
vim adefault.conf #新建编辑文件
内容如下
vim news.conf #apache虚拟机
添加内容如下
重启服务
另一台主机访问news.westos.com
另一台主机访问music.westos.com不能到达music‘s page
回到服务端
cp news.conf music.conf #复制news.conf中的文件到music文件中
vim music.conf #编辑修改文件
内容如下
重启服务
在另一台主机中测试
4.apache的内部访问控制
vim adefault.conf #编辑只让172.25.254.114访问
Order Deny,Allow #表示先读Deny再读Allow,这样不会覆盖172.25.254.114的访问权限
重启服务
访问172.25.254.114
另一个主机访问172.25.254.114
回到服务端
vim adefault.conf #编辑不让172.25.254.114访问
重启服务
访问172.25.254.114
另一台主机访问成功
vim adefault.conf #恢复所有访问
重启网络
mkdir /var/www/html/admin #建立目录
vim /var/www/html/admin/index.html #新建编辑文件
访问172.25.254.114/admin/访问成功
htpasswd -cm /etc/httpd/htuser admin # 创建目录以及用户admin,给予他密码
htpasswd -m /etc/httpd/htuser admin1 # 创建用户admin1,给予密码
cat /etc/httpd/htuser #查看生成的密码
cd -
vim adefault.conf #设置用户表中所有用户都可以访问
重启服务
访问172.25.254.114/admin,输入用户名admin和密码
按ctrl+shift+delete清除所有缓存
访问172.25.254.114/admin,登陆admin1
vim adefault.conf #设置指定用户可以访问
注释用户表添加指定用户
重启服务
删除缓存
访问172.25.254.114/admin,登陆admin1发现无法登陆
访问172.25.254.114/admin,登陆admin
5.http能识别的语言
1).html
2).php
新建index.php并编辑
重新启动
访问172.25.254.114/index.php #发现无法访问
yum install php -y #安装php
重启服务
访问172.25.254.114/index.php 可以访问
3).cgi
新建目录
安全上下文设定
vim index.cgi #新建编辑
chmod +x index.cgi # 赋权
./index.cgi #执行
修改执行的命令看起结果会更明了
vim index.cgi #编辑
访问172.25.254.114/cgi/index.cgi发现代码裸露在页面中
编辑adefault.conf文件
添加以下代码
重启服务
重新访问
4).wsgi
下载mod_wsgi软件
重启服务
拷贝文件,也可以自己下载
vim westos.wsgi #查看
赋权
执行没有任何结果
访问172.25.254.114/cgi/westos.wsgi 代码暴露
编辑文件sdefault.conf
重启服务
重新访问
6.https
yum install mod_ssl -y #安装ssl软件
yum install crypto-utils -y #下载插件
genkey www.westos.com #下载插件后就可以使用该功能生成密钥和锁
到下一步记得看提示要求动鼠标或进行键盘的随意操作
在这里不进行提交给CA因为提交申请需要资金,这里实验只是为了看到效果
vim /etc/httpd/conf./ssl.conf #编辑文件添加ssl锁和密码
注释100和108行,添加102和110行
重启服务
访问https://172.25.254.114
advanced后getCertificate再confirm security exception
点击左上角https://172.25.254.114前面的小锁查看加密信息
view certificate
7.设定https虚拟主机并设定网页重写
vim /etc/hosts #编辑添加地址解析
新建编辑index.html文件
cd /var/www/virtual
ls
mkdir westos.com/login
cd westos.com/login/
vim index.html
ls #查看文件是否建立
cd /etc/httpd/conf.d #在此目录下
ls
cp -p music.conf z_login.conf #此目录下文件会按照首字母顺序排序,所以一定要看清再设置文件名称
ls #查看
vim z_login.conf #编辑文件
进入文件输入最下面的语句一次性替换music成login
继续修改文件
重启服务
访问https://login.westos.com,选择I Understand the Risks
重新访问login.westos.com 会发现地址被重写了
8.squid
1).正向代理,通过缓存访问外网。
vpn是和国外通信的隧道
使一台虚拟机能上网此台为dns-server主机
第二台主机dns2中设置为静态ip172.25.254.214并重启网络
此时网络不通
回到第一台主机dns-server中安装squid
查看配置文件
vim /etc/squid/squid.conf #设置访问权限打开缓存文件
修改56,打开62行
打开squid服务,顺便查看以下缓存目录大小为100,有16个主文件,256个子文件
关闭火墙
到dns2 主机中
在浏览器中设置。7.3版本的设置如图所示,7.0版本的preference在浏览器最上边的Edit中
选择preferences
选择advanced和network
settings
此时ping不通
但是浏览器却可以访问
2).反向代理
此实验需要三台主机,主服务器,调度器,客户端
关闭之前dns2中的代理ip
此实验用dns当主服务器,为第一台主机
cd /var/www/html
ls
vim index.html #修改默认网页
此时用真机作为客户端测试访问172.26.265.114
此时访问172.25.254.214不会到达
在第二台主机,称为调度器主机,设为xian.westos.com,此主机中不得有或开启apache服务
下载squid 软件
vim /etc/squid/squid.conf
修改56,59,60,62行
打开squid服务,关闭火墙
此时在客户端上访问172.25.254.100会看到显示的是114的index.html文件
此时实验成功
3).多个调度器轮循反向代理
在调度器xian.westos.com中添加一个172.25.254.113调度器(此调度器配置仿照第一台调度器),确保此调度器apache服务正常
vim /etc/squid/squid.conf #设置轮循,默认是1:1各一次
修改60,添加61,62行
重启服务
在客户端(此处为真机)中修改本地dns解析,访问的是172.25.254.214这台调度器
访问www.westos.com,出现web1的默认界面
刷新发现访问的是web2中的默认界面,依次轮循
如果要设置轮循次数,就在文件中修改添加weight=N (N为整数)
重启服务
在测试机中重新访问刷新会出现访问两次web1,一次web2的界面
9.论坛上线
首先要下载数据库并安全安装设置密码,步骤见mariadb数据库文章
下载好论坛模板,此处下载的是 Discuz_X3.2_SC_UTF8.zip到/var/www/html下并解压
赋权
在浏览器中访问172.25.254.114/upload/install/
同意后还会发现当前状态有错误
安全上下文设置
重新读取安全上下文
赋权
再次访问172.25.254.114/upload/install/
输入数据库密码以及设置管理员密码
安装成功