一、安裝 Apache2
sudo apt-get update sudo apt-get install apache2
安裝完apache2,默認根目錄在/var/www/html 下,點擊其下的html 文件,可打開 Apache2的默認頁面。
輸入 http://localhost/index.html, 也可以通過http://localhost/測試一下是否好用。
如下圖所示,則說明安裝成功。
二、重啟電腦
在安裝 apache2后,需要重啟才能使用a2enmod 等命令。為下一步准備。
sudo reboot
三、 配置Apache https
假設 配置 https 所需要的證書 apache.crt apache.key 已經制作完畢,如何制作請見我的另外一篇隨筆。
1、開啟SSL模塊
sudo a2enmod ssl
2、啟用SSL站點
sudo a2ensite default-ssl
3、加入監聽端口 443
sudo gedit /etc/apache2/ports.conf
Listen 80 443 // 只能這樣寫 若 Listen 80 Listen 443 分開則出錯
#編輯Apache端口配置,加入443端口(HTTPS采用的443端口傳輸數據)
4、配置SSL證書
在ServerAdmin下另起一行加上ServerName 你的域名:443,
並找到SSLEngine,SSLCertificateFile,SSLCertificateKeyFile並修改成如下:
sudo gedit /etc/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
ServerName 127.0.1.1:443
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
5、配置 HTTPS 強制跳轉
sudo gedit /etc/apache2/sites-available/000-default.conf
在<VirtualHost *:80></VirtualHost>標簽內隨便一個地方加入以下三行,如在最后加入
<VirtualHost *:80>
...
...
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
</VirtualHost>
6、使配置生效
啟動 rewrite mod
sudo a2enmod rewrite
重啟 apache
sudo /etc/init.d/apache2 restart
配置結束。不出意外配置應該已經生效。
7、輸入 https://localhost/index.html 測試Apache https 是否成功。
apache.