综合练习:请给openlab搭建web网站,网站需求:
第一:基于域名www.openlab.com可以访问网站内容为welcome to openlab!!!
第二:给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于
www.openlab.com/student网站访问学生信息,www.openlab.com/data网站访问教学资料
www.openlab.com/money网站访问缴费网站
要求:
(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
(2)访问缴费网站实现数据加密基于https访问。
第一步:
基于域名www.openlab.com可以访问网站内容为welcome to openlab!!!
[root@server ~]# echo "welcome to openlab!!!" > /var/www/html/www.openlab.com
echo "welcome to openlabsystemctl start httpd!" > /var/www/html/www.openlab.com
第二步:
首先:
- 恢复快照------>关闭SELinux及防火墙
-
[root@server ~]# setenforce 0 [root@server ~]# getenforce Permissive [root@server ~]# systemctl stop firewalld
- 安装httpd
-
[root@server ~]# yum install httpd -y
- 新建3个目录,并使用xftp上传网业源文件
-
[root@server ~]# mkdir -p /www/student [root@server ~]# mkdir -p /www/data [root@server ~]# mkdir -p /www/money
备注:student 对应 zy的网业源, data 对应 sxhkt的网业源, money 对应 zy的网业源
其次:
手工配置IP地址与域名的映射关系,在系统对应的hosts文件中进行设置
[root@server ~]# vim /etc/hosts # 添加ip与域名映射关系
192.168.121.128 www.openlab.com/student
192.168.121.128 www.openlab.com/data
192.168.121.128 www.openlab.com/money
使用ping命令测试:
[root@server ~]# ping www.openlab.com/student
PING www.openlab.com/student (192.168.121.128) 56(84) 比特的数据。
64 比特,来自 www.openlab.com/student (192.168.121.128): icmp_seq=1 ttl=64 时间=0.141 毫秒
[root@server ~]# ping www.openlab.com/data
PING www.openlab.com/data (192.168.121.128) 56(84) 比特的数据。
64 比特,来自 www.openlab.com/student (192.168.121.128): icmp_seq=1 ttl=64 时间=0.039 毫秒
[root@server ~]# ping www.openlab.com/money
PING www.openlab.com/money (192.168.121.128) 56(84) 比特的数据。
64 比特,来自 www.openlab.com/student (192.168.121.128): icmp_seq=1 ttl=64 时间=0.030 毫秒
主配置文件设置:
[root@server ~]# vim /etc/httpd/conf/httpd.conf
# 定位最后一行,添加如下内容
<VirtualHost 192.168.121.128>
DocumentRoot /www/student
ServerName "www.openlab.com/student"
<Directory /www/student>
AllowOverride None
require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.121.128>
DocumentRoot /www/data
ServerName "www.openlab.com/data"
<Directory /www/data>
AllowOverride None
require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.121.128>
DocumentRoot /www/money
ServerName "www.openlab.com/money"
<Directory /www/money>
AllowOverride None
require all granted
</Directory>
</VirtualHost>
重启服务并测试:
[root@server ~]# systemctl restart httpd
打开浏览器,输入域名后测试。
接着:
学生信息网站只有song和tian两人可以访问,其他用户不能访问
编辑httpd用户主页配置文件,设置对应参数:
[root@server ~]# vim /etc/httpd/conf.d/userdir.conf
#UserDir disabled 此行添加# 表示开启用户主页功能
#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disabled" line above, and uncomment
# the following line instead:
#
UserDir public_html 定位此行,去掉# 表示网站数据保存在用户家目录中
新增2个普通账户 :
[root@server ~]# useradd song
[root@server ~]# useradd tian
[root@server ~]# passwd song
更改用户 song 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server ~]# passwd tian
更改用户 tian 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
切换到普通账户,进入家目录,新建用于存储网页数据的public_html目录,并设置权限:
[root@server ~]# su song # 切换账户
[t1@server root]$ cd /home/song # 进入song账户的家目录
[t1@server ~]$ mkdir public_html # 新建用于存储网页数据的目录public_html
# 使用xftp将zy目录内容所有网页文件上传到/home/song/public_html目录中
[t1@server ~]$ chmod -Rf 755 /home/song # 设置权限
[t1@server ~]$ ll # 查看权限
[root@server ~]# su tian # 切换账户
[t1@server root]$ cd /home/tian # 进入tian账户的家目录
[t1@server ~]$ mkdir public_html # 新建用于存储网页数据的目录public_html
# 使用xftp将zy目录内容所有网页文件上传到/home/tian/public_html目录中
[t1@server ~]$ chmod -Rf 755 /home/tian # 设置权限
[t1@server ~]$ ll # 查看权限
重启服务:
[t2@server ~]$ su root # 切换到root账户
密码:
[root@server ~]# systemctl restart httpd # 重启服务
访问
最后:
访问缴费网站实现数据加密基于https访问
安装:[root@server ~]# yum install mod_ssl -y
在/etc/pki/tls/private目录下生成私钥文件:
[root@server ~]# cd /etc/pki/tls/private
[root@server private]# ls
[root@server private]# openssl genrsa -aes128 2048 > money.key # 建立私钥文件
Enter PEM pass phrase: # 设置私钥文件加密的密码,如:123456
Verifying - Enter PEM pass phrase: #重输密码
[root@server private]# ls
money.key
在/etc/pki/tls/certs目录下新建证书:
[root@server ~]# cd /etc/pki/tls/certs
[root@server certs]# openssl req -utf8 -new -key /etc/pki/tls/private/money.key -
x509 -days 365 -out andy.crtEnter pass phrase for /etc/pki/tls/private/money.key:
# 私钥的加密密码,如上例的123456
You are about to be asked to enter information that will be incorporated
5 into your certificate request.
6 What you are about to enter is what is called a Distinguished Name or a DN.
7 There are quite a few fields but you can leave some blank
8 For some fields there will be a default value,
9 If you enter '.', the field will be left blank.
10 -----
11 Country Name (2 letter code) [XX]:86
12 State or Province Name (full name) []:shanxi13 Locality Name (eg, city)[Default City]:xi'an
14 Organization Name (eg, company) [Default Company Ltd]:openlab
15 Organizational Unit Name (eg, section) []:RHCE
16 Common Name (eg, your name or your server's hostname) []:localhost
17 Email Address []:money@qq.com
<VirtualHost 192.168.121.128:443> #访问的ip地址及端口号
SSLEngine on #开启ssl引擎
SSLCertificateFile /etc/pki/tls/certs/money.crt #证书路径
SSLCertificateKeyFile /etc/pki/tls/private/money.key #私钥路径
ServerName 192.168.121.128 #主机名
DocumentRoot /www/money #网站启动目录
</VirtualHost>
<Directory /www/money> #网站目录的权限
AllowOverride none
Require granted
</Directory>
重启服务:
[root@server certs]# systemctl restart httpd