一、apache默认发布目录/文件
1.配置yum源,安装httpd服务
2.打开http,修改防火墙配置
3.建立默认发布文件 /var/www/html/index.html
<h1>hello evercdyone</h1> ##h1字体设置
(此为index里的内容)
网页访问,可看到默认发布文件的内容
4.修改默认发布文件(http主配置文件:/etc/httpd/conf/httpd.conf)
(test优先必须有这个文件,如果没有要新建在默认发布目录下/var/www/html/test.html 目录里的内容就是访问网页的内容)
DirectoryIndex test.html index.html ##优先级,谁在前先读谁,不存在的话就跳过
5.重启http服务,网页访问查看信息
6.修改默认发布目录
[[email protected] ~]# mkdir /hello/html -p
\
重启httpd服务,网页访问将看到/hello/html/index.html内容
(因为修改了默认发布目录,所以新发布目录里没有这个发布文件,需要新建touch /hello/html/index.html,文件内容如下图)
当selinux=disabled,重启http服务后可看到默认发布文件
但是,当selinux=enforing,必须修改安全上下文才能看到默认发布文件
semanage fcontext -a -t httpd_sys_content_t '/hello(/.*)?'restorecon -RvvF /westos/
二、apache的虚拟主机设置
1.还原http的默认配置
2.建立虚拟主机的默认发布目录和文件
[[email protected] ~]# mkdir /var/www/virtual/news/html -p
[[email protected] ~]# mkdir /var/www/virtual/music/html -p
[[email protected] ~]# vim /var/www/virtual/music/html/index.html
<h1>hello ku gou yin yue</h1>
[[email protected] ~]# vim /var/www/virtual/news/html/index.html
<h1>jin ri tou tiao</h1>
3.配置默认、music和news的文件 ##目录/etc/httpd/conf.d/
[[email protected] conf.d]# vim default.conf
[[email protected] conf.d]# vim music.conf
[[email protected] conf.d]# vim news.conf
[[email protected] conf.d]# systemctl restart httpd.service
[[email protected] etc]$ vim /etc/hosts
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 172.25.254.108 www.westos.com music.westos.com news.westos.com
5.网页访问结果查看
三、访问认证
访问http://www.westos.com/结果:
访问http://news.westos.com/结果:
访问http://music.westos.com/结果:
1.设定其他用户的访问限制vim default.conf
只禁止148主机访问
Order Allow,Deny ##优先级,谁在前,先读谁
Allow from all ##允许所有人访问
Deny from 172.25.254.148 ##禁止148主机访问
网页访问查看
只允许108主机访问 vim default.conf
2.允许指定用户访问,且需要认证
htpasswd -cm /etc/httpd/htuser admin (-cm 新建)
htpasswd -m /etc/httpd/htuser lee (注意添加用户时,-m,否则会覆盖)
修改默认访问文件 /etc/httpd/conf.d/default.conf
AuthUserFile /etc/httpd/htuser ##读取的认证文件
AuthName "please input username and passwd" ##访问页面
AuthType basic ##基本的认证方式
Require valid-user tom ##只允许tom用户访问
Require valid-user ##允许文件里所有用户访问
再次访问时只有tom用户认证通过后才能看到信息
四、php插件管理
1.php插件
安装php插件
还原默认设置 vim /etc/httpd/conf.d/default.conf
在默认发布目录下建立文件 vim /var/www/html/index.php
重启http服务后,会生成/etc/httpd/conf.d/php.conf文件
访问网页查看
2.php数据库网页管理
切换到默认发布目录,建议清空
下载php软件包 phpMyAdmin-3.4.0-all-languages.tar.bz2
解压 tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2
重命名 mv phpMyAdmin-3.4.0-all-languages mysql
生成配置文件 cp config.sample.inc.php config.inc.php
查找授权码vim Documentation.txt
修改配置文件 vim config.inc.php
查看php支持的类型[PHP Modules] php -m
若不支持mysql,安装相关插件 yum install -y php-mysql.x86_64
重启http的服务
即可访问 http://172.25.254.148/mysql/
可通过图形化界面管理数据库(命令会随操作生成)
五、Https与http
1.Https访问时自动对数据加密,为了网络数据传输的安全
2.对Https访问,需要安装mod_ssl
[[email protected] ~]# yum install mod_ssl -y
[[email protected] conf.d]# ls
f.
3.此时访问https,认证证书为系统默认,如图
认证证书如图
此时访问https,认证证书为系统默认,若自己配置,需安装 crypto-utils
[[email protected] ~]# yum install crypto-utils.x86_64 -y
制作认证证书 genkey www.westos.com
注意:不要修改默认目录,加密强度视情况而定(示例1024),不要选择付费、加密证书
##172.25.254.248 www.westos.com##
4.修改配置文件 /etc/httpd/conf.d/ssl.conf,读取制作好的认证证书
5.此时访问https,可看到自己配置的认证证书
六、Https地址转换
1.建立配置文件vim /etc/httpd/conf.d/login.conf
##访问login.westos.com时以443接口访问
2.域名解析 /etc/hosts
3.设置默认发布信息
[[email protected] conf.d]# mkdir /var/www/virtual/login/html -p
[[email protected] conf.d]# vim /var/www/virtual/login/html/index.html
<h1>Test Page</h1>
4.重启后
访问 login.westos.com
5.地址转换
## ^(/.*)$ 客户在浏览器地址输入的所有字符
## https:// 强制客户加密访问
## %{HTTP_HOST} 客户访问主机
## $1 表示^(/.*)$的值
##301 临时重写,302表示永久转换
6.重启后,访问login.westos.com将自动调转到 https://login.westos.com
七、Apache的CGI脚本
1.安装插件 httpd-manual.noarch
重启后访问172.25.254.108/manual
2.点击CGI链接,查看相关信息
3.切换到默认发布目录,配置CGI
[[email protected] conf.d]# cd /var/www/html
[[email protected] html]# mkdir cgi
[[email protected] html]# cd cgi
[[email protected] cgi]# vim index.cgi
[[email protected] cgi]#chmod +x index.cgi
[[email protected] cgi]# ./index.cgi
Content-type: text/html
Wed May 9 10:33:29 EDT 2018
4.重启后访问172.25.254.148/cgi/index.cgi
将直接输出 index.cgi 的内容而不会执行
5.修改http的配置文件 vim /etc/httpd/conf/httpd.conf
重启后再次访问172.25.254.148/cgi/index.cgi
若selinux=Enforing,需修改安全上下文
semanage fcontext -a -t httpd_sys_content_t '/var/www/html/cgi(/.*)?'
restorecon -RvvF '/var/www/html/cgi
八、代理服务器 Squid Server
正向代理
1.安装 squid
[[email protected] conf.d]# yum install squid -y
2.打开squid服务,查看端口
3.修改配置文件 /etc/squid/squid.conf
##100 缓存数据大小,超过100M将自动清理之前的缓存
##16 子目录个数,用于存放缓存数据的文件
##256 子目录中文件的个数,共256个
4.重启服务后,通过真机访问百度(注意:真机不能浏览网页)
[[email protected] Desktop]$ ping www.baidu.com
connect: Network is unreachable
通过浏览器,修改配置
Preferences > Advanced > Network > Connection Settings > Manual > Http Proxy > 172.25.254.108(可联网主机) Prot:3128 > 选择使用代理服务器
再次访问
反向代理
1.安装squid,修改配置文件
2.本机访问本身IP(注意:本机没有http服务)
网页将直接显示148主机的默认发布文件
108主机:有http服务,有默认发布文件
208主机:没有http服务,设置反向代理108主机
109主机:没有http服务,设置反向代理主机208
当109主机访问本身时:109 > 208 > 108
反向代理轮询
1.修改配置文件 /etc/squid/squid.conf
58 # Squid normally listens to port 3128
59 http_port 80 vhost vprot
60 cache_peer 172.25.254.108 parent 80 0 proxy-only round-robin originserver name=web1 weight=3
61 cache_peer 172.25.254.166 parent 80 0 proxy-only round-robin originserver name=web2 weight=1
62 cache_peer_domain web1 web2 www.westos.com
##round-robin 轮询(squal不能提供平衡轮询)
##weight=3 轮询次数
2.重启squid,配置域名解析
3.访问www.westos.com,出现轮询结果
九、搭建论坛
1.安装php、mod_ssl、http、php-mysql、mariadb-server
2.修改数据库密码 mariadb
3.下载论坛数据包 Discuz_X3.2_SC_UTF8.zip
4.解压数据包,并修改权限 ##注意:路径是默认发布目录
[[email protected] html]# unzip Discuz_X3.2_SC_UTF8.zip
[[email protected] html]# ls
cgi Discuz_X3.2_SC_UTF8.zip index.html readme upload utility
[[email protected] html]# chmod 777 upload/ -R
[[email protected] html]# systemctl restart httpd.service
5.访问http://172.25.254.108/upload进行网页安装