- 综合练习:请给openlab搭建web网站,网站需求
- 1.基于域名www.openlab.com可以访问网站内容为welcome to openlab!!!
- 2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student网站访问学生信息,www.openlab.com/data网站访问教学资料www.openlab.com/money网站访问缴费网站
- 3.要求
- (1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
- (2)访问缴费网站实现数据加密基于https访问。
一,基于域名访问www.openlab.com
在文档中写入IP与域名的映射关系
在Windows中找到hosts文件
C:\Windows\System32\drivers\etc
定位到最后一行写入映射关系
在Linux中创建 /www/openlab 目录
[root@root ~]# mkdir -pv /www/openlab
mkdir: 已创建目录 '/www'
mkdir: 已创建目录 '/www/openlab'
将以下内容写入此目录中的网页文件(index.html)
[root@root ~]# echo welcome to openlab!!! > /www/openlab/index.html
开始做准备工作:关闭防火墙和Selinux,下载httpd服务
[root@root ~]# setenforce 0
[root@root ~]# systemctl stop firewalld[root@root ~]# yum install httpd -y
更改主配置文件
[root@root ~]# vim /etc/httpd/conf/httpd.conf
#定位到107行#更改配置文件
<VirtualHost 192.168.242.129>
DocumentRoot /www/openlab
ServerName "www.openlab.com"
<Directory /www/openlab>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
ESC键 退出编辑模式:wq 保存并退出
#重启httpd服务
[root@root ~]# systemctl restart httpd
测试
二、让song和tian用户可以访问信息网站
创建三个目录,并在对应的index.html写入内容
[root@root ~]# mkdir /www/openlab/student
[root@root ~]# mkdir /www/openlab/data
[root@root ~]# mkdir /www/openlab/money
[root@root ~]# echo "student" > /www/openlab/student/index.html
[root@root ~]# echo "data" > /www/openlab/data/index.html
[root@root ~]# echo "money" > /www/openlab/money/index.html#查看刚刚写入的内容
[root@root ~]# cat /www/openlab/student/index.html
student
[root@root ~]# cat /www/openlab/data/index.html
data
[root@root ~]# cat /www/openlab/money/index.html
money
创建两个用户song和tian
[root@root ~]# htpasswd -c /etc/httpd/user song
New password:
Re-type new password:
Adding password for user song
[root@root ~]# htpasswd /etc/httpd/user tian
New password:
Re-type new password:
Adding password for user tian
#注意:创建song用户时加了 -c ,创建tian用户时不可以再加 -c ,否则会把song用户覆盖掉
修改主配置文件
[root@root ~]# vim /etc/httpd/conf.d/userdir.conf
测试
三、缴费网站基于https访问
首先安装mod_ssl插件
[root@root ~]# yum install mod_ssl -y
在/etc/pki/tls/private 目录下生成私钥文件
[root@root ~]# cd /etc/pki/tls/private/
[root@root private]# ll
总用量 0
[root@root private]# openssl genrsa -aes128 2048 > money.key
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
在/etc/pki/tls/certs目录下新建证书
[root@root private]# cd /etc/pki/tls/certs/
[root@root certs]# openssl req -utf8 -new -key /etc/pki/tls/private/money.key -x509 -days 365 -out money.crt
Enter pass phrase for /etc/pki/tls/private/money.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:86
State or Province Name (full name) []:shanxi
Locality Name (eg, city) [Default City]:xi'an
Organization Name (eg, company) [Default Company Ltd]:openlab
Organizational Unit Name (eg, section) []:RHCE
Common Name (eg, your name or your server's hostname) []:localhost
Email Address []:money@qq.com
输入证书信息时,必须一次性写对,不能删除
主配置文件的编辑
在/etc/httpd/conf.d/ssl.conf中的结尾添加
<VirtualHost 192.168.242.129:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/money.crt
SSLCertificateKeyFile /etc/pki/tls/private/money.key
ServerName www.openlab.com
DocumentRoot /www/openlab/money
</VirtualHost>
<Directory /www/openlab/money>
AllowOverride none
Require all granted
</Directory>
最后重启http服务
[root@root ~]# systemctl restart httpd
🔐 Enter TLS private key passphrase for www.openlab.com:443 (RSA) : ****** #输入密码
测试