httpd及https

1、建立httpd服务,要求:

(1) 提供两个基于名称的虚拟主机:

    www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1/error_log,访问日志为/var/log/httpd/www1/access_log

   www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2/error_log,访问日志为/var/log/httpd/www2/access_log

(2) 通过www1.stuX.com/server-status输出其状态信息,且要求只允许提供账号的用户访问;

(3)
www1
不允许192.168.1.0/24网络中的主机访问;

2、为上面的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;

(1) 要求使用证书认证,证书中要求使用国家(CN),州(Beijing),城市(Beijing),组织为(MageEdu)

(2) 设置部门为Ops, 主机名为www2.stuX.com

CentOS7中安装好httpdyum install –y httpd

1题中(1)要求提供两个基于名称的虚拟主机,并重新制定页面的文件目录、错误和访问日志的路径:

为实现该要求的思路为:1>首先创建目录,和日志相应的文件

2>因为CentOS7httpd高度支持模块化,可以直接创建两个单独的模块作为虚拟主机的配置文件:

/etc/httpd/conf.d/ 目录下 mkdir www1.conf 同理创建www2.conf,之后根据需求修改主配置文件/etc/httpd/conf/httpd.conf中相应的设置

(2)中要求通过www1.stuX.com/server-status输出其状态信息,需要加入server-status模块,限制网段中主机的访问,需要加入RequireAll模块;

3)中要求到限制网段中的主机访问,在此可以放入单独的一个配置文件中

建议试验过程中将SElinux关掉 setenforce 0 防止出现错误

实验步骤:

  1mkdir –p  /web/vhosts/www1  /web/vhosts/www2 ; mkdir –p /var/log/httpd/www{1,2}  touch /var/log/httpd/www{1,2}/{error_log,access_log};在各自目录下编辑index.html文件,作为测试以区别


httpd及https

 2mkdir /etc/httpd/conf.d/www1.conf 

vim /etc/httpd/conf.d/www1.conf

httpd及https

 3cp –a www1.conf www2.conf 将其中对应于www2的配置修改一下即可

 4、为了能够通过域名访问vim /etc/httpd/conf/httpd.conf

httpd及https

将其中的ServerNmae修改为本地服务器的IP地址

5httpd –t 检查配置文件是否有语法错误,显示如下则正常

httpd及https

6、开启服务:systemctl start httpd.servicess -ntl 查看80端口是否打开

7、清空防火墙规则 iptables -F

8、加入状态信息模块 vim /etc/httpd/conf.d/www1.conf

httpd及https

9、加入访问控制模块vim /etc/httpd/conf.d/www1.conf

httpd及https

 10、提供账号访问,需要先创建账号文件

       htpasswd -c /etc/httpd/conf.d/.htpasswd 用户名

httpd及https htpasswd -b /etc/httpd/conf.d/.htpasswd 用户名 密码

 

11、编辑访问控制文件 vim /etc/httpd/conf.d/admin.conf

httpd及https

12、在这里我用Windows操作系统访问主页,需要修改hosts文件,加入域名解析,文件位置C:\Windows\System32\drivers\etc 用记事本打开,保存即可

httpd及https

httpd及https


httpd及https

 

CentOS6中配置题1:思路同上,这里要注意将/etc/httpd/conf/httpd.conf DocumentRoot选项注释掉
NameVirtualHost 后添加IP地址

             httpd及https

2要求提供https服务:

   思路:为服务器申请数字证书,配置httpd支持使用ssl,及使用的证书

 

实验步骤:

 1cd /etc/pki/CA   (umask 077; openssl genrsa -out private/cakey.pem 2048)生成私钥

httpd及https

 2openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365 生成自签证书

httpd及https

3 touch index.txt serial;echo 01 > serial

4httpd服务器端:yum install -y mod_sslmkdir /etc/httpd/sslcd  /etc/httpd/ssl

      (umask 077; openssl genrsa -out httpd_key.pem 1024)

httpd及https

5openssl req -new -key httpd_key.pem -out httpd_csr.pem

httpd及https

6scp httpd_csr.pem 172.16.251.57:/tmp

7CA签证服务器端:

httpd及https

8scp certs/httpd_crt.pem 172.16.250.31:/etc/httpd/ssl

9、vim ssl.conf

将其修改为你的https服务要指向的虚拟主机

httpd及https

将签发的证书以及私钥的位置写入

httpd及https

10、将CA签发的cacert.pem证书导入浏览器后即可安全浏览

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

(1)
Immortals、zcyImmortals、zcy
上一篇 2017-06-05 22:47
下一篇 2017-06-06 15:10

相关推荐

  • Linux编译安装

    Linux编译安装    Linux上真正可以执行的文件是二进制文件,这些可以执行的二进制文件是哪儿来的呢?首先,必须要写程序的源代码,然后,由编译程序将程序的源代码 编译成二进制形式。源代码是由程序员编写的,使用特定的程序语言,如C,C++,Java,Python。但是机器看不懂这些语言,所以要使用编译程序将这些语言编写的源代码编译成机…

    Linux干货 2016-08-24
  • Linux用户和组管理及相关命令详解

        概要:在学习Linux的初级阶段,用户管理是基础管理的重要部分,任何命令的运行,系统的正常运转,均离不开用户管理的内容,本篇就为大家介绍下Linux用户管理的一些基础概念和一些基础命令的用法。内容主要分为以下三个部分:        &nbs…

    Linux干货 2016-08-02
  • 马哥教育网络班N22期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:是连接两个局域网的基于MAC地址数据存储转发设备,工作于数据链路层集线器:所有端口处于同一个广播域和冲突域中,带宽共享,工作于物理层二层交换机:多端口网桥,一个端口一个冲突域,默认所有端口位于同一个广播域中,可以划分vlan,隔离广播域,带宽独享三层交换机:具有路由功能的二…

    Linux干货 2016-10-19
  • 马哥教育网络班21期+第3周作业

    马哥教育网络班21期+第3周作业 1、列出当前系统上所有已经登陆的用户的用户名 [root@ip-172-31-45-110 ec2-user]# who | awk '{print $1}' ec2-user 2、取出最后登录到当前系统的用户的相关信息 [root@ip-172-3…

    Linux干货 2016-07-22
  • LINUX课堂笔记(第二周)

    2018.03.12 rpm httpd*** service httpd start ab 模仿用户访问 cat /var/log/httpd/access_log curl 访问web服务 rev 字符颠倒显示 sort  -r 执行反方向(由上至下)整理  -R 随机排序  -n 执行按数字大小整理  -f 选项忽略(fold)字符串中的字符大…

    Linux干货 2018-03-17
  • Centos6搭建vsftpd手册

    1、开启防火墙ftp端口vi /etc/sysconfig/iptables     #编辑防火墙配置文件 1 -A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT(允许21端口通过防火墙) 2 -A INPUT -m st…

    Linux干货 2017-04-26