学习笔记(2022-4-6)——httpd服务(2-网页发布)_httpd发布-程序员宅基地

技术标签: apache  运维  linux  

# 红帽8.0版本(sshd)

> 个人有道云共享链接:有道云笔记

因为时间原因就不对显示内容进行美化,主要通过有道云观看即可。

————————

操作便记方法:

[文件]

1、/usr/share/doc/httpd/httpd-vhosts.conf中复制基础信息

2、/etc/httpd/conf/httpd.conf中复制部分内容

3、两者组合成见面发布文件(*.con),存放在/etc/httpd/conf.d/下

[安全]

4、配置发布的目录上下文:为httpd_sys_content_t

统一修改发布目录中的配置目录上下文:

semanage fcontext -l | grep httpd (复制配置参数)

semanage fcontext -a -t httpd_sys_content_t "配置参数"

5、如果要发布用户个人网页需要开启(允许访问冡目录+权限):

setsebool -P httpd_enable_homedirs

setfacl -R -m apache:rx 发布目录

6、最后就是配置防火墙放行端口

firewall-cmd --permanent --add-port=端口/协议


一、发布用户个人主页

1、进入/etc/httpd/conf.d/userdir.conf 用户目录配置文件:

[添加 # 号]将 UserDir disabled 关闭

[删除 # 号]将 UserDir public_htm 开启

【UserDir 参数表示网站数据在用户家目录中的保存目录名称,即 用户家目录中,哪个目录是存放网页文件】

2、在用户家目录创建网页目录:

(1)进行指定用户的家目录

(2)创建 public_html 目录

(3)再向该目录写入一个index.html的测试网页

3、放行apache用户访问用户的家目录

(1)设置acl放行apache

setfacl -m apache:rx 用户目录

(2)放行httpd访问目录

getsebool -a | grep httpd_enable_homedirs

setsebool -P httpd_enable_homedirs=on

(3)进行测试访问

http://httpd地址/~用户名称

4、根据需求进行放行对应的防火墙策略

firewall-cmd --permanent --add-port=80/tcp


二、通过IP发布网站

1、修改配置文件

(1)copy一份/usr/share/doc/httpd/http-vhosts.conf中的配置

(1.5)部分需要从主配置文件httpd.conf中复制

(2)新命名一个文件为:ceshi.conf

<VirtualHost *:80> DocumentRoot "/ceshi" <Directory /ceshi> AllowOverride none Require all granted </Directory> <VirtualHost>

2、进行语法检查

httpd -t

apachectl /etc/httpd/conf/httpd.conf

3、配置selinux允许apache访问本地的发布目录

(1)查看httpd的允许的上下文

ls -dz /var/www/html

system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

允许的上下文是:httpd_sys_content_t

(2)临时修改发布目录的上下文(针对少数的文件)

selinux安全上下文的配置

chcon -t httpd_sys_content_t /ceshi

chcon -t httpd_sys_content_t /ceshi/index.html 【默认情况下,在chcon过的目录下进行创建的文件也跟随目录上下文】

(3)进行永久修改默认的上下文目录(针对大量文件)

        1)查看httpd_sys_content_t的上下文所属的目录有哪些:

                semanage fcontext -l | grep httpd_sys_content_t

        2)增加/ceshi目录含子目录,成为该类型上下文的所属目录:

                semanage fcontext -a -t httpd_sys_content_t "/ceshi(/.*)?"

        3)增加之后,通过restorecon 命令将目录的类型进行"恢复"

                restorecon -Rv /ceshi

4、根据需求进行放行对应的防火墙策略

        firewall-cmd --permanent --add-port=80/tcp


三、通过域名发布网站

1、修改配置文件

(1)copy一份/usr/share/doc/httpd/http-vhosts.conf中的配置

(1.5)部分需要从主配置文件httpd.conf中复制

(2)新命名一个文件为:ceshi.conf

<VirtualHost *:80> DocumentRoot "/ceshi" ServerName www.baidu.com <Directory /ceshi> AllowOverride none Require all granted </Directory> <VirtualHost>

