RHCE第0章:RHCE开始前的准备
RHCE第1章:Web服务器(上)
RHCE第1章:Web服务器(下)
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录- 系列文章目录
- 前言
- 一、任意目录存放html
- 1.软连接
- 2.编辑conf
- 二、apache调用脚本
- 1.shell perl调用
- 2.python调用
- 三、增加限制
- 1.限制主机
- 2.密码验证
- 总结
前言 这次博客继续web服务器的内容,现在还原快照继续做实验。
上一次博客中我们将所有html文件都存放于特定的文件夹中,但如果大型网页,文件非常多,那样很难管理,所以要将网页文件放在其他目录,方便管理。 一、任意目录存放html
安装服务器以及启动就不说了。
1.软连接创建测试目录以及文件
mkdir /local echo localtest > /local/index.html
创建网页所在文件夹的软链接,是文件夹,不是html文件
ln -s /local/ /var/www/html/soft
查看结果
mkdir /disk echo disttest > /disk/index.html vim /etc/httpd/conf.d/0.conf
编写主配置文件(一般情况下可以不编写),但是要演示实验还是写一下。
可以看到现在是找不到的
继续添加目录信息
这些格式都是apache设置后好的,不用硬记,用的时候粘贴一个就行。
重启服务器或者重读配置文件刷新浏览器。
现在变成了可以找到,但没有权限访问,这里说明一下,前边也说过,为了安全性,apache将所有目录都禁掉,需要那个在开启那个,现在我们需要开启/disk的目录权限。
可以直接从apache的默认配置文件中拷一份
vim /etc/httpd/conf/httpd.conf
直接加到后边,然后再改一改
然后重启刷新浏览器
可以看到已经能够正常访问了。
现在还原快照,继续实验。
不解释了
apache常用的脚本一般是shell perl python
先创建三个脚本,一般存放于/var/www/cgi-bin/目录
shell
#!/bin/bash echo -en "Content-Type: text/html; charset=UTF-8nn"; date +%c
perl
#!/usr/bin/perl print "Content-Type: text/html; charset=UTF-8nn"; $now=localtime(); print "$nown";
python
#!/usr/bin/env python import time def application (environ, start_response): response_body = 'UNIX EPOCH time is now: %sn' % time.time() status = '200 OK' response_headers = [('Content-Type', 'text/plain'), ('Content-Length', '1'), ('Content-Length', str(len(response_body)))] start_response(status, response_headers) return [response_body]1.shell perl调用
先写个主配置文件,怎么写上边有。
给脚本加执行权限
chmod a+x /var/www/cgi-bin/shell.sh /var/www/cgi-bin/perl.pl
再主配置文件中加一个脚本调用模块,这里也可以直接去默认配置文件里拷一份
可以看到,大部分都是注释,那都不需要
修改以后主配置文件就这样
然后重启服务器调用脚本
安装需要的模块
yum install python3-mod_wsgi.x86_64 -y
继续修改主配置文件
之后重启服务器。
调用脚本
可以看到,这个脚本已经被正常调用了,但是结果好像不太对,回来博主查看发现,python代码使用2写的,所以咱们换一些代码就行
def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"]
再次刷新浏览器
已经可以正常调用了。
创建测试文件
mkdir /var/www/html/secret echo chaogesecret > /var/www/html/secret/index.html1.限制主机
用另一台虚拟机访问
现在我们要限制这台主机的访问,继续修改主配置文件。
里面三行简单说一下
第一行:进行允许和拒绝的判断
第二行:全部允许
第三行:拒绝个别主机。
然后重启服务器,用另一台虚拟机访问。
可以看到已经无法访问了。
htpasswd -cm /etc/httpd/.chaogepasswd chaoge
-c新建
-m进行md5加密
密码文件存放目录,用隐藏文件提高安全性
chaoge 第一个用户
之后输入两次密码,可以为空
如果需要继续添加用户,去掉-c 其他不变。
继续修改主配置文件
第一行:认证名称(随意)
第二行:基础认证(固定)
第三行:密码文件所在位置
第四行:对象认证(固定)
重启,用另一台虚拟机再次访问。
已经添加了密码认证
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)