參考:http://blog.csdn.net/Sky_qing/article/details/44303221html
環境:ubuntu14.04 64位web
由於該版本的ubuntu中已經包含OpenSSL,能夠使用:apache
openssl version –aubuntu
查看。瀏覽器
1. 安裝apache2dom
sudo apt-get install apache2ui
2. 啓用ssl模塊this
sudo a2enmod sslspa
3. 建立CA簽名.net
sudo openssl genrsa -des3 -out server.key 1024
這裏會出現要輸入密碼的狀況,設置密碼便可,這裏會要確認一次:必定要記住這個密碼,這是密鑰的訪問密碼。
4. 建立CSR(Certificate Signing Request)
sudo openssl req -new -key server.key -out server.csr
這裏首先要求輸入密碼,這就是你前面設置的密碼; 後面會有一些國家、城市的信息設置,按照本身的需求設置便可。
5. 本身簽發證書
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
會提示成功,而後輸入密碼便可。
6. 將文件複製到本身設定的目錄,而後再在配置文件中修改便可
我這裏是將文件複製在 /etc/apache2/ssl夾下
sudo mkdir /etc/apache2/ssl
sudo mkdir /etc/apache2/ssl/certs
sudo mkdir /etc/apache2/ssl/private
複製:
sudo cp server.crt /etc/apache2/ssl/certs
sudo cp server.key /etc/apache2/ssl/private
7. 配置文件修改
sudo cp /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/001-ssl
sudo gedit /etc/apache2/sites-enabled/001-ssl
將80改成 443
在DocumentRoot後添加(按照前面本身設定的路徑)
SSLEngine On
SSLOptions +StrictRequire
SSLCertificateFile /etc/apache2/ssl/certs/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/private/server.key
8. 重啓apache2
sudo /etc/init.d/apache2 restart
這裏須要輸入前面設定的那個密鑰訪問密碼,成功輸入後,便可以重啓成功。
9.在瀏覽器中查看
地址欄輸入:https://localhost/
而後會提示不受信任的證書,把這個添加到例外就OK了,可以正常訪問。
常見的幾個問題:
1.
提示443端口已經被佔用了,
解決:
sudo gedit /etc/apache2/ports.conf
確保該文件中只有
Listen 80
若是包含Listen 443就會出現上述問題
參考:
2.
icepng@ubuntu:/usr/share/apache2$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
重啓服務發現,沒有ServerName這個問題,只是apache2的問題,與OpenSSL沒關。
參考:
http://blog.sina.com.cn/s/blog_4ce89f200100yy1q.html
在/etc/apache2/apache2.conf文件最後加上一句:
ServerName localhost:80