(3)如果没有DNS服务器,则进行修改hosts文件

vim /etc/hosts 增加内容: ———————————————— 格式: IP地址 域名 172.25.250.10 www.baidu.com ————————————————

2、进行语法检查

httpd -t

apachectl /etc/httpd/conf/httpd.conf

3、配置selinux允许apache访问本地的发布目录

(1)查看httpd的允许的上下文

        ls -dz /var/www/html

        system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

        允许的上下文是:httpd_sys_content_t

(2)临时修改发布目录的上下文(针对少数的文件)

selinux安全上下文的配置

        chcon -t httpd_sys_content_t /ceshi

        chcon -t httpd_sys_content_t /ceshi/index.html

(3)进行永久修改默认的上下文目录(针对大量文件)

        1)查看httpd_sys_content_t的上下文所属的目录有哪些:

                semanage fcontext -l | grep httpd_sys_content_t

        2)增加/ceshi目录含子目录,成为该类型上下文的所属目录:

                semanage fcontext -a -t httpd_sys_content_t "/ceshi(/.*)?"

        3)增加之后,通过restorecon 命令将目录的类型进行"恢复"

                restorecon -Rv /ceshi

4、根据需求进行放行对应的防火墙策略

        firewall-cmd --permanent --add-port=80/tcp


四、通过端口进行发布网站

1、修改配置文件

(1)copy一份/usr/share/doc/httpd/http-vhosts.conf中的配置

(1.5)部分需要从主配置文件httpd.conf中复制

(2)新命名一个文件为:ceshi.conf

Listen 666 <VirtualHost 172.25.250.10:666> DocumentRoot "/ceshi" <Directory /ceshi> AllowOverride none Require all granted </Directory> <VirtualHost>

2、进行语法检查

httpd -t

apachectl /etc/httpd/conf/httpd.conf

3、配置selinux允许apache访问本地的发布目录

(1)查看httpd的允许的上下文

ls -dz /var/www/html

system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

允许的上下文是:httpd_sys_content_t

(2)临时修改发布目录的上下文(针对少数的文件)

selinux安全上下文的配置

chcon -t httpd_sys_content_t /ceshi

chcon -t httpd_sys_content_t /ceshi/index.html

(3)进行永久修改默认的上下文目录(针对大量文件)

        1)查看httpd_sys_content_t的上下文所属的目录有哪些:

                semanage fcontext -l | grep httpd_sys_content_t

        2)增加/ceshi目录含子目录,成为该类型上下文的所属目录:

                semanage fcontext -a -t httpd_sys_content_t "/ceshi(/.*)?"

        3)增加之后,通过restorecon 命令将目录的类型进行"恢复"

                restorecon -Rv /ceshi

4、根据需求进行放行对应的防火墙策略

        firewall-cmd --permanent --add-port=666/tcp


五、用户认证

1、修改配置文件

(1)copy一份/usr/share/doc/httpd/http-vhosts.conf中的配置

(1.5)部分需要从主配置文件httpd.conf中复制

(2)新命名一个文件为:ceshi.conf

<VirtualHost *:80> DocumentRoot "/ceshi" <Directory /ceshi> AllowOverride none authtype basic # 认证的模式 authuserfile "/etc/httpd/passwd" #这是密码保存的文件 authname "My privately website" #登录提示 require user ceshi #只给ceshi用户登录 </Directory> <VirtualHost>

2、进行语法检查

httpd -t

apachectl /etc/httpd/conf/httpd.conf

3、配置selinux允许apache访问本地的发布目录

(1)查看httpd的允许的上下文

ls -dz /var/www/html

system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

允许的上下文是:httpd_sys_content_t

(2)临时修改发布目录的上下文(针对少数的文件)

selinux安全上下文的配置

chcon -t httpd_sys_content_t /ceshi

chcon -t httpd_sys_content_t /ceshi/index.html

