RHCE之web配置

12:构建一个web服务器


实验环境

主机名称 操作系统 IP地址 / 域名
system1 RHEL7 172.24.10.11 / system1.group10.example.com
system2 RHEL7 172.24.10.12 / system2.group10.example.com
server RHEL7 server.group10.example.com
针对RHCE考点:

1.apache的默认目录/var/www/html相关配置

2.wget -O /var/www/html/index.html

3.<requireall >下的配置要求,指域名下的客户端可访问web,拒绝某域的访问Require not hosts

第一步:装包

system1:

yum install -y httpd httpd-manual
systemctl enable httpd    #(安装HTTP软件包并设置开机自启)

第二步:改配置文件

#修改配置文件(此环境针对RHCE考试仅修改域名,生产环境视情况而定)
vim /etc/httpd/conf/httpd.conf
# If your host doesn't have a registered DNS name, enter its IP address here.
ServerName system1.group10.example.com:80   #(此为修改内容)

第三步:下载html代码

#下载服务端html代码#(地址随服务端为准)
wget -O /var/www/html/index.html http://server/pub/system1.html
systemctl restart httpd

第四步:配置防火墙规则(firewalld)

firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=172.24.10.0/24 service name=http accept"
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=172.13.10.0/24 service name=http reject"
firewall-cmd --reload

第五步:测试访问

curl http://system1.group10.example.com   #(出现html有效内容即为成功)

13:配置安全web服务


第一步:装包

system1:

yum install -y mod_ssl

第二步:配置防火墙(https)

firewall-cmd --add-service=https --permanent
firewall-cmd --reload

第三步:下载证书:

wget -O /etc/pki/tls/certs/system1.crt http://server/pub/tls/certs/system1.crt
wget -O /etc/pki/tls/private/system1.key http://server/pub/tls/private/system1.key
wget -O /etc/pki/tls/certs/ssl-ca.crt http://server/pub/tls/certs/ssl-ca.crt
chmod 0600 /etc/pki/tls/private/system1.key

第四步:编写配置文件

虚拟主机的配置语法可以参照: /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf
TLS 的配置语法请参照: /etc/httpd/conf.d/ssl.conf
vim /etc/httpd/conf.d/vhost.conf

<VirtualHost *:80>
  DocumentRoot "/var/www/html"
  ServerName system1.group10.example.com
</VirtualHost>
<VirtualHost *:443>
  DocumentRoot "/var/www/html"
  ServerName system1.group10.example.com
  SSLEngine on
  SSLProtocol all -SSLv2 -SSLv3
  SSLCertificateFile /etc/pki/tls/certs/system1.crt
  SSLCertificateKeyFile /etc/pki/tls/private/system1.key
  SSLCertificateChainFile /etc/pki/tls/certs/ssl-ca.crt
</VirtualHost>


#检查语法 
httpd -S
#重启HTTP服务
systemctl restart httpd

第五步:访问测试

#测试访问:
curl -k https://system1.group10.example.com

14:配置虚拟主机


准备(确保解析正常): ping www10.group10.example.com

第一步:创建目录并做ACL规则,以及检查上下文

mkdir -p /var/www/virtual
    setfacl -m u:andy:rwx /var/www/virtual
    getfacl /var/www/virtual
    ls -lZd /var/www/virtual
        drwxrwxr-x+ root root unconfined_u:object_r:httpd_sys_content_t:s0
#如果安全上下文不正确使用以下命令恢复
        restorecon -R /var/www/virtual

第二步:下载网页

wget -O /var/www/virtual/index.html http://server/pub/www10.html

第三步:修改配置文件

编辑虚拟主机配置文件 vim /etc/httpd/conf.d/vhost.conf,增加*:80 配置项:

#vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
    DocumentRoot "/var/www/virtual"
    ServerName www10.group10.example.com
</VirtualHost>

#执行语法检查
httpd -S
#重启httpd服务
systemctl restart httpd

第四步:测试

[root@system2 ~]# curl http://www10.group10.example.com
Site:www10.group10.example.com

在 system1 上,测试 andy 创建文件:
[root@system1 ~]# su - andy
-bash-4.2$ touch /var/www/virtual/11.html
-bash-4.2$ ls /var/www/virtual/
11.html index.html

15:配置 WEB 内容的访问控制


第一步:创建目录

在system1:

mkdir /var/www/html/private
mkdir /var/www/virtual/private

第二步:下载html网页内容

wget -O /var/www/html/private/index.html http://server/pub/private.html
wget -O /var/www/virtual/private/index.html http://server/pub/private.html

第三步:添加配置文件

vim /etc/httpd/conf.d/vhost.conf (此配置语法在主配置文件有例子)

#添加以下内容:
<Directory "/var/www/html/private/">
    AllowOverride none               #禁用.htaccess 文件,可以不写,不影响访问
    Require all denied               #拒绝所有用户访问
    Require local                    #但允许本地用户访问,满足题意要求
</Directory>
<Directory "/var/www/virtual/private/">
    AllowOverride none                #禁用.htaccess 文件,可以不写,不影响访问
    Require all denied                #拒绝所有用户访问
    Require local                     #但允许本地用户访问,满足题意要求
</Directory>

#检查语法
httpd -S
#重启httpd
systemctl restart httpd

第四步:测试

在 system1 上测试:

curl http://www10.group10.example.com/private/
This a private file,only for local access!
curl http://system1.group10.example.com/private/
This a private file,only for local access!

在system2 上测试:

curl http://www10.group10.example.com/private/
\#You don't have permission to access /private/
curl http://system1.group8.example.com/private/
\#You don't have permission to access /private/

16:动态 WEB 内容


第一步:装包(mod_wsgi)

yum install -y mod_wsgi
ping wsgi

第二步:添加防火墙

firewall-cmd --add-rich-rule="rule family=ipv4 source address=172.24.10.0/24 port port=8909 protocol=tcp accept" --permanent
firewall-cmd --reload

第三步:配置 8909 端口 SELinux 上下文

semanage port -a -t http_port_t -p tcp 8909   (记)

第四步:修改配置文件

vim /etc/httpd/conf/httpd.conf

#vim /etc/httpd/conf/httpd.conf
Listen 80
Listen 8909

vim /etc/httpd/conf.d/vhost.conf 增加配置项

#vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:8909>
    ServerName wsgi.group10.example.com
    WSGIScriptAlias / /var/www/html/webinfo.wsgi
</VirtualHost>
#检查语法
httpd -S

第五步:下载 cgi 文件:

wget -O /var/www/html/webinfo.wsgi http://server/pub/webinfo.wsgi

#重启服务
systemctl restart httpd

第六步:测试

#分别在 system1 和 system2 上测试访问:
curl http://wsgi.group10.example.com:8909

至此,RHCE的web部分结束,此教程与RHCE练习环境结合参考!

猜你喜欢

转载自blog.csdn.net/qq_38400537/article/details/80261484