标签: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
原文地址:http://izhouyu.blog.51cto.com/10318932/1922829