目录
一、基于域名www.openlab.com可以访问网站内容为welcome to openlab!!!
三、要求(1)学生信息网站只有song和tian两人可以访问,其他网站所有用户用能访问。 (2)访问缴费网站实现数据加密基于https访问。
前言:
在我们在Linux主机上做相关web配置,我们首先要检查我们的主机是否安装有HTTP服务,在配置的时候我们要检查我们主机的防火墙和selinux是否关闭,这些基本操作都会影响我们后续是否能够成功部署相关服务。
1.关闭防火墙和selinux
systemctl stop/disable firewalld 关闭/永久关闭防火墙
setenforce 0 关闭selinux
2.检查主机是否安装HTTP、HTTPS相关服务
rpm -qa | grep http
如果没有安装:yum install mod_ssl httpd -y
一、基于域名www.openlab.com可以访问网站内容为welcome to openlab!!!
分析:
基于域名来访问网站,我们需要注意在配置中写入对应的域名,并在Linux主机/etc/hosts文件中添加我们对应域名的解析信息,如果想要在Windows主机浏览器实现域名访问的话,我也需要将配置的dns信息加到相关的配置文件hosts中,但在win10、win11主机上我们没有这个权限,所以我们可以使用IP地址来访问。
相关配置:
1.创建http的配置文件
touch /etc/httpd/conf.d/vhosts.conf
2.编辑相关配置
vim /etc/httpd/conf.d/vhosts.conf
相关配置:
<VirtualHost 192.168.95.129:80>
DocumentRoot /www/openlab
ServerName www.openlab.com
</VirtualHost>
<Directory /www/openlab> #该目录是http服务去识别的文件,这个可以自定义
AllowOverride none
Require all granted
</Directory>
3.将网站内容写入到相关文件中
mkdir /www/openlab
echo welcome to openlab !!! > /www/openlab/index.html
4.将域名解析信息加到/etc/hosts文件中
vim /etc/hosts
192.168.95.129 www.openlab.com
5.重启httpd服务
systemctl restart httpd
6.检测是否成功
curl http://www.openlab.com
测试结果是这个则代表配置成功。
二、给公司创建三个网站目录分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student 网站访问学生信息、 www.openlab.com/data网站访问教学资料、
www.openlab.com/money网站访问缴费网站。
分析:
在第一题的基础上,我们需要给该公司网站配置别名即可实现上述要求
相关配置:
1.更改配置文件(因为有三个网站,所以我们要添加三个别名,并给出相应的权限):
vim /etc/httpd/conf.d/vhosts.conf
<VirtualHost 192.168.95.129:80>
DocumentRoot /www/openlab
ServerName www.openlab.com
alias /student /xuni/student #下面这三条配置是添加别名
alias /data /xuni/data
alias /money /xuni/money
</VirtualHost>
<Directory /www/openlab>
AllowOverride none
Require all granted
</Directory>
<Directory /xuni>(给出对应的文件位置和权限)
allowOverride none
Require all granted
</Directory>
2.创建相应目录,并写入index.html文件:
mkdir /xuni/{student,data,money} -pv
echo this is student > /xuni/student/index.html
echo this is data > /xuni/data/index.html
echo this is money > /xuni/money/index.html
3.重启http服务并测试
systemctl restart httpd
curl http://www.openlab.com/student/
curl http://www.openlab.com/data/
curl http://www.openlab.com/money/
测试结果是这个则代表配置成功。
三、要求(1)学生信息网站只有song和tian两人可以访问,其他网站所有用户用能访问。
(2)访问缴费网站实现数据加密基于https访问。
分析:
(1)要实现只有song和tian两个用户可以访问的学生信息网站,那么我们需要添加用户验证,首先我们需要创建用户和密码,然后更改配置文件即可,要注意我们需要在学生信息网站对应的配置文件中加入访问控制。
(2)基于https访问加密网站的话我们需要自签名一个证书来让访问主机信任,其他则跟相关要求配置即可。
相关配置:
(1)1.添加用户信息,输入命令再根据提示输入密码即可
htpasswd -c /etc/httpd/users song
htpasswd /etc/httpd/users tian
htpasswd /etc/httpd/users zhang
htpasswd /etc/httpd/users wang
2.更改配置文件
<Directory /xuni/student>
allowOverride none
AuthType Basic
AuthName "please login...."
AuthUserFile /etc/httpd/users
Require user song tian #只允许song 和 tian两位用户登录
</Directory>
<Directory /xuni/data>
allowOverride none
AuthType Basic
AuthName "please login...."
AuthUserFile /etc/httpd/users
Require valid-user #允许所有用户登录
</Directory>
<Directory /xuni/money>
allowOverride none
AuthType Basic
AuthName "please login...."
AuthUserFile /etc/httpd/users
Require valid-user
</Directory>
3.重启http服务并测试
systemctl restart httpd
curl -u 用户名:密码 http://www.openlab.com/student/
(2)1.实现自签名证书(在Linux主机安装mod_ssl的前提下)
mkdir /xuni/money/{private,certs}
openssl genrsa 2048 > /xuni/money/private/openlab.key
openssl req -utf8 -new -key /etc/pki/tls/private/openlab.key -x509 -days 365 -out
/xuni/money/certs/openlab.crt
2.更改配置文件
<VirtualHost 192.168.95.129:443>
DocumentRoot /xuni/money
ServerName www.openlabmoney.com
SSLEngine on
SSLCertificateFile /xuni/money/certs/openlab.crt
SSLCertificateKeyFile /xuni/money/private/openlab.key
</VirtualHost>
<Directory /xuni/money>
allowOverride none
Require all granted
</Directory>
3.重启http服务并验证
systemctl restart httpd
curl https://www.openlabmoney.com -k
测试结果是这两个则代表配置成功。
四、排错思路
一般我们在配置web网站服务时,总会遇到错误的提示信息,一般都是我们没有关闭防火墙和seLinux,尤其要注意seLinux,因为在每次主机开机我都需要去将他关闭,再或者就是我们配置文件写错了,在检查配置文件的时候我们要注意检查以下几个:IP、文件目录、域名、端口、目录权限、访问控制以及是否以正确的格式输入命令。