apache2配置 进阶代码.note

noteId: FB4C21AA99BC49D5A5F47E9D5659371C · 原始路径:/ALL/Linux - A模块/服务配置/Apache2/apache2配置 进阶代码.note · 图片:3 · 附件待处理:0

 
apt install apache2 -y
 
 
cd /etc/apache2/sites-available
a2sdissite 000-default.comf
cp 001-www.Elysia.com.ssl.conf
# 注释掉全部,输入:
<virtualHost *:80>

	ServerName Elysia.com

	ServerAlias www.Elysia.com

	DocumentRoot /Elysia/www.Elysia.com


</virtualHost>

:x
 
mkdir -p /Elysia/www.Elysia.com

a2ensite 001-www.Elysia.com.ssl.conf 

vim ../apache2.conf
# 在末尾添加:
<Directory /Elysia/www.Elysia.com>

	Options Indexes FollowSymLinks

	AllowOverride None

	Require all granted

</Directory>

:x
 
echo "Elysia always 'LOVE YOU' forever" > /Elysia/www.Elysia.com/index.html

systemctl restart apache2 
· 192.168.10.99
· Elysia.com
 
 
apt install openssl -y
cd /etc/apache2/sites-available
a2enmod ssl
mkdir /Elysia/Key
openssl req -new -x509 -nodes -out /Elysia/Key/Elysia.pem -keyout /Elysia/Key/Elysia.key -subj "/CN=www.Elysia.com" -addext "subjectAltName=DNS:www.Elysia.com"


vim 001-www.Elysia.com.ssl.conf 

# 输入(80端口配置有更改)
<virtualHost *:80>
        Redirect 301 / https://www.Elysia.com

	ServerName Elysia.com

	ServerAlias www.Elysia.com

	DocumentRoot /Elysia/www.Elysia.com

</virtualHost>


 
<virtualHost *:443>

	ServerName www.Elysia.com

	DocumentRoot /Elysia/www.Elysia.com

	SSLEngine on

	SSLCertificateFile /Elysia/Key/Elysia.pem

	SSLCertificateKeyFile /Elysia/Key/Elysia.key

</virtualHost>
 



 <virtualHost *:443>

 	ServerName Elysia.com

 	Redirect 301 / https://www.Elysia.com

 </virtualHost>

:x
# 注意 重定向 字段必须要放在后面
 
systemctl restart 
 apache2
· Elysia.com
· https://Elysia.com(看是否重定向到了 https://www.Elysia.com)
 
这不是因为服务器的 自签名证书配置错误,而是因为客户端没有信任 该自签名证书的‘证书颁发机构’
 
· 最终这几个网址访问都应显示为:
 
Debian图形化:
 
3、配置 CA证书颁发机构 签发证书:
· CA Server:
apt install openssl ca-certificates    //安装 openssl 和 ca证书颁发机构
/usr/lib/ssl/misc/CA.pl -newca	//使用 系统提供的脚本快速创建 CA证书颁发机构
# 输入密码:Skills39
# 确认密码:Skills39
# 输入国家名称:CN
# 输入省名称:GuangDong
# 输入城市名称:GuangZhou
# 输入公司名称:GongMao
# 输入组织单位:ITNetwork
# 输入通用名称:CA
# 输入邮箱
# 扩展信息,回车
# 扩展信息,回车
# 输入刚刚设置的密码:Skills39
 
· Web Server:     
openssl genrsa -out Elysia.key 2048    //生成私钥
openssl req -new -key Elysia.key -out newreq.pem    //使用刚刚创建的私钥加密,创建一个证书申请,需要交给CA签发(newreq.pem是脚本文件默认执行的文件)
# 输入国家、地区等信息
# 在通用名一栏,输入域名:www.Elysia.com    //输入网页的域名,必须与访问域名相同
 
· 如果CA证书颁发机构在其它服务器,则需要使用 scp 将 newreq.pem 证书申请文件传递给证书颁发机构签发
如果是在本地,则可以直接进行签发
 
· CA Server:
/usr/lib/ssl/misc/CA.pl -sign	//使用 系统提供 的脚本签发证书(默认名称为:newreq.pem)
# 输入密码:Skills39
y    //确认签发
y    //再次确认
 
# 证书签发成功,可以开始使用这张证书的公钥和私钥来配置 Https 了:
mv ~/newcert.pem  /Elysia/Key/Elysia.pem
mv ~/Elysia.key   /Elysia/Key
 
vim /etc/apache2/sites-available/001-www.Elysia.com.ssl.conf
# 内容如下:
<virtualHost *:80>
	Redirect 301 / https://www.Elysia.com

	ServerName Elysia.com

	ServerAlias www.Elysia.com



</virtualHost>




<virtualHost *:443>

 <Location />

	Order Allow,Deny

	Deny from 192.168.10.99

	Allow from all

 </Location>

	ServerName www.Elysia.com

	DocumentRoot /Elysia/www.Elysia.com

	SSLEngine on

	SSLCertificateFile /Elysia/Key/Elysia.pem

	SSLCertificateKeyFile /Elysia/Key/Elysia.key

</virtualHost>

 
<virtualHost *:443>

 	ServerName Elysia.com

 	Redirect 301 / https://www.Elysia.com

</virtualHost>
:x
 
 
 
 
4、配置 禁止通过 ip地址 及其它域名进行访问:
目前的配置,客户通过我们的ip地址都可以访问到,甚至书写本地hosts文件,将任意域名解析到我们的地址都能够成功访问,这一点会有极大的风险
 
 
 
 
 
·配置apache允许使用php:
先安装软件包:
apt install -y apache2 php8.2-mysql libapache2-mod-php8.2 php8.2-mbstring
php8.2-mysql    是处理mysql数据的
libapache2-mod-php8.2    是用于 php 和 apache2 之间兼容的
 
apt install -y php8.2-fpm
a2enmod proxy_fcgi setentvif
a2enconf php8.2-fpm
 
vim /etc/apache2/sites-enabled/000-default.conf