日期:2014-05-16  浏览次数:20693 次

linux+apache+ssl的安装配置

安装包
openssl-0.9.8k.tar.gz和httpd-2.2.15.tar.gz

?


安装openssl
# tar xzvf openssl-0.9.8k.tar.gz
# cd openssl-0.9.8k
# ./config --prefix=/usr/local/openssl
# make && make install


安装apache
# tar zxvf httpd-2.2.15.tar.gz
# cd httpd-2.2.15

# ./configure --prefix=/usr/local/apache2 --enable-so ... --enable-ssl --with-ssl=/usr/local/openssl


注:省略号(...)表示其它开启的模块。另外,如果你是在之前的基础上编译安装ssl模块的话,可能会报类似“undefined reference to `apr_os_uuid_get'”的错误。原因是上次安装时apr模块已经编译安装了,再次编译时上次编译过的不会重新编译。但编译ssl模块时又需要用到apr模块,因此会提示以上错误。解决这个问题的办法很简单,只要删除httpd-2.2.15目录重新解压编译就可以了,或者指定--with-apr参数也行。


# make && make install


自制密钥及证书
创建一个RSA私用密钥server.key文件。
# openssl genrsa -des3 -out server.key 1024
# openssl rsa -in server.key -out server.key (从密钥中删除密码,以避免系统启动时被询问口令)????
????
用server.key生成服务器证书签署请求CSR文件
# openssl req -new -key server.key -out server.csr

需要填写的信息:
Country Name: cn???????????????? 两个字母的国家代号?
State or Province Name: beijing? 省份名称?
Locality Name: beijing?????????? 城市名称?
Organization Name: ***?????????? 公司名称?
Organizational Unit Name: ***??? 部门名称?
Common Name: 192.168.1.200?????? 如果你的服务器有域名,添域名,如果没有添ip
Email Address: master@gmail.com? Email地址
注:Common Name这个属性请填写当前apache服务器的域名(如果不确定,请查看/conf/httpd.conf文件),如果填写不对,则apache不能正常启动(域名如果查不到,可以写ip地址)。
????
生成server.crt文件
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

配置apache的设置
在httpd.conf中把下面这行的注释取消
# Include conf/extra/httpd-ssl.conf????

在httpd-ssl.conf中修改相关设置
SSLCertificateFile "/usr/local/apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"

将SSLCertificateFile和SSLCertificateKeyFile设置为证书文件所在路径,或者将上面创建的证书文件拷贝到/usr/local/apache2/conf目录下。

?

?

?