前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos 7.2搭建HTTP服务,并进行相关配置

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

作者头像
指剑
发布2022-07-15 14:54:37
6460
发布2022-07-15 14:54:37
举报
文章被收录于专栏:指剑的分享指剑的分享

1、安装apache服务器并访问

建议复制一份 http.conf文件

代码语言:javascript
复制
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

若以下内容的子步骤未提及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行 在下添加

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

此处已有,无需添加此行

代码语言:javascript
复制
AllowOverride None #是否允许覆盖访问控制

删除Require all granted
在这里插入图片描述
在这里插入图片描述

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

代码语言:javascript
复制
htpasswd -c /etc/httpd/conf/htpasswd.users test1   #创建认证用户
在这里插入图片描述
在这里插入图片描述

浏览器访问如下:(请注意如果无法访问,请重启电脑)

在这里插入图片描述
在这里插入图片描述

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,并输入如下命令

代码语言:javascript
复制
echo "This is a test" > public_html/index.html
在这里插入图片描述
在这里插入图片描述

返回root用户 对test1用户的家目录赋予权限 #chmod 711 /home/test1

在这里插入图片描述
在这里插入图片描述

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

代码语言:javascript
复制
setsebool -P httpd_enabled_homedirs=on

生成httpd的test1用户的密码

代码语言:javascript
复制
htpasswd -c /etc/httpd/passwd.txt test1
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

移动到文件末行,删除原有的三行配置文件

在这里插入图片描述
在这里插入图片描述

添加如下内容

代码语言:javascript
复制
    AllowOverride all
    authname "test1 home"
    authuserfile "/etc/httpd/passwd.txt"
    authtype basic
    require user test1
在这里插入图片描述
在这里插入图片描述

重启httpd服务器 #systemctl restart httpd

浏览器访问,输入如下地址,(请注意如果无法访问,请重启电脑) 192.168.100.20/~test1/index.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

代码语言:javascript
复制
#ifconfig eth1:0 192.168.0.1 netmask 255.255.255.0
#ifconfig eth1:1 192.168.0.2 netmask 255.255.255.0
在这里插入图片描述
在这里插入图片描述

测试虚拟网络连通性:

在这里插入图片描述
在这里插入图片描述

创建虚拟ip网站目录

代码语言:javascript
复制
#mkdir /var/testdir/
#mkdir -p /var/testdir/test1/
#mkdir -p /var/testdir/test2/
在这里插入图片描述
在这里插入图片描述

输入测试内容:

代码语言:javascript
复制
#echo “this is a test1” > /var/testdir/test1/index.html
#echo “this is a test2” > /var/testdir/test2/index.html
在这里插入图片描述
在这里插入图片描述

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

代码语言:javascript
复制
<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>
在这里插入图片描述
在这里插入图片描述

重启httpd服务

使用curl 命令测试

在这里插入图片描述
在这里插入图片描述

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

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

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

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

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

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

代码语言:javascript
复制
192.168.100.20 www.test1.com
192.168.100.20 www.test2.com
192.168.100.20 www.test3.com
在这里插入图片描述
在这里插入图片描述

编辑httpd配置文件,添加http域名

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

在这里插入图片描述
在这里插入图片描述

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

代码语言:javascript
复制
<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>
在这里插入图片描述
在这里插入图片描述

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

代码语言:javascript
复制
#cd /var/www/html/

#mkdir test1 test2 test3
在这里插入图片描述
在这里插入图片描述

添加网页显示内容:

代码语言:javascript
复制
#echo “域名虚拟主机1” > test1/index.html
#echo “域名虚拟主机2” > test2/index.html
#echo “域名虚拟主机3” > test3/index.html
在这里插入图片描述
在这里插入图片描述

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

代码语言:javascript
复制
#curl www.test1.com
#curl www.test2.com
#curl www.test3.com
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、安装apache服务器并访问
  • 建议复制一份 http.conf文件
    • 若以下内容的子步骤未提及firewalld和SElinux,请关闭
      • 2、开启apache服务的用户认证功能
        • 若以下内容的子步骤未提及firewalld和SElinux,请关闭
          • 3、在开启SELinux的情况下更改Web网站的发布目录
            • 若以下内容的子步骤未提及firewalld和SElinux,请关闭
              • 请准备一个新的httpd服务的配置文件
                • 4、设置个人主页,
                  • 请准备一个新的httpd服务的配置文件,不要接着上面做
                    • 5、基于虚拟IP地址的网页设置:
                      • 请准备一个新的httpd服务的配置文件,不要接着上面做
                        • 6、配置基于域名的虚拟主机
                          • 请准备一个新的httpd服务的配置文件,不要接着上面做
                            • 如果出现一大堆错误代码,请删除 /etc/httpd/conf/httpd.conf中131行新添加的内容,再添加一行新代码 Require all granted
                            相关产品与服务
                            轻量应用服务器
                            轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档