实验环境: 关闭防火墙,关闭selinux,设置ip地址为 20.0.0.1/24
因为图形桌面下系统自带安装了apahce,我们只需要启动,然后去修改配置文件,实验我们所需的服务
主配置文件在 /etc/httpd/conf/httpd.conf
网页目录 /var/www/html/
访问日志 /var/log/httpd/access_log
错误日志 /var/log/http/error_log
第一步:基于ip的虚拟主机
我写了2个虚拟的ip地址,那么我就要本地上添加2个虚拟的ip地址
我的网页存放位置必须有web1和web2的网页
我直接到/var/www/ 下
[root@localhost www]# mkdir web1
[root@localhost www]# mkdir web2
[root@localhost web1]#echo apahce web1 > index.html
[root@localhost web1]# ls
index.html
[root@localhost web1]#
[root@localhost web2]#echo apahce web1 > index.html
[root@localhost web2]# ls
index.html
创建虚拟的ip地址:
打开网页输入http://30.0.0.1 测试
打开网页输入http://40.0.0.1 测试
第二步:基于端口的虚拟主机
Vim /etc/httpd/conf/httpd.conf 添加端口
Httpd默认监听的是80端口,我也要让他监听8080的端口
Service httpd restart
测试!
第三步:基于域名的虚拟主机
但是需要启动
写了域名需要搭建DNS服务器,我直接在/etc/hosts 下添加
20.0.0.1 www.wangxing.org
20.0.0.1 www.wangxing.com
可以到客户端去测试!客户端的ip为20.0.0.2/24
在客户端的/etc/hosts
添加 20.0.0.1 www.wangxing.org
20.0.0.1 www.wangxing.com
测试!
第四步:建立系统用户的个人主页
Vim /etc/httpd/conf/httpd.conf
Service httpd restart
创建一个wangxing的用户
Useraddd wangxing
在wangxing用户下创建一个public_html 目录,
在public_html 下创建一个index.html 网页
测试!
这是我在index.html 里面写的东西
备注:可以使用ftp上传一个用户网页。需要安装ftp软件。
第五步:httpd服务访问控制
Vim /etc/httpd/conf/httpd.conf
我写了一个访问控制 ,
测试 !
只能访问到apache的主页上,我拒绝的是20.0.0.1,那么我到客户端20.0.0.3上测试一下 !
测试!
我在写一条规则,只允许20.0.0.1访问,拒绝
Service httpd restart
我在客户端测试!
这就是访问控制!
第六步:基于用户的访问控制
Vim /etc/httpd/conf/httpd.conf
重启 service httpd restart
创建用户和密码,使用htpasswd 的工具
Htpasswd -cm /etc/httpd/.haha aa aa代表的是用户。-c是创建用户
Htpasswd -m /etc/httpd/.haha bb 是添加bb用户
测试!
在客户端测试
提醒我输入用户名和密码,输入用户名和密码后。看到的结果如下图:
第七步 :让apache支持ssl
需要安装的软件 groupinstall web-server mod_ssl
[root@localhost httpd]# yum groupinstall wenb-server -y
在安装的时候会发现
我就不用去安装mod_ssl. 在创建证书还要安装ctypto-utils 不过我在安装web-server时已经安装过了。
生成证书:
Days 证书的天数,生成的证书要和我的域名主机对应。
Vim /etc/httpd/conf.d/ssl.conf
测试!
提示我网是不信任的
因为我有2个网站我要给2个网站共享一个证书。
我需要将
将<virtualhost >开始
~~~~~~~~
</virtualhost>结束
将这个区域复制一下
测试!
如果要让web2 单独认证的话,那么去给web2生成一个证书,修改web2证书的存放位置就ok了