Centos 7.2搭建HTTP服务,并进行相关配置

简介: Centos 7.2搭建HTTP服务,并进行相关配置

1、安装apache服务器并访问

建议复制一份 http.conf文件

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
AI 代码解读

若以下内容的子步骤未提及firewalld和SElinux,请关闭

安装httpd服务器

yum -y install httpd

在这里插入图片描述
关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

在这里插入图片描述
启动httpd服务,并设置开机启动

systemctl start httpd

systemctl enable httpd

在这里插入图片描述

浏览器访问 输入 httpd服务器的IP地址,如下
在这里插入图片描述

2、开启apache服务的用户认证功能

若以下内容的子步骤未提及firewalld和SElinux,请关闭

**通过配置Order、Deny from、Allow from 来限制客户机
allow、deny :先"允许"后"拒绝" ,默认拒绝所有为明确的客户机地址。
deny、allow:先"拒绝"后"允许",默认允许所有为明确的客户机地址**

修改httpd配置文件

vi /etc/httpd/conf/httpd.conf

在第131行
在下添加

Order allow,deny
AuthName "Jfedu Access"  #定义受保护领域的名称 
AuthType Basic   #设置认证类型,Basic表示基本认证
AuthUserFile /etc/httpd/conf/htpasswd.users   #设置用于用户账号,密码的认证文件路径
Require valid-user  #要求认证文件存在的用户才能访问
Allow from all
AI 代码解读

此处已有,无需添加此行

AllowOverride None #是否允许覆盖访问控制

删除Require all granted
AI 代码解读

在这里插入图片描述

保存退出,并重启httpd服务
使用htpassword创建认证用户

htpasswd -c /etc/httpd/conf/htpasswd.users test1   #创建认证用户
AI 代码解读

在这里插入图片描述
浏览器访问如下:(请注意如果无法访问,请重启电脑)
在这里插入图片描述

3、在开启SELinux的情况下更改Web网站的发布目录

若以下内容的子步骤未提及firewalld和SElinux,请关闭

请准备一个新的httpd服务的配置文件

换句话说 就是修改httpd服务器的网站根目录
开启SELINUX

vi /etc/selinux/config

将SELINUX后面修改为 SELINUX=enforcing 保存退出即可,如下
在这里插入图片描述

修改SElinux之后 重启系统后生效,输入getenforce即可查看是否生效
在这里插入图片描述

修改httpd配置文件,指定apache服务器的根目录

vi /etc/httpd/conf/httpd.conf

在这里插入图片描述

跳转到119行,修改WEB网页根目录
DocumentRoot "/var/www/testdir"
在双引号中的为Web服务器的网页根目录,本次测试将在/var/www/下创建一个testdir目录作为web的测试根目录,修改完成后保存退出
在这里插入图片描述
我们在/var/www/testdir中新建一个index.html文件进行测试
在这里插入图片描述
重启httpd服务器,浏览器输入IP地址进行测试访问,(请注意如果无法访问,请重启电脑)在这里插入图片描述

4、设置个人主页,

请准备一个新的httpd服务的配置文件,不要接着上面做

vi /etc/httpd/conf.d/userdir.conf

将17行添加注释,24行去掉注释如下,保存退出在这里插入图片描述
创建测试用户 test1 并设置密码

useradd test1

passwd test1

在这里插入图片描述
切换到test1用户

su test1

在这里插入图片描述

进入test1的根目录

cd /home/test1/

在这里插入图片描述
创建public_html,并输入如下命令

echo "This is a test" > public_html/index.html
AI 代码解读

在这里插入图片描述

返回root用户
对test1用户的家目录赋予权限

chmod 711 /home/test1

在这里插入图片描述

打开SELinux的httpd个人主页功能
输入如下命令

setsebool -P httpd_enabled_homedirs=on
AI 代码解读

生成httpd的test1用户的密码

htpasswd -c /etc/httpd/passwd.txt test1
AI 代码解读

在这里插入图片描述

编辑用户文件vi /etc/httpd/conf.d/userdir.conf

vi /etc/httpd/conf.d/userdir.conf

在这里插入图片描述
移动到文件末行,删除原有的三行配置文件
在这里插入图片描述

添加如下内容

    AllowOverride all
    authname "test1 home"
    authuserfile "/etc/httpd/passwd.txt"
    authtype basic
    require user test1
AI 代码解读

在这里插入图片描述
重启httpd服务器

systemctl restart httpd

浏览器访问,输入如下地址,(请注意如果无法访问,请重启电脑)
192.168.100.20/~test1/index.html在这里插入图片描述

在这里插入图片描述

5、基于虚拟IP地址的网页设置:

请准备一个新的httpd服务的配置文件,不要接着上面做

使用ifconfig命令对网卡创建虚拟IP地址
命令如下(请根据实际情况进行配置):

