网站需求:

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访问

 环境准备

[root@server ~]# systemctl stop firewalld  #关闭防火墙
[root@server ~]# setenforce 0    #关闭selinux
[root@server ~]# yum install httpd -y  #安装apache

域名问题的解决

1.可以自己搭建一个DNS服务器。

2.也可以直接在虚拟机的hosts文件路径(:/etc/hosts)直接写映射关系,这种方法虽然笨重但是对于前期的学习来讲很方便。

为虚拟机创建映射

[root@server ~]# vim /etc/hosts
192.168.20.133 www.openlab.com

这个映射只能在虚拟机带的浏览器中获取到,如果想要在window中也访问就需要去"C:\Windows\System32\drivers\etc\hosts"这个文件下编写网站映射关系

新建网页目录并建立网页

[root@server ~]# mkdir -p /www/openlab/{student,data,money}
[root@server ~]# echo "welcome openlab" > /www/openlab/index.html 
[root@server ~]# echo "studentweb" > /www/openlab/student/index.html
[root@server ~]# echo "dataweb" > /www/openlab/data/index.html
[root@server ~]# echo "moneyweb" > /www/openlab/money/index.html
[root@server ~]# tree /www/
/www/
└── openlab
    ├── data
    │   └── index.html
    ├── index.html
    ├── money
    │   └── index.html
    └── student
        └── index.html

4 directories, 4 files

建立主网站

[root@server ~]# vim /etc/httpd/conf/httpd.conf 
<virtualhost 192.168.20.133>  #虚拟主机名字
        documentroot /www/openlab #网站的存储路径
        servername www.openlab.com #域名,可以直接写IP
</virtualhost>
<directory /www/openlab>
        allowoverride none  
        require all granted #允许访问当前文件目录
</directory>

重启httpd服务,访问www.openlab.com网站

[root@server ~]# systemctl restart httpd

 成功访问我们的主网站

 建立student学生信息子网站

学生信息网站只有song和tian两人可以访问,其他用户不能

 创建两个新用户

[root@server ~]# useradd song
[root@server ~]# passwd song 
更改用户 song 的密码 。
新的密码: 
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。
[root@server ~]# useradd tian
[root@server ~]# passwd tian 
更改用户 tian 的密码 。
新的密码: 
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。
[root@server ~]# 

 增加密码访问控制

[root@server ~]# htpasswd -c /etc/httpd/passwd song 第一次要用-c新建一个
New password: 
Re-type new password: 
Adding password for user song
[root@server ~]# htpasswd  /etc/httpd/passwd tian 第二次用-c参数会被覆盖
New password: 
Re-type new password: 
Adding password for user tian

 编辑个人配置文件设置访问需要密码

[root@server ~]# vim /etc/httpd/conf/httpd.conf 直接编辑主配置文件
<virtualhost 192.168.20.133>
        documentroot /www/openlab/student
        alias /student /www/openalb/student
        servername 'student'
</virtualhost>
<directory /www/openlab/student>
        allowoverride none
        authname  "My privately website"
        authuserfile /etc/httpd/passwd 密码设置的路径
        authtype basic
        require user song tian 允许访问的用户用空格隔开

</directory>

 登录成功建立教学资料网站

这个比较简单,直接建一个虚拟主机的标签,把子目录做一个别名就行了

[root@server ~]# vim /etc/httpd/conf/httpd.conf 
<virtualhost 192.168.20.133>
        documentroot /www/openlab/data
        servername 'data'
        alias /data /www/openlab/data
</virtualhost>
<directory /www/openlab>
        allowoverride none
        require all granted
</directory>

 建立缴费网站

访问缴费网站实现数据加密基于https访问

创建公私钥

[root@server ~]# openssl genrsa -aes128 2048 > /etc/pki/tls/private/money.key
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
[root@server ~]# openssl req -utf8 -new -key /etc/pki/tls/private/money.key -x50
9 -days 365 -out /etc/pki/tls/certs/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) []:ce 部门
Common Name (eg, your name or your server's hostname) []:server 主机名
Email Address []:66 邮箱
[root@server ~]# vim /etc/httpd/conf.d/ssl.conf 



<virtualhost 192.168.20.133:443>
        sslengine on
        SSLCertificateFile /etc/pki/tls/certs/money.crt
        SSLCertificateKeyFile /etc/pki/tls/private/money.key
        servername      'money'
        documentroot    /www/openlab/money
        alias  /money  /www/openlab/money
</virtualhost>

<directory  /www/openlab>
        allowoverride  none
        require all granted
</directory>

[root@server ~]# systemctl restart httpd
🔐 Enter TLS private key passphrase for money:443 (RSA) : ******  出现这个代表配置成功

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