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协议之前首先要获得SSL的CA证书,在生产情况下此证书需要向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.0、apr-util-1.5.3、httpd-2.4.10、pcre及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

相关推荐

  • centos 7 修改sshd服务默认端口号

    由于最近sshd服务默认端口号22被匿名进行试探性的进行登入,为防止匿名用户再次进行试探性的登入,将sshd服务的默认端口号进行修改。 环境:centos 7.3  xshell 思路:先将sshd的被指文件进行修改,把sshd服务的默认端口号修改为所需要的端口号,然后重启sshd服务,发现重启报错。找其原因是应为selinux不允许自定义sshd…

    Linux干货 2017-04-06
  • linux 文本处理工具 grep cut sort等

    linux day 7 间歇性回忆 自动属于这个组 是  SGID 的功能 chmod g+s /data/testdir setfacl —m g:g2:rwx /data/testdir setfacl -m b:g:g2:rwx /data/testdir setfacl -m d:g:g3:r testdir chmod o= testdi…

    Linux干货 2016-08-08
  • 马哥Linux第三周作业

    正则表达式 用户和组管理

    Linux干货 2017-12-31
  • shell脚本编程之一

    shell脚本编程之一 shell脚本基础 shell脚本是包含一些命令或声明,并符合一定格式的文本文件 格式要求:首行shebang机制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perl shell脚本的用途有: 自动化常用命令 执行系统管理和故障排除 常见简单的应用程序 处理文本或文件 创建shell脚本 第一步…

    Linux干货 2016-08-18
  • 磁盘管理:raid和lvm练习

    本文通过以下习题,巩固所学raid和lvm知识: 20160829         1、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录       &nbsp…

    Linux干货 2016-09-05
  • 安装命令及源码安装

    rpm命令  –q:查询 -qa:查询系统内所有已安装的包 -qf:查询文件来自于那个安装包 -ql:安装包内的文件 -qp:与其他命令配合可以查询未安装包的信息,但要跟完整的安装包名 -qi:查看报的详细信息 -qc:查询程序的配置文件 -qd:查询程序的文档 -qR:查询安装包依赖的程序 –scripts:查看安装包内的脚本 -q …

    Linux干货 2016-08-26