M22 Centos6上编译安装httpd2.4并实现HTTPS浏览

随着网络技术的发展,人们对信息安全越来越重视,传统的http浏览互联网的方式由于未经加密,其安全性广为人们诟病,https协议作为加密的互联网解决方案解决了这一问题。下面我就简要说明下如何实现通过https发布web页面的。

 

实验目的:

模拟Centos6上安装httpd2.4,并实现https加密访问主页

实验器材:

Centos6.8虚拟机

实验步骤:

1 生成自签名证书

2 下载并编译安装httpd2.4及其相关组件

3 安装ssl模块并修改httpd配置文件

实验过程:

1 生成自签名证书

https协议是基于SSL协议的,在使用https协议之前首先要获得SSLCA证书,在生产情况下此证书需要向CA证书颁发机构购买,而在实验环境下可以使用openssl工具生成自签名证书。

1)  创建根CA证书

CA证书是CA认证机构必须有的,在本实验需要先创建此证书才能为自建网站颁发证书。

cd /etc/pki/CA/ #进入CA目录
touch index.txt #创建index.txt文件,此文件记录了根CA颁发的所有证书
echo 01 > serial #添加起始计数
(umask 077;openssl genrsa -out private/cakey.pem 4096)#生成私钥
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 #生成根证书

2)  创建网站CA申请

(umask 066;openssl genrsa -out private/client.key 1024) #生成私钥
openssl req -new -key private/client.key -days 356 -out client.csr #通过私钥生成证书申请文件

3)  申请网站CA证书

openssl ca -in client.csr -out certs/client.cer

至此,网站的CA证书创建完成,证书文件client.cer与私钥client.key备用

2 下载并编译安装httpd2.4及其相关组件

         安装httpd2.4需要的组件包括apr-1.5.0apr-util-1.5.3httpd-2.4.10pcre及openssl-devel

1)  下载编译安装apr-1.5.0

wget http://archive.apache.org/dist/apr/apr-1.5.0.tar.gz
tar xf apr-1.5.0.tar.gz 
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install

2)下载编译安装apr-util-1.5.3

wget http://archive.apache.org/dist/apr/apr-util-1.5.3.tar.gz
tar xf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make && make install

4)  安装pcre及openssl-devel

yum install -y pcre-devel
yum install –y openssl-devel

5)  下载编译安装httpd-2.4.10

wget http://archive.apache.org/dist/httpd/httpd-2.4.10.tar.gz
tar xf httpd-2.4.10.tar.gz
cd httpd-2.4.10
./configure --prefix=/usr/local/apache24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpm-shared=all --with-mpm=prefork
make && make install

3 安装ssl模块并修改httpd配置文件

1) 安装ssl模块

yum install mod_ssl -y
httpd -M | grep ssl #查看模块安装情况

2)修改配置文件/usr/local/apache24/conf/httpd.conf

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

3)修改配置文件/usr/local/apach24/conf/extra/httpd-ssl.conf

DocumentRoot "/var/www/html"
ServerName www.magedu.com
SSLCertificateFile /usr/local/apach24/ssl/client.csr
SSLCertificateKeyFile /usr/local/apach24/ssl/client.key

4)修改域名

ServerName www.magedu.com:443

重启服务

/usr/local/apache24/bin/apachectl restart

原创文章,作者:realmaster,如若转载,请注明出处:http://www.178linux.com/73814

(0)
realmasterrealmaster
上一篇 2017-04-20 21:17
下一篇 2017-04-20 23:28

相关推荐

  • Linux系统基础命令

    Linux下一些基本常用命令:   1、Lscpu:显示CPU架构详细信息; [root@centos6 ~]#lscpu 2、Cat:查看合并文件到标准输出; [root@centos6 ~]#cat file    Tac:显示的文本与cat显示的文本相反; 3、Who:显示都有那些用户登录到了系统; [root@…

    Linux干货 2016-07-26
  • PPTPD搭建

    1、检查服务器是否支持PPTP服务[root@centos1 ~]# modprobe ppp-compress-18 && echo okok以上命令执行出来显示是“OK”的话,继续往下进行![root@centos1 ~]# cat /dev/net/tuncat: /dev/net/tun: 文件描述符处于错误状态以上命令执行出来显示报…

    Linux干货 2017-06-09
  • DNS

    简介     DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号5…

    Linux干货 2016-11-15
  • Linux中文件管理类命令初探

    Linux中文件管理类命令初探 文件管理通常指的是对文件或者目录进行的类似复制、移动、删除操作。 1. 文件的复制 cp 在Linux中使用cp指令完成文件复制工作,即copy之意。实际操作中又可以分为以下两种情况: 单源复制 单源复制即复制的源只有一个,这个源可以为文件或者目录。命令语法:cp [OPTION]… [-T] SOURCE DEST在实际…

    Linux干货 2016-11-06
  • shell脚本之测试命令(test、[])

    话不多说,直接开车 在编写shell脚本中,我们经常需要判断命令执行的正确与否,从而进行不同的操作。首先我们来介绍下条件性的执行操作符:根据退出状态而定,命令可以有条件地运行。其中,利用echo的话方便我们对测试结果的查看。 (1)&& 代表条件性的AND THEN 可以理解为短路与:当&&前面命令为真时,执行&am…

    Linux干货 2017-08-05
  • Linux 命令行返回状态

    linux 执行命令后会返回一个状态码 命令执行成功返回0: 当删除一个文件并删除成功时返回的状态码为0 [root@localhost 1]# rm -rf 1_1 [root@localhost 1]# echo $? 0 命令执行失败返回1-255 当把 文件夹 1_1 重命名为1_2失败后状态码为1 [root@localhost 1]# mv 1_…

    Linux干货 2017-08-28