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

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

RHCE第1章:Web服务器(下) 系列文章目录

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


查看结果

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

再主配置文件中加一个脚本调用模块,这里也可以直接去默认配置文件里拷一份

可以看到,大部分都是注释,那都不需要

修改以后主配置文件就这样
然后重启服务器调用脚本

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服务器的内容就这些,东西还是比较多的,要多多练习。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存