************************9.Apache*********************
互联网主流架构
lamp = linux apache mysql php
lnmp = linux nginx mysql php
若要使用 html cgi jsp asp 等闭源网页编辑软件
需使用翻译软件 tomcat jboss
##1.Apache基本配置##
安装apache软件包: httpd httpd-manual(手册插件)
查看监听端口: netstat -antlpe | grep httpd
##2.Apache简单配置##
主配置文件:/etc/httpd/conf/httpd.conf
1.默认主页名称 DirectoryIndex
在默认发布目录下/var/www/html目录中,在test文件中写入自定义内容
文件的顺序表示服务访问的顺序,从前到后直到访问到存在的文件
网页测试
修改配置文件
网页测试,修改默认端口后,直接访问ip访问不到网页
必须在ip后加上修改后的端口才可以访问到
建立目录/www/myweb,在目录里写入主页内容以供测试
修改配置文件
网页测试
注:若开启了selinux需更改目录安全上下文
使用 semanage fcontext -a -t httpd_sys_content_t “/directory(/.*)?” 更改安全上下文
使用 restorecon -RvvF /directory 重新加载安全上下文
4.更改默认发布目录权限
1)基于ip
用主机ip为172.25.254.8进行网页测试时,只能看到apache的测试页,看不到默认发布目录里的内容
添加用户,并制定密码
只有拥有正确匹配的用户名和密码,而且没有被限制的用户才可访问网页
以上更改都需要重启服务才可生效
##2.虚拟主机##
虚拟主机允许您从一个httpd服务器同时为多个网站提供服务基于名称的虚拟主机是其中多个主机名都指向同一个IP地址,但是Web服务器根据用于到达站点的主机名提供具有不同内容的不同网站。
1.在/etc/httpd/conf.d目录下
编辑默认主页配置文件 vim default.conf
编辑news主页配置文件 vim news.conf
编辑 music主页配置文件 vim music.conf
2.在默认发布目录下,建立虚拟主机的目录
3.网页测试主机添加host记录 vim /etc/hosts
网页测试
##3.https##
客户拿到的是公钥,用于加密认证。 服务器解密,减轻服务器压力
1.安装软件 mod_ssl 和用于生成签名证书的 crypto-utils软件包
2.调用genkey,生成签名证书
具体生成步骤如下:
记录生成的证书和关联的私钥的生成位置
继续使用对话框,并选择合适的密钥大小
在生成随机数时比较慢,敲键盘和移动鼠标可以加速
拒绝向认证机构(CA)发送证书请求(CSR)
为服务器提供合适的身份。Common Name必须与服务器的主机全名完全匹配。
(注意,任何逗号都应使用前导反斜线[\]进行转义)
3.修改配置文件 /etc/httpd/conf.d/ssl.conf
网页测试,可以看到自己添加的证书内容
##配置虚拟主机的https服务##
在 /etc/httpd/conf.d 目录下
对muisc和news虚拟主机配置文件进行修改。添加模块
测试
##4.网页重写 ##
把所有80端口的请求全部重定向由https来处理
在 /etc/httpd/conf.d 目录下
对muisc和news虚拟主机配置文件进行修改。例如:
<Virtualhost *:80>
ServerName www0.example.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</Virtualhost>
当你输入music.westos.com时自动访问的是https://music.westos.com
## 5.php ##
安装 yum install php
编写在默认发布目录下编写php测试页 vim index.php
修改 /etc/httpd/conf/httpd.conf 使其访问测试页
重启服务
测试
## 6.CGI ##
通用网关接口(CGI)是网站上放置动态内容的最简单的方法。CGI脚本可用于许多目
的,但是谨慎控制使用哪个CGI脚本以及允许谁添加和运行这些脚本十分重要。编写质量差的CGI
脚本可能为外部攻击者提供了破坏网站及其内容安全性的途径。因此,在Web服务器级别和
SELinux策略级别,都存在用于限制CGI脚本使用的设置。
1.在默认发布目录/etc/www/html下建立cgi目录,并在目录下建立index.cgi 编写主页内容,并给index.cgi添加执行权限
可用perl index.cgi 测试主页内容
2.修改/etc/httpd/conf.d/default.conf
3.重启服务
4.测试
注:
1.内容模板可访问 www.westos.com/manual 查看到
2.若开启了selinux需更改目录安全上下文
使用 semanage fcontext -a -t httpd_sys_script_exec_t “/var/www/html/cgi/(/.*)?” 更改安全上下文
使用 restorecon -RvvF /directory 重新加载安全上下文
使用ls -Zd查看安全上下文
## 7.搭建论坛 ##
1.安装mariadb-server 和php-mysql 并开启mariadb服务
2.在 /etc/my.cnf 的【mysqld】添加 skip-networking =1参数,关闭端口
3.使用mysql_secure_installation执行安全性配置
4.在默认发布目录下下载Discuz安装包,按readme里面的提示完成安装
##9.squid.缓存代理服务##
1.正向解析 ---从内网访问外网(×××)
安装服务 squid
配置 /etc/squid/squid.conf
重启服务
实验前提
web_xx 主机是双网卡主机,一个内网的ip,一个外网的ip。
mail_westos 主机是单网卡主机 具有一个内网的ip
在双网卡主机上配置squid服务
测试
直接访问依旧访问不到
需要进行如下设置
重新测试,就可以访问了
2.反向解析
普通反向解析
配置 /etc/squid/squid.conf,添加如下内容
重启服务
测试,恢复以上测试设置,可以直接访问
轮询
配置 /etc/squid/squid.conf
重启服务
测试 ,一次访问172.25.254.37 一次访问172.25.254.36