Apache1.3.27+mod_ssl+自定义SSL证书

【Apache1.3.27 mod_ssl 自定义SSL证书】Apache 1.3.27 mod_ssl 自定义SSL证书在我发表第一篇文章里介绍了用FreeBSD 的Ports 来安装方便简单,可更多使用者使用的OS非FreeBSD或想自己下载他们的原代码自己编译安装的 。以下是作者在FreeBSD 4.8 stable平台下,一步一步编译安装Apache 1.3.27 mod_ssl的过程 。

1、下载所需的安装包 FBSD# pwd
/tmp/install
FBSD# fetch http://httpd.apache.org/dist/httpd/apache_1.3.27.tar.gz
FBSD# fetch ftp://ftp.modssl.org/source/mod_ssl-2.8.14-1.3.27.tar.gz
FBSD# fetch ftp://ftp.openssl.org/source/openssl-0.9.7a.tar.gz
FBSD# ls –lA
-rw-r--r-- 1 root wheel 2306052 10 4 2002 apache_1.3.27.tar.gz
-rw-r--r-- 1 root wheel 754179 3 21 22:21 mod_ssl-2.8.14-1.3.27.tar.gz
-rw-r--r-- 1 root wheel 2776582 2 19 22:12 openssl-0.9.7a.tar.gz 2、安装openssl
openssl 是mod_ssl 必需的软件包
FBSD# tar zxvf openssl-0.9.7a.tar.gz
FBSD# cd openssl-0.9.7a
FBSD# ./config (请看清楚,不是一般的configure 他自己的是config)
FBSD# make make 成功后,openssl 就安装完成了 。

3、将mod_ssl 配置进apache
FBSD# pwd
/tmp/install
FBSD# tar zxvf mod_ssl-2.8.14-1.3.27.tar.gz
FBSD# tar zxvf apache_1.3.27.tar.gz
FBSD# ls –lA
drwxr-xr-x 8 1078 1078 512 7 17 13:09 apache_1.3.27
-rw-r--r-- 1 root wheel 2306052 10 4 2002 apache_1.3.27.tar.gz
drwxr-xr-x 10 root wheel 512 7 17 13:06 mod_ssl-2.8.14-1.3.27
-rw-r--r-- 1 root wheel 754179 3 21 22:21 mod_ssl-2.8.14-1.3.27.tar.gz
drwxr-xr-x 20 root wheel 1024 7 17 13:05 openssl-0.9.7a
-rw-r--r-- 1 root wheel 2776582 2 19 22:12 openssl-0.9.7a.tar.gz
FBSD# cd mod_ssl-2..8.14-1.3.27
FBSD# ./configure --with-apache=../apache_1.3.27 --with-ssl=../openssl-0.9.7a --prefix=/usr/local/apache
Configuring mod_ssl/2.8.14 for Apache/1.3.27
Apache location: ../apache_1.3.27 (Version 1.3.27)
OpenSSL location: ../openssl-0.9.7a
Auxiliary patch tool: ./etc/patch/patch (local)
……….
Now proceed with the following commands:
$ cd ../apache_1.3.27
$ make
$ make certificate
$ make install
FBSD# 当大家看到以上的东西后,mod_ssl 已经加到了apache的源代码中,按照提示本来就应该直接到apache_1.3.27下面编译就可以使用apache 了,但是我发现这样编译后的apache 不具有 动态模块加载(DSO)功能,那么来说,你的apache1.3.27只具备静态网页的功能(当然,你也可以用perl 来写CGI程序实现动态网页)其实DSO有很多好处,比如你可以加装PHP……等 。

4、编译和安装Apache 1.3.27

刚才提到为什么我们不按照指示去做呢,就是因为我们要把Apache 1.3.27编译成DSO模式 。如果你单单想编译成静态模式的话,就直接在apache 1.3.27 目录下make 就OK了 。
下面是把apache 1.3.27 编译成DSO模式 。
FBSD# ./configure --prefix=/usr/local --enable-module=so --enable-module=ssl(--enable-module=ssl 这个很重要,就是要加如mod_ssl 模块)


FBSD# make
….
到此,apache 1.3.27 mod_ssl 已经编译完成,下面的是生成CA证书 。
FBSD# make certificate
SSL Certificate Generation Utility (mkcert.sh)
Copyright (c) 1998-2000 Ralf S. Engelschall, All Rights Reserved.
Generating test certificate signed by Snake Oil CA [TEST]
WARNING: Do not use this for real-life/production systems
______________________________________________________________________

STEP 0: Decide the signature algorithm used for certificate
The generated X.509 CA certificate can contain either
RSA or DSA based ingredIEnts. Select the one you want to use.
Signature Algorithm ((R)SA or (D)SA) [R]: R (选择加密方式)
______________________________________________________________________

STEP 1: Generating RSA private key (1024 bit) [server.key]
4493119 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus

推荐阅读