首页 > 代码库 > RHCE-Web

RHCE-Web

这里只说一些应该注意的点

第一步要更改配置文件中的ServerName参数,这个是服务器的名称一定要记得更改。如果说让你有让某个域访问,另外一个域不能访问,你就只要让防火墙可以让那个域通过http和https服务就可以啦

mod_ssl这个软件包是提供安全加密的。当你安装完它之后你就会发现/etc/httpd/conf.d这个文件夹里面多了一个ssl.conf的文件,

我们要配置虚拟主机的话要复制一下模板文件,命令如下 

cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/vhosts.conf

通过看配置文件中出现了这个Include conf.modules.d/*.conf 参数,这个是子配置文件,如果子配置文件生效的话,会覆盖主配置文件,所以我们把全部的都做成虚拟主机就可以啦

下面是证书的,证书是由server发放的,我们只要下载下来放在指定的位置就可以啦,这个位置可以在ssl.conf文件中看到,因为这个用到的服务是https,所以防火墙要让它通过https服务,如果要让特定的用户可以修改这个目录的话,可以用setfacl命令去设置

对于要进行访问控制的,可以通过在/etc/httpd/conf/httpd.conf文件中可以看到对应的模板,像下面的这样

<Directory />

    AllowOverride none

    Require all denied

</Directory>

下面是动态网站的配置

首先要按mod_wsgi,这个是提供http动态的模块,如果没有安装会报错的哦。因为wsgi要用的端口是8909,默认情况下selinux是没有给8909贴上http_port_t的标贴的,所以我们要给它贴上标签,还要让防火墙允许它通过,最最最重要的是让http去侦听这个端口。

上面是思路,下面是真正的解题啦

yum install httpd -y

vim /etc/httpd/conf/httpd.conf

ServerName system1.group8.example.com

保存退出后

下载考证提供给你的主页下载的地址http://server.group8.example.com/pub/system1.html ,下载到指定的目录

wget -O /var/www/html/index.html http://server.group8.example.com/pub/system1.html 

设置防火墙允许http服务通过

用firewall-config命令图形化操作

技术分享

firewall-cmd --reload

systemctl restart httpd

这样就可以访问啦

因为后面是虚拟机主机的配置,我们可以刚刚配置的东西都搬到虚拟主机上,因为这样可以方便,你也可以不用在虚拟主机上做,下面我是在虚拟主机上做的,看看题目的要求是要我们把刚刚的web服务器再配置成https的,这个是一个安全加密的的http服务

yum install mod_ssl.x86_64

cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/vhosts.conf

编辑/etc/httpd/conf.d/vhosts.conf文件

删除里面的所有东西,增加下面的条目

<VirtualHost *:80>

    DocumentRoot /var/www/html

    ServerName system1.group8.example.com

</VirtualHost>


<VirtualHost *:443>

        DocumentRoot /var/www/html

        ServerName system1.group8.example.com

        SSLEngine on

        SSLProtocol all -SSLv2

        SSLCertificateFile /etc/pki/tls/certs/system1.crt

        SSLCertificateKeyFile /etc/pki/tls/private/system1.key

        SSLCertificateChainFile /etc/pki/tls/certs/ssl-ca.crt

</VirtualHost>

保存退出

下面这几个可以参考/etc/httpd/conf.d/ssl.conf文件,可以用命令去除一些注释grep -v "^#" /etc/httpd/conf.d/ssl.conf后就可以很清楚的看到下面的内容,复制过去,修改一些参数就好

SSLProtocol all -SSLv2

SSLCertificateFile /etc/pki/tls/certs/system1.crt

SSLCertificateKeyFile /etc/pki/tls/private/system1.key

SSLCertificateChainFile /etc/pki/tls/certs/ssl-ca.crt


在system1上下载server提供的证书,认证密钥,授权信息

wget -O /etc/pki/tls/certs/system1.crt http://server.group8.example.com/pub/tls/certs/system1.crt

wget -O /etc/pki/tls/private/system1.key http://server.group8.example.com/pub/tls/private/system1.key

wget -O /etc/pki/tls/certs/ssl-ca.crt http://server.group8.example.com/pub/tls/certs/ssl-ca.crt


然后用firewall-config图形管理让https服务通过

systemctl restart httpd

下面是限制性访问的,编辑/etc/httpd/conf.d/vhosts.conf文件,加入下面的语句

<Directory /var/www/html/private/>

        AllowOverride none

        Require all denied

        Require local

</Directory>

其中下面的语句可以在/etc/httpd/conf/httpd.conf文件中看到

<Directory />

    AllowOverride none

    Require all denied

</Directory>

一定要加入Reuire local,否则其他的主机也可以访问。

下面是动态网站,动态网站需要用到这个软件包mod_wsgi

在/etc/httpd/conf.d/vhosts.conf文件中加入下面语句

<VirtualHost *:8909>

        ServerName wsgi.group8.example.com

        WSGIScriptAlias /       /var/www/html/webinfo.wsgi

</VirtualHost>

Listen 8909

保存退出

WSGIScriptAlias /       /var/www/html/webinfo.wsgi

语句的含义是:

后者是前者的wsgi脚本别名,意味着访问http:// wsgi.group8.example.com:8909/就相当于访问http://wsgi.group8.example.com:8909/var/www/html/webinfo.wsgi 

因为我们添加了8909这个端口,所以要设置防火墙允许通过,可以使用图形化弄

因为selinux默认是不给8909端口http_port_t标签的,所以我们要给它加上这个标签

semanage port -a -t http_port_t -p tcp 8909

下载提供的文件到/var/www/html目录下

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

最后一步,重启服务就好啦

本文出自 “爱周瑜” 博客,请务必保留此出处http://izhouyu.blog.51cto.com/10318932/1922829

RHCE-Web