Apache/SSL
外观
< Apache
安装和配置带有 PHP5 和 SSL 支持的 Apache2
apache2 openssl ssl-cert libapache2-mod-php5 php5-cli php5-common php5-cgi
要生成证书,请使用以下命令:
sudo openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -
keyout /etc/apache2/apache.pem
您将被要求输入将被纳入您的证书请求的信息。
您即将输入的是所谓的“可辨别名称”(DN)。有很多字段,但您可以留空一些。对于某些字段,将有一个默认值。如果您输入“.”,该字段将被留空。
Country Name (2 letter code) [AU]:IN State or Province Name (full name) [Some-State]:West Bengal Locality Name (eg, city) []:Kolkata Organization Name (eg, company) [Internet Widgits Pty Ltd]:MAT3 Impex Pvt. Ltd. Organizational Unit Name (eg, section) []:Crypto-Devel Common Name (eg, YOUR name) []:Promathesh Mandal Email Address []:[email protected]
这将完成证书,现在您需要确保您对 .pem 文件具有正确的权限,如果没有,请使用以下命令设置正确的权限。
sudo chmod 600 /etc/apache2/apache.pem
注意:要生成证书签名请求,请使用以下命令:
sudo openssl req -new -key apache.pem -out chikpea.csr
默认情况下,服务器将在端口 80 上监听传入的 HTTP 请求,而不是在端口 443 上监听 SSL 连接。因此,您需要启用 SSL 支持,方法是在 /etc/apache2/ports.conf 文件中添加以下条目,保存并退出文件。
Listen 443
如果要为 Apache Web 服务器启用 SSL 支持,则需要使用以下命令。
sudo a2enmod ssl
已安装模块 ssl;运行 /etc/init.d/apache2 force-reload 以启用。现在,您需要使用以下命令重新启动 Apache2 服务器。
sudo /etc/init.d/apache2 restart
首先,您需要编辑 /etc/apache2/sites-available/default 文件,更改
NameVirtualHost *
到
NameVirtualHost *:80
NameVirtualHost *:443
现在,您需要使用端口 80 配置虚拟主机。
ServerAdmin webmaster@localhost
.
.
.
使用端口 443 配置虚拟主机,主要区别在于您需要为每个 SSL 主机使用以下两行。
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
示例
ServerAdmin webmaster@localhost
.
.
.
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
现在,您需要使用以下命令重新启动 Apache Web 服务器。
sudo /etc/init.d/apache2 reload
示例文件: “ports.conf” 文件的示例
Listen 80
Listen 443
“default” 文件的示例
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>