安装apache2
第一步:apt install apache2 apache2-doc
第二步:systemctl status apache2
第三步:ss ‐ntupl |grep apache
测试
桌面测试
第一步:桌面测试
第二步:http://localhost
命令行测试
第一步:curl http://192.168.10.1
修改web的默认主页
网页默认路径
/var/www/html
第一步:cd /var/www/html
第二步:cp -a index.html index.html.back
无法安装apache2
apt-get remove --purge apache2 #删除安装包和配置文件
apt-get remove --purge apache2-bin #删除安装包和配置文件
使用https连接访问
使用自带系统签名的key和crt
第一步:a2enmod ssl #启用ssl模块
第二步:cd /etc/apache2/mods-enabled #进入路径
第三步:a2ensit default-ssl.conf #开启ssl模块
第四步:systemctl restart apache2 #重启服务
测试
第一步:vim /etc/resolv.conf #打开配置文件
nameserver 192.168.10.1 #此处IP地址为本机IP
通过网页访问认证
自签SSL证书
第一步:apt install apache2 #安装服务
第二步:mkdir /etc/apache2/ssl #创建目录
第三步:cd /etc/apache2/ssl #进入目录
第四步:openssl req -new -x509 -nodes -out 1.crt -keyout 1.key #生成key和crt在当前目录下
-----
Country Name (2 letter code) [AU]:CN #国家
State or Province Name (full name) [Some-State]: #省
Locality Name (eg, city) []: #城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ss #代号
Organizational Unit Name (eg, section) []:best #名称
Common Name (e.g. server FQDN or YOUR name) []:www.caoyi.com #域名
Email Address []:123456@163.com #邮箱
第四步:vim ../sites-available/default-ssl.conf
#SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem }
#SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key }将两行复制并注释
SSLCertificateFile /etc/apache2/ssl/1.crt }将crt和key文件绝对路径写入
SSLCertificateKeyFile /etc/apache2/ssl/1.key }
保存并退出
第五步:a2enmod ssl #启用ssl模块
第六步:cd /etc/apache2/mods-enabled #进入路径
第七步:a2ensit default-ssl.conf #开启ssl模块
第八步:systemctl restart apache2 #重启服务
自签CA证书:
CA服务器:
第一步:cd /root/ #进入目录
第二步:apt install openssl #安装服务
第二步:/usr/lib/ssl/misc/CA.pl -newca #执行脚本生成CA证书
第三步:mv 1.csr newreq.pem #重命名、1.csr是由apache2服务器第五步发送过来
第四步:/usr/lib/ssl/misc/CA.pl -sign #将CA证书和密钥匹配合成。生成newcert.pem
第五步:scp newcert.pem apache2服务器IP:/etc/apache2/ssl/1.crt #将newcert.pem发送apache2服务器
apache2服务器
apt install apache2 #安装服务
第一步:mkdir /etc/apache2/ssl #创建ssl目录
第二步:cd /etc/apache2/ssl #进入ssl目录
第三步:openssl genrsa -out 1.key 2048 必须2048 #生成1.key
第四步:openssl req -new -key 1.key -out 1.csr #生成1.csr
第五步:scp 1.csr CA服务器IP:/root #将1.csr发送给CA服务器
第六步:cd /etc/apache2 #进入apache2目录
第七步:vim /sites-enabled/default-ssl.conf #打开默认ssl配置文件
SSLCertificateFile /etc/apache2/ssl/1.crt }
SSLCertificateKeyFile /etc/apache2/ssl/1.key }#更改路径
第八步:a2enmod ssl #启用ssl模块
第九步:cd /etc/apache2/mods-enabled #进入路径
第十步:a2ensit default-ssl.conf #开启ssl模块
第十一步:systemctl restart apache2 #重启服务
测试
CA服务器
第一步:cd demoCA #进入文件夹
第二步:scp scp cacert.pem 192.168.10.2:/home/demo #发送给apache2服务器的普通用户的家目录
apache2服务器
第一步:切换到虚拟桌面
第二步:打开浏览器
域名虚拟主机
实验环境说明
本服务器安装了 bind9 提供两个域名
www.h.com
www.h1.com
000-default.conf 域名为www.h.com
001.h.conf 域名为www.h1.com
apt install apache2 #安装服务
第一步:cd /etc/apache2/sites-available #进入此目录
第二步:cp 000-default.conf 001.h.conf #复制域名虚拟机
第三步:vim 001.h.conf #进入域名虚拟机
第四步:
Servername www.h1.com #开启注释,修改成自己的域名
DocumentRoot /srv/www/h1/ #修改域名的家目录
第五步:vim /etc/apache2/apache2.conf #进入apache2配置文件
<Directory />
Options FollowSymlinks
AllowOverride None
Require all granted #找到/处将所有域名虚拟机放行通过
第六步:a2ensite 001.h.conf #开启自启模式
第七步:systemctl restart apache2 #重启服务
CGI:将代码隐藏,只能看到效果
第一步:a2enmod cgi cgid #开启模块
第二步:cd /usr/lib/cgi-bin #进入目录
第三步:vim time.sh #创建文件并打开编写脚本
#!/bin/bash
echo "Content-type: text/html"
echo ""
/bin/cat <<EOF3
<html>
<head><title>System time</title></head>
<body>
<h2 align="center">
EOF3
/bin/date "+%Y/%m/%d %T %u"
/bin/cat <<EOF4
</h2>
</body>
</html>
EOF4
第四步: chmod +x time.sh #添加执行权限
第五步:systemctl restart apache2 #重启服务
测试效果:
浏览器输入:www.h.com/cgi-bin/time.sh #域名后加脚本路径和名字
目录索引
第一步:cd /etc/apache2 #进入路径
第二步:vim apache2.conf #打开配置文件并写入
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all denied
</Directory>
第三步:systemctl restart apache2 #重启服务
效果图:
旁批:
当目录下有index.html时,则默认选择不会出现目录索引
用户验证
第一步:cd /etc/apache2/sites-available/ #进入目录
第二步:vim 000-default.conf #打开配置文件
<Directory /var/www/html>
AuthName "hello h" #导航语必须写!
AuthType Basic #加密模式
AuthUserfile /etc/apache2/.htpasswd #密码目录
Require valid-user
</Directory>
第三步:htpasswd -cm /etc/apache2/.htpasswd user01 #-c:创建新的文件 -m生成密码
New password: #输入密码
Re-type new password: #验证密码
Adding password for user user01 #创建成功
第四步:htpasswd -m /etc/apache2/.htpasswd user02 #生成密码
第五步:systemctl restart apache2 #重启服务
用户空间
第一步:cd /etc/apache2/mods-available #进入模块目录
第二步:a2enmod userdir #开启模块
第三步:systemctl restart apache2 #重启服务
第四步:mkdir /home/h/public_html/ #创建域名目录
第五步:vim /home/h/public_html/index.html #创建网页
hello yu #写入内容
测试:
在域名后输入/~h/
~:触发条件
h代表:用户名
|