24-4-15 作业.note

· 开启 apache2 的本地帮助文档:
a2enconf apache2-doc
systemctl reload apache2
# 这样就启用成功了在客户端上访问:
在域名后输入 URI:/manual

还可以选择语言:

一、技能实践:
1、安装apache2, 创建网站首页内容为“This is my test page”, 支持https访问:
(1)先创建 CA证书:
· 使用自签名证书:
mkdir -p /etc/ssl/tls //创建一个目录用于存储证书
# 创建可供 Linux 使用的证书:
openssl req -new -x509 -nodes -out /etc/ssl/tls/server.cisco.com.crt -keyout /etc/ssl/tls/server.cisco.com.key
(然后会弹出一些字段让你填写,按照顺序为:国家,省份,城市,组织名称,组织单位名称,FQDN,Email)
# 创建可供 Windows 使用的证书:(因为 Edge浏览器会验证证书的 DNS 字段)
openssl req -new -x509 -nodes -out /etc/ssl/tls/server.cisco.com.crt -keyout /etc/ssl/tls/server.cisco.com.key -subj "/CN=www.cisco.com" -addext "subjectAltName=DNS:www.cisco.com" // “ CN ”需要大写,否则小写会报错
(因为手动指定了 FQDN,所以不会弹出额外字段要求填写)

· 使用 CA颁发的证书:
创建 根CA:
mkdir /etc/ssl/tls
cd /etc/ssl/tls
# 创建 根CA:
/usr/lib/ssl/misc/CA.pl -newca
(会提示先输入两次密码,然后按照 国家、省份、城市、组织名称、组织单位、FQDN、Email)
创建证书申请:
/usr/lib/ssl/misc/CA.pl -newreq-nodes //新建证书申请
签发证书:
/usr/lib/ssl/misc/CA.pl -sign
(2)配置 https 页面:
apt install -y apache2
cd /etc/apache2/sites-available/
cp 000-default.conf 001-cisco.conf
a2ensite 001-cisco.conf
a2dissite 000-difault.conf
vim 001-cisco.conf
echo "This is my test page" > /var/www/html/index.html
systemctl restart apache2
scp /etc/ssl/tls/server.cisco.com.crt skills@192.168.10.8:~(3)客户端信任证书:
cat >> /etc/hosts <<EOF
192.168.10.254 cisco.com
192.168.10.254 www.cisco.com
# 信任服务器传来的证书:
cp server.cisco.com.crt /usr/local/share/ca-certificates/
update-ca-certificates 
(4)客户端访问测试:

2、配置apache2的运行用户和组为www:
adduser www
vim /etc/apache2/envvars
或者直接修改 apache2.conf 文件,因为apache2.conf 文件是直接读取 envvars中的变量的:
vim /etc/apache2/apache2.conf

查看:
ps aux | grep www
3、通过命令行工具从客户端访问apache2, 观察访问日志的增加:
(1)客户端使用命令访问:
apt install -y curl
curl https://www.cisco.com(2)查看访问日志:
tail /var/log/apache2/access.log
4、创建两个基于域名的虚拟主机,分别是www.up01.com <www.up02.com> , 首页内容不同:
# 配置网页根目录
mkdir /up01
mkdir /up02
echo "up01" > /up01/index.html
echo "up02" > /up02/index.html
chmod -R 777 /up01
chmod -R 777 /up02
# 配置 页面用户认证:
htpasswd -cm /etc/apache2/.htpasswd user01 //创建一个新文件,并使用 md5 加密存储该用户的密码
# -c 直接创建一个新文件,如果已经有了文件,则直接覆盖
htpasswd -m /etc/apache2/.htpasswd user02 //使用 md5加密存储user02的密码
cp 000-default.conf 002-domain.conf
vim 002-domain.conf
vim apache2.conf
客户端上访问测试:
up01:

up02:
