首页 > 代码库 > linux 搭建https 服务器 (apache)

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访问搭建好的服务器;


参考文档:

http://sarsgetaway.iteye.com/blog/1121495

http://www.postgresql.org/docs/8.4/static/ssl-tcp.html