虚拟主机搭建网站
请给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访问。
在正式实验前我们要先下载一下要用到的服务和一些预处理
1.基础网站搭建
[root@server ~]# yum install httpd -y //安装Apache
[root@server ~]# setenforce 0 // 临时关闭selinux
setenforce: SELinux is disabled
[root@server ~]# systemctl stop firewalld // 关闭防火墙
[root@server ~]# systemctl disable firewalld // 关闭开机启动
[root@server ~]# systemctl start httpd // 启动httpd服务
[root@server ~]# systemctl enable httpd //设置httpd开机启动
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@server ~]# systemctl status httpd //此时可以查看一下服务状态
2. 创建如图所示文件夹并分别在里面创建index.html文件
3.打开配置文件使用域名访问虚拟主机网站,在windows下的host文件内写入域名与ip地址的映射(在打开hosts时要以管理员身份运行)
[root@server ~]# vim /etc/httpd/conf/httpd.conf //打开配置文件在最后一行输入
<VirtualHost 192.168.74.133>
DocumentRoot /www
ServerName 'www.openlab.com'
<Directory /www>
AllowOverride None
require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.74.133>
DocumentRoot /www/data
ServerName 'www.openlab.com/data'
<Directory /www/data>
AllowOverride None
require all granted
</Directory>
</VirtualHost>
[root@server ~]# systemctl restart httpd //重启服务(每次修改配置文件都要重启服务)
4.用户登录网站设置
新建2个账户并设置密码:song和tian
[root@server ~]# useradd tian
[root@server ~]# passwd tian
[root@server ~]# useradd song
[root@server ~]# passwd song
设置student文件夹权限:
[root@server ~]# chmod -Rf 755 /www/student
增加密码访问控制,创建密码文件
[root@server ~]# htpasswd -c /etc/httpd/passwd song
New password:
Re-type new password:
Adding password for user song
[root@server ~]# htpasswd /etc/httpd/passwd tian
New password:
Re-type new password:
Adding password for user tian
// htpasswd : 生成密码数据的命令
//-c 表示第一次生成,第二次给账户创建密码不能使用,否则第一次输入的密码会被覆盖
// /etc/httpd/passwd : 存储密码的数据库文件
修改配置文件添加访问控制:
[root@server ~]# vim /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.74.133>
DocumentRoot /www/student
ServerName 'www.openlab.com/student'
</VirtualHost>
<Directory /www/student>
Authtype Basic //加密模式
AuthName "privately website" //用户登录的提示信息
AuthUserFile /etc/httpd/passwd //设置刚刚生成的密码文件
Require user song tian //用户进行登录时需要验证密码的账户名
</Directory>
[root@server ~]# systemctl restart httpd //重启服务
5. 加密认证网站www.openlab.com/money
安装mod_ssl组件:
[root@server ~]# yum install mod_ssl -y
在/etc/pki/tls/private中生成私钥文件
[root@server ~]# cd /etc/pki/tls/private //先进入到存储私钥文件的目录使用openssl命令建立私钥文件
[root@server private]# openssl genrsa -aes128 2048 > money.key
Enter PEM pass phrase: //设置私钥文件的加密密码
Verifying - Enter PEM pass phrase: //重输密码
在/etc/pli/tls/certs目录中新建数字证书
[root@server private]# cd /etc/pki/tls/certs //进入certs目录中
[root@server 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) []:ce //部门
Common Name (eg, your name or your server's hostname) []:server // 主机名
Email Address []:dxl@qq.com // 邮箱
修改配置文件:
<VirtualHost 192.168.74.133:443> //设置虚拟主机区域配置,设置IP及端口号
SSLEngine on //开启ssl
SSLCertificateFile /etc/pki/tls/certs/money.crt //证书存储路径
SSLCertificateKeyFile /etc/pki/tls/private/money.key //私钥存储路径
ServerName 192.168.74.133 //主机名
DocumentRoot /www/money //启动目录
alias /money /www/money
</VirtualHost>
<Directory /www/money> //网站目录的权限设置
AllowOverride none
Require all granted
</Directory>
重启服务,输入私钥的加密密码
[root@server certs]# systemctl restart httpd
🔐 Enter TLS private key passphrase for 192.168.74.133:443 (RSA) : ******
下面为windows端,C:\Windows\System32\drivers\etc\hosts中添加的内容(按住ctrl+s以管理员身份运行即可保存)
到此所有实验目标均已完成!