如何搭建HTTP/HTTPS服务

1、建立httpd服务器(基于编译的方式进行),要求:
    提供两个基于名称的虚拟主机:
    (a)www1.itab.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access;
    (b)www2.itab.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access;
    (c)为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名;
    (d)通过www1.itab.com/server-status输出httpd工作状态相关信息,且只允许提供帐号密码才能访问(status:status);
    (e) www1不允许192.168.1.0/24网络中的主机访问;

2、为上面的的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;
  (1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(iTab);
  (2)设置部门为Ops,主机名为www2.itab.com,邮件为admin@stuX.com;

现在分别使用httpd-2.2和httpd-2.4搭建符合以上要求的HTTP/HTTPS服务。

httpd-2.2

(1) 使用yum安装httpd服务程序。
[root@web ~]# yum -y install httpd

(2) 要想使用虚拟主机,必须先注释掉中心主机的文档根路径(DocRoot)。
[root@web ~]# vim /etc/httpd/conf/httpd.conf
 
#DocumentRoot "/var/www/html"

(3) 在/etc/httpd/conf.d目录下创建vhost.conf文件,专门用于配置虚拟主机。
NameVirtualHost 192.168.10.128:80
 
<VirtualHost 192.168.10.128:80>    # 第一台虚拟主机配置
    ServerName www1.itab.com      # 第一台虚拟主机的主机名
    DocumentRoot "/web/vhosts/www1"        # 第一台虚拟主机的DocRoot
    ErrorLog logs/www1.err                # 错误日志路径
    CustomLog logs/www1.access combined    # 访问日志路径
    <Directory "/web/vhosts/www1">        # 基于IP地址做访问控制
        Order allow,deny
        Deny from 192.168.1                # 不允许192.168.1.0/24网络中的主机访问
    </Directory>
    <Location /server-status>              # 第一台虚拟主机开启server-status工作状态输出功能
        SetHandler server-status
        AuthType Basic                    # 基于账号密码做控制
        AuthName "Enter your username and password."    # 认证提示
        AuthUserFile "/etc/httpd/.htpasswd"            # 存放账号密码的文件路径
        Require user status                # 只允许status用户登录
    </Location>
</VirtualHost>
 
<VirtualHost "192.168.10.128:80">          # 第二台虚拟主机配置
    ServerName www2.itab.com              # 第二台虚拟主机的主机名
    DocumentRoot "/web/vhosts/www2"        # 第二台虚拟主机的DocRoot
    ErrorLog logs/www2.err                # 错误日志路径
    CustomLog logs/www2.access combined    # 访问日志路径
</VirtualHost>

(4) 创建虚拟主机的文档根目录,并为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名。
[root@web ~]# mkdir -pv /web/vhosts/{www1,www2}
mkdir: created directory `/web'
mkdir: created directory `/web/vhosts'
mkdir: created directory `/web/vhosts/www1'
mkdir: created directory `/web/vhosts/www2'
 
[root@web ~]# cat /web/vhosts/www1/index.html 
<h1> www1.itab.com </h1>
 
[root@web ~]# cat /web/vhosts/www2/index.html 
<h1> www2.itab.com </h1>

(5) 设置站点主页面。
[root@web ~]# vim /etc/httpd/conf/httpd.conf
DirectoryIndex index.html

(6) 创建访问status页面的账号(status)和密码(status)。
[root@web ~]# htpasswd -cm /etc/httpd/.htpasswd status
New password: 
Re-type new password: 
Adding password for user status

(7) 检查语法错误,如果没有错误,则启动http服务。
[root@web ~]# httpd -t
Syntax OK
[root@web ~]# service httpd start
Starting httpd:                                            [  OK  ]

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/97586beccf6ecc44f22c5567f1fcab7b.html