本人使用centOS7服务器搭建lamp和配置openssl的一点记录,中间引用了学长的教程
安装wget、screen、unzip,创建screen对话
yum -y install wget screen git
git clone赋予脚本执行权限
git clone https://github.com/teddysun/lamp.git
cd lamp
chmod +x *.sh
安装
screen -S lamp
./lamp.sh
这样,lamp环境就搭建好了,打开服务器80端口,就可以使用浏览器访问你的服务器IP地址了,显示“It Works!”即说明lamp环境配置成功,网页文件存放根目录:/data/www/default,使用你的index.html文件替换掉里面的index.html就可以了
接下来就该配置openssl服务了,下文教你如何利用openssl生成一个自签证书,这个证书只能用来测试https是否可以使用,也就是说,除了你自己,其他人无法直接访问
生成rsa私钥
openssl genrsa -out xxx.pem 2048
生成 csr证书请求
openssl req -new -sha256 -key xxx.pem -outxxx.csr (Common Name:*.xxx.com)
生成根证书rsa私钥
openssl genrsa -out ca.pem 2048
创建根证书
openssl req -new -x509 -days 3650 -key ca.pem-out ca.crt (Common Name:xxx.com Root CA)
生成一个空文件
touch /etc/pki/CA/index.txt
生成一个内容为01的为变化
echo '01' > /etc/pki/CA/serial
利用根证书签发ssl证书
openssl ca -in xxx.csr -out xxx.crt -cert ca.crt-keyfile ca.pem
查看生成的文件
ll *.pem *.csr *.crt
ca.crt 是签发完成的根证书文件
ca.pem 是根证书的私钥文件
xxx.crt 是签发完成的域名证书文件
xxx.csr 是证书请求文件
xxx.pem 是签发域名的私钥
安装证书放到“受信任的根证书颁发机构”
然后合并证书文件记事本打开 ca.crt文件,全复制下来,然后用记事本打开xxx.crt文件回车粘贴保存
找到/usr/local/apache/conf/httpd.conf
然后#Include conf/extra/httpd-ssl.conf,将前面的 #去掉,保存。
将合并后的证书xxx.crt和私钥xxx.pem复制到/usr/local/apache/conf/下
修改/usr/local/apache/conf/extra/httpd-ssl.conf 直接全选下面的粘贴过去就行
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
<VirtualHost *:443>
DocumentRoot /data/www/default/
ServerName xxx.com
ServerAlias www.xxx.com
ErrorLog"/usr/local/apache/logs/lamp_error_log"
TransferLog"/usr/local/apache/logs/lamp_access_log"
SSLEngine on
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ALL:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLCertificateFile/usr/local/apache/conf/xxx.crt
SSLCertificateKeyFile/usr/local/apache/conf/xxx.pem
CustomLog "/usr/local/apache/logs/lamp_ssl_request_log"
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x"%r" %b "%{Referer}i""%{User-Agent}i""
BrowserMatch "MSIE [2-5]"
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
<Directory /data/www/default/>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
然后防火墙放行443端口
重启apache
/etc/init.d/httpd restart
测试一下是否可以用https访问,建议使用IE浏览器,因为你使用的是自签证书,可能会被chorme和Firefox直接关掉
如果想达到任何人都可以使用https访问的效果的话,建议去注册一个域名,然后申请一个免费证书,赛门铁克的就很不错