2024-4-22 练习合集.note
https://itnsa.cn/note/teaching-notes-Debian/Linux-Apache-practice一、配置 DNS服务器:
1、安装配置 DHCP服务:
apt install -y isc-dhcp-server
vim /etc/dhcp/dhcpd.conf
vim /etc/default/isc-dhcp-server
2、配置 NTP:
apt install -y chrony
vim /etc/chrony/chrony.conf

· NTP客户端:
apt install -y systemd-timesyncd
echo "NTP=192.168.1.254" >> /etc/systemd/timesyncd.conf
systemctl restart systemd-timesyncd3、安装配置 DNS:
apt install -y bind9 bind9-utils
vim /etc/bind/named.conf
cp db.local db.abc
cp db.local db.xyz
vim /etc/bind/db.abc
vim /etc/bind/db.xyz
4、配置 CA:
/usr/lib/ssl/misc/CA.pl -newca
vim /etc/ssl/openssl.cnf

· 签发时就会提示有效期为 90天:


/usr/lib/ssl/misc/CA.pl -newreq-nodes
# CN字段填写 www.abc.com
/usr/lib/ssl/misc/CA.pl -sign
rm newreq.pem
scp newcert.pem root@192.168.1.101:/etc/ssl/web.crt
scp newkey.pem root@192.168.1.101:/etc/ssl/web.key· 将根证书发送给客户端信任:
scp demoCA/cacert.pem skills@192.168.1.200二、配置 Mysql 数据库:
1、配置 mysql:
apt install -y mariadb-server
mysql
vim /etc/mysql/mariadb.conf.d/50-server.cnf
systemctl restart mysql
三、配置 Web1:
apt install -y apache2 apache2-doc
a2enconf apache2-doc1、配置 网站:
adduser webuser
a2dissite 000-default.conf
cd /etc/apache2/sites-available
cp 000-default.conf www.abc.com.conf
a2ensite www.abc.com.conf
mkdir -p /var/log/apache2/www.abc.com
touch /var/log/apache2/www.abc.com/access.log
touch /var/log/apache2/www.abc.com/error.log
mkdir /var/www/www.abc.com
echo "Welcome to www.abc.com" > /var/www/www.abc.com/index.html
a2enmod ssl(1)配置 apache2 隐藏版本号
vim /etc/apache2/conf-enable/security.conf
(2)配置 HTTP/2
a2enmod http2
systemctl restart apache2(3)配置进程用户和组
vim envvars
(4)配置错误页面:
vim /etc/apache2/apache2.conf
(5)配置 CGI,查看 apache2 的版本、操作系统版本、内存、CPU等:
a2enmod cgi cgid
apt install -y sysstat
vim /var/www/www.abc.com/sysinfo.py
chmod 777 sysinfo.py(6)配置用户身份认证:
cd /etc/apache2
htpasswd -cm .htpasswd admin
## 输入密码 admin123
vim /etc/apache2/sites-available/www.abc.com.conf
(7)配置 TLS1.3:
vim /etc/apache2/sites-available/www.abc.com.conf
四、配置 Web2:
1、配置网站:
apt install -y apache2 php8.2(1)配置 apache2:
a2enmod ssl php8.2
cd /etc/apache2/sites-available
cp 000-default.conf www.xyz.com.conf
mkdir /var/www/www.xyz.com
echo "<?php phpinfo(); ?>" > /var/www/www.xyz.com/index.php
vim www.xyz.com.conf
(2)配置 wordpress:
apt install -y wordpress php8.2-mysql
cp -r /usr/share/wordpress /var/www/www.xyz.com
cd /var/www/www.xyz.com/wordpress
cp wp-config-sample.php wp-config.php
vim wp-config.php
· 客户端访问 wordpress:




五、验证:
1、验证 DHCP:
# 在客户端上查看DHCP租约:
释放和获取:查看IP、DNS、网关

ping www.abc.com
2、验证 NTP 服务:
# 在客户端上验证:
timedatectl timesync-status
3、验证 DNS服务
# 在客户端上验证:

4、验证 CA:
# 在CA上验证:
openssl x509 -in demoCA/cacert.pem -noout -text
证书 90天有效期:

5、验证 mysql:
# 在 mysql上验证:


6、验证 Web1:
(1)验证网站内容、https:

(2)验证访问日志、错误日志:
tail /var/log/apache2/www.abc.com/access.log
tail /var/log/apache2/www.abc.com/error.log

(3)验证 http 自动跳转:

(4)仅支持 TLSv1.3:

(5)验证支持 HTTP/2:

(6)验证 错误页面不显示 Apache版本:
可以先创建一个文件在 网页根目录下,但是将其权限剥夺,然后查看错误页面:
echo > /var/www/www.abc.com/123
chmod -777 /var/www/www.abc.com/123
# 访问这个123:
(7)验证 apache 404页面:

(8)验证 apache 进程用户和组:

(9)验证 sysinfo.py 脚本 ,及用户密码登陆:


7、验证 Web2:
(1)验证 php 首页:

(2)验证 http跳转:

(3)验证 www.xyz.com 跳转到 xyz.com:

(4)验证 禁止其它域名访问,禁止IP地址访问(403):


(5)验证 wordpress:
