linux搭建https服务器(apache)
一、 安装准备
1. 安装Openssl
要使Apache支持SSL,需要首先安装Openssl支持。这里使用的是openssl-0.9.8k.tar.gz
下载Openssl:http://www.openssl.org/source/
tar -zxf openssl-0.9.8k.tar.gz //解压安装包
cd openssl-0.9.8k //进入已经解压的安装包
./config //配置安装。推荐使用默认配置
make && make install //编译及安装
openssl默认将被安装到/usr/local/ssl
2. 安装Apache
从http://httpd.apache.org/下载httpd源代码,这里使用的是httpd2.2.22;
./configure --prefix=/usr/local/httpd2.2.22 --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-mods-shared=all //配置安装。推荐动态编译模块
make && make install
动态编译Apache模块,便于模块的加载管理。Apache 将被安装到/usr/local/apache
二、 生成证书
为了快速搭建好可用的https服务器,需要在/usr/local/httpd2.2.22/conf/目录下
(也可以在别的目录下生成,将生成后的文件拷贝到/usr/local/httpd2.2.22/conf/目录下)
依次运行以下命令:
1. openssl req -new -text -out server.req
2. openssl rsa -in privkey.pem -out server.key
3. openssl req -x509 -in server.req -text -key server.key -out server.crt
具体的可以参考openssl文档;
三、 Apache 的配置
打开apache安装目录下conf目录中的httpd.conf文件,找到
#LoadModule ssl_module modules/mod_ssl.so
删除行首的配置语句注释符号“#”
保存退出。
打开apache安装目录下conf目录中的ssl.conf文件,找到
在配置文件中查找以下配置语句
SSLCertificateFile conf/ssl.crt/server.crt 将服务器证书配置到该路径下
SSLCertificateKeyFile conf/ssl.key/server.key 将服务器证书私钥配置到该路径下
#SSLCertificateChainFile conf/ssl.crt/ca.crt 删除行首的“#”号注释符,并将中级CA证书intermediate.crt配置到该路径下
保存退出,并重启Apache。重启方式:
进入Apache安装目录下的bin目录,运行如下命令
./apachectl -k -stop
./apachectl start
通过https方式访问您的站点,测试站点证书的安装配置。
此时即可以通过http和https访问搭建好的服务器;