(3)进行永久修改默认的上下文目录(针对大量文件)

        1)查看httpd_sys_content_t的上下文所属的目录有哪些:

                semanage fcontext -l | grep httpd_sys_content_t

        2)增加/ceshi目录含子目录,成为该类型上下文的所属目录:

                semanage fcontext -a -t httpd_sys_content_t "/ceshi(/.*)?"

        3)增加之后,通过restorecon 命令将目录的类型进行"恢复"

                restorecon -Rv /ceshi

4、根据需求进行放行对应的防火墙策略

        firewall-cmd --permanent --add-port=80/tcp

5、配置认证的用户信息

        htpasswd -c /etc/httpd/password 用户名 # 新建认证用户数据库

        执行之后,将让你进行配置账号的密码。

        当提示:Adding password for user 用户名 说明你成功了

————————

后继还需要进行添加其它认证的用户可通过以下的方式:

htpasswd /etc/httpd/password 用户名 # 增加认证用户数据库

cat /etc/httpd/password #可以看到新增的用户

如果添加-c参数就是重新创建一个数据库文件了!

<VirtualHost *:80> DocumentRoot "/ceshi" <Directory /ceshi> AllowOverride none authtype basic # 认证的模式 authuserfile "/etc/httpd/passwd" #这是密码保存的文件 authname "My privately website" #登录提示 # require user ceshi #只给ceshi用户登录 require valid-user # 仅给数据库中的用户访问 </Directory> <VirtualHost>


六、访问控制

禁止部分的用户访问指定的网站,可通过浏览器和IP地址等。

1、低版本httpd,使用Order

1.1、修改配置文件

(1)copy一份/usr/share/doc/httpd/http-vhosts.conf中的配置

(1.5)部分需要从主配置文件httpd.conf中复制

(2)新命名一个文件为:ceshi.conf

参考网址:Apache(httpd)配置Directory目录,Order,deny,allow说明_kittaaron的博客-程序员宅基地_httpd order

<VirtualHost *:80> DocumentRoot "/ceshi" <Directory /ceshi> Order allow,deny deny from 172.25.0.250 # 拒绝指定IP allow from 172.25.250.0/24 # 允许其它的网络 # 默认拒绝全部(该规则实现:仅有0.250主机不能访问这个网站) </Directory> <VirtualHost>

(3)order规则

 Apache有一条缺省规则,“order allow,deny”本身就默认了拒绝所有的意思,因为deny在allow的后面;同理,“order deny,allow”本身默认的是允许所有;

【哪条指令在后,就表示默认规则为哪条指令】

其次就是规则中的匹配规则,如果你是:

Order allow,deny deny from xxx #执行(因为deny为最后动作) allow from xxx Order deny,allow deny from xxx #不执行(因为deny不是最后动作) allow from xxx #执行

【所谓的最后动作,可理解为执行顺序】

2、高版本的httpd,使用

2.1、修改配置文件

(1)copy一份/usr/share/doc/httpd/http-vhosts.conf中的配置

(1.5)部分需要从主配置文件httpd.conf中复制

(2)新命名一个文件为:ceshi.conf

<VirtualHost *:80> DocumentRoot "/ceshi" <Directory /ceshi> </Directory> <VirtualHost>

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45443704/article/details/125229194

智能推荐

C语言——数组逆置(内含递归实现)-程序员宅基地

文章浏览阅读5k次,点赞5次,收藏25次。一.什么是数组的逆置呢?int a[10]={1,2,3,4,5,6,7,8,9,10};将数组变为 a[10]={10,9,8,7,6,5,4,3,2,1};这就叫做数组的逆置。二.1.循环实现数组的逆置这个是我们在初学C语言时最容易的实现方法!a.通过for循环实现//通过循环完成对数组的逆置#include<stdio.h>#define size 10void Inversion(int[], int);int main(void){ i_数组逆置

esp32-cam Thonny 烧录以及通信-程序员宅基地

文章浏览阅读229次,点赞4次,收藏3次。链接:https://pan.baidu.com/s/1cBsrCJ_TATFsuVhVdr0VmA?IO1和GND不再短接。重新插拔一下,就可以了。

字符,字节和编码-程序员宅基地

文章浏览阅读39次。级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是正确地理解相关概念,编码所涉及的技术其实是很简单的。因此,阅读本文时需要慢读多想,多思考。引言“字符与编码”...

