Nothing 2009-3-20 11:20
Apache2配制ssi
由于Apache2只带了ssl的模块,所以我们只需要编译时把ssl模块打开就可以。
现在开始安装Openssl,这个软件主要是用来生成证书:
tar -zxvf openssl-0.9.7f.tar.gz
cd openssl-0.9.7f
./config
make
make test
make install
我们把openssl放进内核目录下,使其在任何目录下都能运行。
cd /usr/local/bin
ln -s /usr/local/ssl/bin/openssl openssl
接着我们开始安装Apache:
tar -zxf httpd-2.0.53.tar.gz
cd httpd-2.0.53
./configure --prefix=”/usr/local/apache2” --enable-so --enable-ssl --with-ssl=”/usr/local/ssl/bin”
make
make install
安装完毕,现在我们来生成证书:
我们在/usr/local/apache2/conf下建立一个ssl.key目录
cd /usr/local/apache2/conf
mkdir ssl.key
然后在该目录下生成证书:
cd /usr/local/apache2/conf/ssl.key
生成服务器私钥:
openssl genrsa -des3 -out server.key 1024
生成服务器证书请求:
openssl req -new -key server.key -out server.csr
按要求填些相关证书信息
签证:
openssl x509 -req -days 700 -in server.csr -signkey server.key -out server.cert
为了安全,然后我们把这些文件的权限都设为400
chmod 400 server.key
chmod 400 server.cert
最后对/usr/local/apache2/conf/ssl.conf 进行修改:
vi /usr/local/apache2/conf/ssl.conf
修改的地方如下几处:
Listen 192.168.0.222:443
SSLCertificateFlie /usr/local/apache2/conf/ssl.key/server.cert
SSLCertificateKeyFile /usr/local/apahce2/conf/ssl.key/server.key
这样我们就基本配好了ssl现在我们来让apache启动ssl
/usr/local/apache2/bin/apachectl startssl
然后要求输入证书密码,正确输入后ssl就连同apache一起启动
Nothing 2009-3-24 13:18
启动Apache SSL 时可不可以不要输入密码,这是最近遇到的问题
因为当你启动Apache Server "apachectl startssl" 或 "httpd startssl"
总是会跳出来 问你 pass phrase 是啥??
其原因就是在于当初的server.key 档案里有一个RSA 的私钥密码....
私钥的密码保护server.key 里面的信息 (这密码可以想象成像是提款卡密码)
所以要打开server.key 时 必须要输入密密钥的密码才能让Apache Server 启动SSL
但是这样的结果就会让当机器重新启动时 Apache 不会自动重启 (这点是很头痛的喔)
透过Google 大师找了一下后 发现Apache 官方文件是有提到这段的
How can I get rid of the pass-phrase dialog at Apache startup time?
步骤一 先将server.key备份起来,并且将RSA的私钥密码移除( Remove the encryption from the RSA private key)
$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
步骤二修改server.key的读取权限,只让root读( Make sure the server.key file is only readable by root:)
$ chmod 400 server.key
接着Apache 服务重启时 就不会再跳出" pass phrase"的讯息了....
大功告成!!!