当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux系统

Debian下给apache加载ssl

Debian下给apache加载ssl--Linux发行版技术-Debian信息,下面是详情阅读。
在Debian下建好了apache1.3.28+php4+mysql,现在加ssl

要有openssl,没有,debian应该会apt上吧

1. apt-get install libapache-mod-ssl (carlos提示的,我在debian.org里搜,ssl就没找到),lib 会装在 /usr/lib/apache/1.3/ 里

2. modules-config apache enable mod_ssl (注:如果之后,php不起作用了,就再加一次mod_php4)

3. 修改 httpd.conf

添加 Port 80

Listen 80

Listen 443

添加 虚拟机(不一定非用,也可以把下列ssl配置加在全局配置里,不过,每个页面都跳出认证,原因没多想,反正虚拟机方便,网上都是这么干的)



ServerName your.server.name

DocumentRoot /var/www

SSLCertificateKeyFile server.key (下面生成)

SSLCertificateFile server.crt (同上 )



4. 生成证书

以下照抄 <> 一文 永远的unix http://www.fanqiang.com/a6/b8/20010722/1305001004.html

以下操作都在 /etc/apache/ 里执行,至于证书该放在哪里? 自己看着办吧,我没经验

先建立一个 CA 的证书,

首先为 CA 创建一个 RSA 私用密钥,

[S-1]

openssl genrsa -des3 -out ca.key 1024

系统提示输入 PEM pass phrase,也就是密码,输入后牢记它。

生成 ca.key 文件,将文件属性改为400,并放在安全的地方。

[S-2]

chmod 400 ca.key

你可以用下列命令查看它的内容,

[S-3]

openssl rsa -noout -text -in ca.key

利用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509结构)

[S-4]

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

然后需要输入下列信息:

Country Name: cn 两个字母的国家代号

State or Province Name: An Hui 省份名称

Locality Name: Bengbu 城市名称

Organization Name: Family Network 公司名称

Organizational Unit Name: Home 部门名称

Common Name: Chen Yang 你的姓名

Email Address: sunstorm@263.net Email地址

生成 ca.crt 文件,将文件属性改为400,并放在安全的地方。

[S-5]

chmod 400 ca.crt

你可以用下列命令查看它的内容,

[S-6]

openssl x509 -noout -text -in ca.crt

下面要创建服务器证书签署请求,

首先为你的 Apache 创建一个 RSA 私用密钥:

[S-7]

openssl genrsa -des3 -out server.key 1024

这里也要设定pass phrase。

生成 server.key 文件,将文件属性改为400,并放在安全的地方。

[S-8]

chmod 400 server.key

你可以用下列命令查看它的内容,

[S-9]

openssl rsa -noout -text -in server.key

用 server.key 生成证书签署请求 CSR.

[S-10]

openssl req -new -key server.key -out server.csr

这里也要输入一些信息,和[S-4]中的内容类似。

至于 'extra' attributes 不用输入。

你可以查看 CSR 的细节

[S-11]

openssl req -noout -text -in server.csr

下面可以签署证书了,需要用到脚本 sign.sh ---->脚本在 /usr/share/doc/libapache-mod-ssl/example/ 里 我就直接cp 到/etc/apache/里了

[S-12]

sign.sh server.csr

就可以得到server.crt。

将文件属性改为400,并放在安全的地方。

[S-13]

chmod 400 server.crt

删除CSR

[S-14]

rm server.csr

好了,apachectl restart 吧。ssl在全局的配置,最好在load modules之后,要不apache起不了,还不报哪里错。
吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | 凯发国际娱乐 | 凯发国际娱乐下载 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有