#ifconfig eth1:0 192.168.0.1 netmask 255.255.255.0
#ifconfig eth1:1 192.168.0.2 netmask 255.255.255.0
AI 代码解读

在这里插入图片描述

测试虚拟网络连通性:
在这里插入图片描述

创建虚拟ip网站目录

#mkdir /var/testdir/
#mkdir -p /var/testdir/test1/
#mkdir -p /var/testdir/test2/
AI 代码解读

在这里插入图片描述

输入测试内容:

#echo “this is a test1” > /var/testdir/test1/index.html
#echo “this is a test2” > /var/testdir/test2/index.html
AI 代码解读

在这里插入图片描述

编辑/etc/httpd/conf/httpd.conf在配置文件底部添加如下内容

<VirtualHost  192.168.0.1>
DocumentRoot  /var/testdir/test1
ErrorLog  "logs/www1-error_log"
CustomLog  "logs/www1-access_log" combined
<Directory  /var/testdir/test1>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

<VirtualHost  192.168.0.2>
DocumentRoot  /var/testdir/test2
DirectoryIndex  default.html  index.html
<Directory  /var/testdir/test2>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
AI 代码解读

在这里插入图片描述

重启httpd服务

使用curl 命令测试
在这里插入图片描述

解释:由于ifconfig对eth1创建的是虚拟子网,所以物理主机无法通过浏览器进行访问,只有虚拟机也就是虚拟IP的宿主机才能进行访问

6、配置基于域名的虚拟主机

Apache基于域名的虚拟主机配置
注意:此处依旧是虚拟IP地址,所以物理宿主机无法访问

请准备一个新的httpd服务的配置文件,不要接着上面做

编辑域名转发配置文件,此处的IP地址是本机的IP地址,无需额外更改添加

vi /etc/hosts 添加如下内容:

192.168.100.20 www.test1.com
192.168.100.20 www.test2.com
192.168.100.20 www.test3.com
AI 代码解读

在这里插入图片描述
编辑httpd配置文件,添加http域名

第96行,添加如下内容
ServerName www.test1.com:80
ServerName www.test2.com:80
ServerName www.test3.com:80

在这里插入图片描述

在文件末尾添加如下参数,指定访问目录以及域名

<VirtualHost 192.168.100.20:80>
DocumentRoot /var/www/html/test1
ServerName www.test1.com
</VirtualHost>
<VirtualHost 192.168.100.20:80>
DocumentRoot /var/www/html/test2
ServerName www.test2.com
</VirtualHost>
<VirtualHost 192.168.100.20:80>
DocumentRoot /var/www/html/test3
ServerName www.test3.com
</VirtualHost>

AI 代码解读

在这里插入图片描述

创建虚拟域名主机的web目录

#cd /var/www/html/

#mkdir test1 test2 test3
AI 代码解读

在这里插入图片描述

添加网页显示内容:

#echo “域名虚拟主机1” > test1/index.html
#echo “域名虚拟主机2” > test2/index.html
#echo “域名虚拟主机3” > test3/index.html
AI 代码解读

在这里插入图片描述

重启httpd服务,并使用curl进行测试访问

#curl www.test1.com
#curl www.test2.com
#curl www.test3.com

AI 代码解读

在这里插入图片描述

如果出现一大堆错误代码,请删除 /etc/httpd/conf/httpd.conf中131行新添加的内容,再添加一行新代码 Require all granted

在这里插入图片描述

目录
打赏
0
0
0
0
5189
分享
相关文章
HTTP代理配置中的常见错误及其解决方案
随着互联网发展,使用HTTP动态代理IP的需求日益增加。配置HTTP代理时常见问题及解决方法包括:1) 代理服务器无法连接:检查网络、防火墙和代理服务状态;2) 认证失败:确认凭据和配置;3) 请求超时:增加超时时间、检查后端服务和网络延迟;4) 缓存问题:清理缓存、设置缓存控制或禁用缓存;5) SSL/TLS问题:正确配置证书并确保客户端信任;6) 访问控制问题:检查ACL和日志;7) 性能问题:监控资源、负载均衡和优化配置;8) 日志记录与分析问题:启用详细日志、设置轮换策略和使用分析工具。通过解决这些问题,可以更有效地管理HTTP代理。
298 13
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
238 7
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
387 1
|
1月前
|
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
47 8
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
238 10
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
344 2
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
484 1
怎么给ip地址配置https访问
为了配置公网IP地址的HTTPS访问,首先需明确需求并选择受信任的证书颁发机构(如JoySSL)。接着,在JoySSL官网注册并登录,填写特定注册码230922以获取免费IP证书的测试权限。提交证书申请时,填写IP地址及相关验证信息,并完成IP地址验证。验证通过后,下载证书文件。最后,使用浏览器访问IP地址,检查安全连接标志,确保无证书错误。通过以上步骤,可成功配置IP地址的HTTPS访问,提升数据传输安全性和可信度。
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
208 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等