网络技能大赛A模块第一套,涉及到apache的配置,认证网站、加密https网站。
debian中apache配置和Centos有点不太一样,各类配置放在子配置文件中。
5.Webserver(apache) 考点apache+CA
·安装apache服务;
Ÿ由Server01提供www.sdskills.com
Ÿskills公司的门户网站;
Ÿ使用apache服务;
Ÿ网页文件放在/data/share/htdocs/skills;
Ÿ服务以用户webuser运行;
Ÿ首页内容为“This is the front page of sdskills’s website.”;
Ÿ/htdocs/skills/staff.html内容为“Staff Information”;
Ÿ该页面需要员工的账号认证才能访问;
·员工账号存储在ldap中,账号为zsuser、lsuser
Ÿ网站使用https协议;
ŸSSL使用RServer颁发的证书, 颁发给:
C = CN
ST = China
L = ShangDong
O = skills
OU = Operations Departments
CN = *.skills.com
ŸSever01的CA证书路径:/CA/cacert.pem
Ÿ签发数字证书,颁发者:
C = CN;
O = Inc
OU = www.shills.com
CN = shill Global Root CA
客户端访问https时应无浏览器(含终端)安全警告信息;
当用户使用http访问时自动跳转到https安全连接;
当用户使用sdskills.com或any.sdskills.com(any代表任意网址前缀)访问时,自动跳转到www.sdskills.com。
1、通用网页的配置
1.1、安装
apt install apache2 -y
ss -tunlp |grep 80 #Debian服务安装完即启动状态
1.2、修改网页默认首页的位置
vim /etc/apache2/sites-enabled/000-default.conf
12 DocumentRoot /data/share/htdocs/skills
1.3、创建用户,并将用户做为apache运行用户
useradd webuser
vim /etc/apache2/apache2.conf
修改
117 User webuser
118 Group webuser
171 #<Directory /var/www/> 注释,给网站访问权限
<Directory <Directory /var/www/>>
172 Options Indexes FollowSymLinks
173 AllowOverride None
174 Require all granted
175 </Directory>
1.4、创建网站首页
mkdir -p /data/share/htdocs/skills
vim /data/share/htdocs/skills/index.html
"This is the front page of sdskills's website."
5、重启服务,查看网页。这时可以显示要求的网页,但是以http形式,没有加密
用户认证网页配置,即要输入用户名和密码才能访问的网页、
注:感觉题目不清晰,这里认为/staff.htm页是一个虚拟目录,因为并没有指定虚拟主机的域名
2.1 CA服务器,安装ssl、全局ssl配置
- apt install openssl
- /etc/ssl/openssl.cnf
48 dir = /csk-rootca #修改证书位置
- /etc/ssl/openssl.cnf
- 创建CA目录 mkdir /CA
复制配置模板 cp -rf /etc/ssl/* /CA- cd /CA 注意,下面都是在这个目录下操作的
- touch index.txt #索引文件
- openssl genrsa -out private/cakey.pem #默认生成长度2048一个密钥
- openssl req -new -x509 -key ./private/cakey.pem -out cacert.pem
- #利用根密钥生成一个根证书(不要放在private目录,此目录专门存放私钥),这个命令会提示一些信息,根据上面的要求填写。
- scp /CA/cacert.pem 192.168.8.140:/CA/ #将证书复制到服务器。
- 在浏览器中安装证书
3 创建虚拟目录,并做认证才可以访问
3.1 vim mods-enable/alias.conf
Alias /user /htdocs/skills
<DIrectory /htdocs/skills> //指定对那一个目录进行认证
AllowOverride AuthConfig
AuthName "password please" //该说明会出现在显示给用户的密码的提问的对话框中
AuthType Basic //加密方式,basic认证并不加密来自用户浏览器的地址
AuthUserFile /data/.htpasswd //下面要创建的密码文件
require user zsuser lsuser
# require valid-user //设置允许访问的用户
</Directory>
3.2 创建进行验证的用户
htpasswd -c /etc/apache2/ldap zsuser
3.3 创建认证网页
vim /htdocs/skills/staff.html
Staff Information
3.4 重启apache2