RHCE第1章:Web服务器(下)

系列文章目录

RHCE第0章:RHCE开始前的准备
RHCE第1章:Web服务器(上)
RHCE第1章:Web服务器(下)


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

这次博客继续web服务器的内容,现在还原快照继续做实验。
上一次博客中我们将所有html文件都存放于特定的文件夹中,但如果大型网页,文件非常多,那样很难管理,所以要将网页文件放在其他目录,方便管理。

一、任意目录存放html

安装服务器以及启动就不说了。

1.软连接

创建测试目录以及文件

mkdir /local
echo localtest > /local/index.html

创建网页所在文件夹的软链接,是文件夹,不是html文件

ln -s /local/ /var/www/html/soft

在这里插入图片描述
查看结果
在这里插入图片描述

2.编辑conf

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调用脚本

现在还原快照,继续实验。
在这里插入图片描述
不解释了
apache常用的脚本一般是shell perl python
先创建三个脚本,一般存放于/var/www/cgi-bin/目录
在这里插入图片描述
shell

#!/bin/bash
echo -en "Content-Type: text/html; charset=UTF-8\n\n";
date +%c

perl

#!/usr/bin/perl
print "Content-Type: text/html; charset=UTF-8\n\n";
$now=localtime();
print "$now\n";

python

#!/usr/bin/env python
import time

def application (environ, start_response):
    response_body = 'UNIX EPOCH time is now: %s\n' % 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 

再主配置文件中加一个脚本调用模块,这里也可以直接去默认配置文件里拷一份
在这里插入图片描述
可以看到,大部分都是注释,那都不需要
在这里插入图片描述
修改以后主配置文件就这样
然后重启服务器调用脚本
在这里插入图片描述
在这里插入图片描述

2.python调用

安装需要的模块

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.html

1.限制主机

用另一台虚拟机访问
在这里插入图片描述
现在我们要限制这台主机的访问,继续修改主配置文件。
在这里插入图片描述

里面三行简单说一下
第一行:进行允许和拒绝的判断
第二行:全部允许
第三行:拒绝个别主机。
然后重启服务器,用另一台虚拟机访问。
在这里插入图片描述
可以看到已经无法访问了。

2.密码验证

htpasswd -cm /etc/httpd/.chaogepasswd chaoge

-c新建
-m进行md5加密
密码文件存放目录,用隐藏文件提高安全性
chaoge 第一个用户
在这里插入图片描述
之后输入两次密码,可以为空
如果需要继续添加用户,去掉-c 其他不变。
继续修改主配置文件
在这里插入图片描述
第一行:认证名称(随意)
第二行:基础认证(固定)
第三行:密码文件所在位置
第四行:对象认证(固定)
重启,用另一台虚拟机再次访问。

在这里插入图片描述
已经添加了密码认证

总结

第一章有关Web服务器的内容就这些,东西还是比较多的,要多多练习。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值