Linux 修改 ELF 解决 glibc 兼容性问题_glibc_private-程序员宅基地

文章浏览阅读1.1k次。Linux glibc 问题相信有不少 Linux 用户都碰到过运行第三方(非系统自带软件源)发布的程序时的 glibc 兼容性问题,这一般是由于当前 Linux 系统上的 GNU C 库(glibc)版本比较老导致的,例如我在 CentOS 6 64 位系统上运行某第三方闭源软件时会报:[root@centos6-dev ~]# ldd tester./tester: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by._glibc_private

wxWidgets:常用表达式_wxwidget 正则表达式 非数字字符-程序员宅基地

文章浏览阅读282次。wxWidgets:常用表达式wxWidgets:常用表达式不同风味的正则表达式转义Escapes元语法匹配限制和兼容性基本正则表达式正则表达式字符名称wxWidgets:常用表达式一个正则表达式描述字符的字符串。这是一种匹配某些字符串但不匹配其他字符串的模式。不同风味的正则表达式POSIX 定义的正则表达式 (RE) 有两种形式:扩展正则表达式(ERE) 和基本正则表达式(BRE)。ERE 大致是传统egrep 的那些,而 BRE 大致是传统ed 的那些。这个实现增加了第三种风格:高级正则表达式_wxwidget 正则表达式 非数字字符

Java中普通for循环和增强for循环的对比_for循环10万数据需要时间-程序员宅基地

文章浏览阅读3.4k次,点赞5次,收藏11次。Java中普通for循环和增强for循环的对比_for循环10万数据需要时间

随便推点

话题的发布与订阅_话题订阅频率和发布频率一样-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏11次。Ros话题发布与订阅节点的编写(C++)_话题订阅频率和发布频率一样

Qt Creator 安装 VLD_qtcreater vld-程序员宅基地

文章浏览阅读509次。Qt Creator 安装 VLD2015-04-14 16:52:55你好L阅读数 2325更多分类专栏:qt版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/lin_jianbin/article/details/45044459一、环境说明1、VLD内存..._qtcreater vld

Linux 开发环境工具[zt]-程序员宅基地

文章浏览阅读120次。软件集成开发环境(代码编辑、浏览、编译、调试)Emacs http://www.gnu.org/software/emacs/Source-Navigator 5.2b2 http://sourceforge.net/projects/sourcenavAnjuta http://anjuta.sourceforge...._linux上安装flawfinder

java小易——Spring_spring的beanfactory是hashmap吗-程序员宅基地

文章浏览阅读109次。SpringIoC DI AOPspring底层用的是ConcurrentHashMap解耦合:工厂模式:需要一个模板控制反转 IoC将原来有动作发起者(Main)控制创建对象的行为改成由中间的工厂来创建对象的行为的过程叫做IoC一个类与工厂之间如果Ioc以后,这个时候,动作发起者(Main)已经不能明确的知道自己获得到的对象,是不是自己想要的对象了,因为这个对象的创建的权利与交给我这个对象的权利全部转移到了工厂上了所用包:DOM4j解析XML文件lazy-init = _spring的beanfactory是hashmap吗

温故而知新:部分常见的图像数学运算处理算法的用途_图像处理算啊-程序员宅基地

文章浏览阅读1.3k次,点赞29次,收藏24次。本文将图像处理中常用的数学运算算法及其对图像的作用做了个汇总介绍,有助于图像处理时针对对应场景快速选择合适的数学算法。_图像处理算啊

EM Agent Fatal agent error: State Manager failed at Startup_check agent status retcode=1-程序员宅基地

文章浏览阅读1.1k次。EM 不定期异常宕机,问题重复出现,之前几次因为忙于其它事,无力兼顾,等回头处理时,发现EM已恢复正常。这次问题又重现,准备彻底解决,过程如下:1. 重新启动EM失败,报错:/u01/oracle/agent/core/12.1.0.5.0/bin/emctl status agentOracle Enterprise Manager Cloud Control 12c Relea_check agent status retcode=1