linux下apache+openssl配置记录

最近在研究linux下的apache-ssl配置,写点个人小心得,新人发博,敬请见谅。

软件环境

Apache Httpd 2.2.29 (http://httpd.apache.org )

OpenSSL 1.0.1h (http://www.openssl.org/source )

SSL-Tools (http://www.openssl.org/contrib/ssl.ca-0.1.tar.gz )

1. OpenSSL

#tar zxvf openssl-1.0.1h.tar.gz

#cd openssl-1.0.1h

#./config

#make

#make install

此举将安装最新的OpenSSL到/usr/local/ssl目录中,无需理会系统中已有版本的OpenSSL,也不要去卸载它,否则会导致很多的应用程序无法正常执行,例如X窗口无法进入等错误。

2. Apache Httpd

#tar zxvf httpd-2.2.29.tar.gz

#cd httpd-2.2.29

#./configure --prefix=/usr/local/apache/httpd --enable-ssl=static --with-ssl=/usr/local/ssl

#make

#make install

此步骤在/apache/httpd目录中安装httpd服务(通过参数--prefix指定),同时使用--with-ssl指定刚才所安装OpenSSL的路径,用于将mod_ssl静态的编译到httpd服务中。

3.制作证书

我们必须手工来生成SSL用到的证书,对证书不熟悉的人,有一个工具可以使用:http://www.openssl.org/contrib/ssl.ca-0.1.tar.gz  。下面是如何通过这个工具来生成证书的过程:

#cp ssl.ca-0.1.tar.gz /usr/local/apache/httpd/conf

#cd /usr/local/apache/conf

#tar zxvf ssl.ca-0.1.tar.gz

#cd ssl.ca-0.1

#./new-root-ca.sh (生成根证书)

No Root CA key round. Generating one

Generating RSA private key, 1024 bit long modulus

...........................++++++

....++++++

e is 65537 (0x10001)

Enter pass phrase for ca.key:12345 (输入一个密码)

Verifying - Enter pass phrase for ca.key: 12345(再输入一次密码)

......

Self-sign the root CA... (签署根证书)

Enter pass phrase for ca.key:12345 (输入刚刚设置的密码)

........

........ (下面开始签署)

Country Name (2 letter code) [MY]:CN

State or Province Name (full name) [Perak]:SD  //随你喜欢

Locality Name (eg, city) [Sitiawan]:QD  //随你喜欢

Organization Name (eg, company) [My Directory Sdn Bhd]:GX  //随你喜欢

Organizational Unit Name (eg, section) [Certification Services Division]:GX  //随你喜欢

Common Name (eg, MD Root CA) []:gaoxin.com //随你喜欢

Email Address []:[email protected]//随你喜欢

这样就生成了ca.key和ca.crt两个文件,下面还要为我们的服务器生成一个证书:

# ./new-server-cert.sh server (这个证书的名字是server)

......

......

Country Name (2 letter code) [MY]:CN

State or Province Name (full name) [Perak]:SD

Locality Name (eg, city) [Sitiawan]: QD

Organization Name (eg, company) [My Directory Sdn Bhd]:GX

Organizational Unit Name (eg, section) [Secure Web Server]:GX

Common Name (eg, www.domain.com) []:gaoxiaoit.com (必须与上面的不同,否则报错)

Email Address []:123456@163.com

这样就生成了server.csr和server.key这两个文件。

还需要签署一下才能使用的:

# ./sign-server-cert.sh server

CA signing: server.csr -> server.crt:

Using configuration from ca.config

Enter pass phrase for ./ca.key:12345 (输入上面设置的根证书密码)

Check that the request matches the signature

Signature ok

The Subject‘s Distinguished Name is as follows

countryName:PRINTABLE:‘CN‘

stateOrProvinceName:PRINTABLE:‘GanSu‘

localityName:PRINTABLE:‘LanZhou‘

organizationName:PRINTABLE:‘lzu‘

organizationalUnitName:PRINTABLE:‘lzu‘

commonName:PRINTABLE:‘localhost‘

emailAddress :IA5STRING:‘[email protected]‘

Certificate is to be certified until Jan 19 21:59:46 2011 GMT (365 days)

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

CA verifying: server.crt <-> CA cert

server.crt: OK

配置conf/extr/httpd-ssl.conf

找到#include conf/extra/httpd-ssl.confm去掉注释

下面要按照httpd-ssl.conf里面的设置,将证书放在适当的位置。

# cd ..

# mkdir ssl.key

# mv ssl.ca-0.1/server.key ssl.key

# mkdir ssl.crt

# mv ssl.ca-0.1/server.crt ssl.crt

然后就可以启动啦!

# cd /usr/local/apache

注意,apache2.2之后不支持startssl,所以只用start即可

# ./bin/apachectl start

4. 测试HTTP服务

使用浏览器打开地址:https://127.0.0.1   完毕!!

时间: 2024-11-03 21:34:33

linux下apache+openssl配置记录的相关文章

Linux下apache+php搭建配置记录

linux下apache+php搭建配置记录 第1章  环境说明 1.1 系统说明 CentOS 6.4 1.2 软件说明 httpd-2.4.2.tar.gz apr-util-1.4.1.tar.gz apr-1.4.6.tar.gz pcre-8.13.tar.gz php-5.4.3.tar.bz2 libmcrypt-2.5.8.tar.gz mhash-0.9.9.9.tar.gz 第2章  Apache搭建说明 2.1 安装依赖包 yum install make openldap

linux 下apache搭建和虚拟主机的配置

apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一. Linux 下apache服务器的搭建 安装并更新apache yum install httpd 启动服务 默认情况下 apache在/var/www/html存放web页面 在该目录下新建一个index.html网页 编辑html文件 此时在客户机浏览器输入服务器地址,简单的搭建完成!

linux下apache https 虚拟主机配置

如果单纯只想在传输数据时加密传输,那么ssl证书是不需要认证的,但是浏览器打开时会有警告信息.假设我们做的不是一个公众产品那么也还好啦. 如下是今天学习时的一个笔记,其实我用的是真实环境. 环境:CentOS 64, 32bit:Apache 2.2.15: 1.检查apache是否安装了mod_ssl.so模块. 检查方法是查看是否在modules(/etc/httpd/modules/)下存在.不存在那么安装(yum -y install mod_ssl). 2.生成证书和密钥 1)生成密钥

linux下apache配置

Apache简介 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一.Apache取自"a patchy server"的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能.新的特性.修改原来的缺陷.Apache的特点是简单.速度快.性能稳定,并可做代理服务器来使用. 环境拓扑: LinuxClient ----------RHEL5.9(vmnet1)----------(vmnet1) Win7Client 前

Linux下Redis服务器安装配置

说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils  patch perl 2.安装tcl组件包(安装Redis需要tcl支持)cd /usr/local/src #进入软件包存放目录wget  http://downloads.sourceforge.net/tcl/tcl8.6.6-src.tar.gztar 

linux下apache+mysql+php开发环境纯源代码编译搭建

linux下apache+mysql+php开发环境纯源代码编译搭建 记录一下我在fedora core 1下通过源代码编译出来的apache+mysql+php开发环境的全部过程 通常安装一台服务器当然使用rpm是最方便的,不需要考虑太多配置的问题,就可以轻松获得需要的环境了.不过rpm包互相关联的问题也不是这么容易解决. apache,mysql,php这三个应用从源代码编译安装还是比较简单的,配置参数不算复杂,而且没有太多的依赖关系,从源码编译出来的系统也比较稳定一些,方便未来打补丁和升级

linux 下apache的安装

一.从apache官网上下载apache的安装包 下载apr和apr-util安装包,解压到apache的srclib目录,apache从2.4?开始把这个两个模块剥离 进入apache解压目录,./configure  --with-included-apr  --enable-so make make intall 二.写了一个简单的页面测试,但是发现html引用的图片(其他资源应该会有同样问题)被禁止访问,设了相关权限和配置仍没有效果 最后想到是不是selinux导致,把selinux禁用

linux下apache服务搭建

实验拓扑:                          Linux Client -----RHEL5.9(vmnet1)----------(vmnet1)                          Win7 Client 实验一:查看默认HTTP配置     找到默认红帽欢迎页面 (/etc/httpd/conf/httpd.conf ---->Include ----> /etc/httpd/conf.d  ----> welcome.conf  ----> /

VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

首先启动Nginx 1. 转到 nginx 目录: /usr/local/nginx; 启动 nginx: /usr/local/nginx/nginx ubuntu 前要加 sudo; 关健配置 http 配置块下,一般设置在 zgip on 下: upstream localhost { #绿色对应 #ip_hash; server localhost:8090; server localhost:8080; } server / { location / { proxy_connect_t