参考: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