使用CentOS 7配置Web服务-第二篇

CentOS 7配置Web服务-第二篇

接上一个实验dhcp实验已经配置好ip了
这个实验我们来在CentOS 7配置Web服务

一、要求:

1、创建一台虚拟主机网站,满足以下功能:
1)网站页面存放路径为学生用户家目录。
2)网站访问端口为8080
3)可通过ip地址192.168.1.学号访问
4)可通过域名访问,域名为学生姓名。例如www.zhangsan.com 或www.zs.com
2、开启认证式个人网站,开通至少两个用户主页,用户网页存放路径为其家目录下的web目录,访问密码为1234。
3、创建基于多IP的虚拟主机
4、创建基于多域名的虚拟主机
5、创建基于多端口的虚拟主机

二、实验环境

硬件:处理器:Intel® Core™ i3或更高配置
已安装的内存(RAM):8.00 GB或更高配置
系统类型:6 4位操作系统,基于x64的处理器或更高配置
软件:VMware Workstation 16及更高版本或virtual box 6及更高版本

三、安装环境

1)安装Apache服务程序软件包名httpd

sudo yum install -y httpd

2)设置开机自动启动web服务

sudo systemctl start httpd
sudo systemctl enable httpd

3)设置ip
当主机的ip和主机上ip网段不一样时,也是可以访问网站的,但是其他主机就访问不了,要在同一个网段,如下图。
在这里插入图片描述
主机ip
查看右下角WiFi的属性,最后查看ip
在这里插入图片描述
虚拟机的使用ip add查看ip

使用nmtui更改ip
在这里插入图片描述
选择编辑连接
在这里插入图片描述
配置的以太网更改的名字,我的是666
![在这里插入图片描述](https://img-blog.csdnimg.cn/4412af1fe206485db2bb5fee9ffd9698.png在这里插入图片描述
之后在页面进行重启。你的这个网关我的命名是666。所以我是重启666这个端口。

sudo nmcli co down 666 ;nmcli co up 666;

输入show ip 进行确认,ip是否改为192.168.1.7。

4)验证
验证Apache默认网站是否成功,在windows浏览器(这里以Firefox浏览器为例)的址栏中输入对应的ip"http://192.168.3.53"并按Enter 键,就可以看到用于提任Web服务的httpd服务程序的默认页面了。
在这里插入图片描述

如果没有出现的话就需要关闭防火墙。然而关闭防火墙,每次启动都要关闭。

sudo systemctl stop Firewalld

然后重新启动web服务

sudo systemctl restart httpd

四、实验步骤

1.建立网站数据的保存目录,并创建首页文件。

mkdir /home/wwwroot
echo "Hello Wolrd1" > /home/wwwroot/index.html

2.配置httpd服务程序的主配置文件

打开httpd服务程序的主配置文件

vim /etc/httpd/conf/httpd.conf

在最下面那一行添加下面的代码。

DocumentRoot /home/wwwroot/
    <Directory /home/wwwroot/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

关闭防火墙

systemctl stop firewalld

然后重新启动web服务

sudo systemctl restart httpd

然后输入192.168.1.7就会出现如下界面。
在这里插入图片描述

备注:如果显示的依然是httpd服务程序的默认首页面,请检查网站的首页面文件是
否不存在或者用户权限不足。如果尝试访问http://127.0. 0.1/index. html页面时,发现
页面中显示“Forbidden, You don’t have permission to access /index. html on this server.
将确定是SELinux的配置问题,可以使用“setenforce 0”命令临时关闭SELinux, 然后再访
问。注意,这种修改只是临时的,在系统重启后就会失效

3.配置接口

打开httpd服务程序的主配置文件

vim /etc/httpd/conf/httpd.conf

在第七行找到Listen 在后面将其改完8080

在这里插入图片描述
需要将防火墙配置为允许访问您的网站。您可以使用以下命令打开所需的端口:

sudo firewall-cmd --add-port=学生用户端口号/tcp --permanent
sudo firewall-cmd --reload

然后重新启动web服务

sudo systemctl restart httpd

输入192.168.1.7:8080然后就会出现如下界面。
在这里插入图片描述

在这里插入图片描述

4.配置DNS域名解析

在对应的windows上配置,配置centos 的ip域名,相当于给别人取外号。

C:\Windows\System32\drivers\etc

在上面那个路径hosts文件用笔记本打开,在最后面添加ip 域名,并保存,如下图所示

192.168.1.7 www.gjy.com

在这里插入图片描述

使用www.gjy.com:8080进行访问

在这里插入图片描述

5.配置SELinux

SELinux服务极大地提升了Linux 系统的安全性,将用户权限牢牢地锁在笼子里,
semanage
命令不仅能够像传统chcon命令那样设置文件、目录的策略,还可以管理网络端
口、消息接口。使用semanage命令时,经常用到的几个参数及其功能如下所示。

使用前要下载semanage restorecon 命令

yum provides semanage 
yum -y install policycoreutils-python.x86_64
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*

注意,执行上述设置之后,还无法立即访问网站,还需要使用restorecon命令将设置好
的SELinux安全上下文立即生效。在使用restorecon命令时,可以加上-Rv参数对指定的
目录进行递归操作,以及显示SELinux安全上下文的修改过程。最后,再次刷新页面,就可
以正常看到网页内容了。

yum install restorecon 
restorecon - Rv /home/wwwroot

6、搭建个人网址

  1. 开启相关的功能

更改/etc/httpd/conf.d/userdir.conf文件,将UserDir disabled前加上#,UserDir public_html去掉#,将public_html改为web代表网站数据在家目录下,用的web文件下

vim /etc/httpd/conf.d/userdir.conf

如下图所示

在这里插入图片描述

2.建立主页文件

先在home目录下建立一个用户根据自己来命名

进入root模式

sudo su 

创建用户gjy、gjy207

sudo useradd gjy
sudo useradd gjy207

先进入用户gjy

cd gjy

创建并写入Hello Wolrd到/home/gjy/web/index.html中

echo "Hello Wolrd /home/gjy/web" > /home/gjy/web/index.html

另一个用户gjy207一样的操作

3.修改SElinux策略

setsebool -P httpd_enable_homedirs=on

4.启动服务

重启http服务

sudo systemctl restart httpd

在这里插入图片描述

创建多个用户网站也是同样的流程

在这里插入图片描述

7.设置密码

使用htpasswd 命令设置密码,验证要用到的用户名称(该用户(gjy)不必是系统中已有的本地账户)

htpasswd -c /etc/httpd/passwd gjy
Newpassword:此处输入用于网页验证的密码
Re-typenewpassword:再输入一遍进行确认
Adding password for user gjy

编辑个人用户主页功能的配置文件。
把第31~35行的参数信息修改成下列内容,如图12-11所示,其中,井号(# )开头的内
容为注释信息,可将其忽略。随后保存并退出配置文件,重启httpd服务程序即可生效。
将public_html改为web其中*代表/home下任意目录

vim /etc/httpd/conf.d/userdir.conf
authuserfile"/etc/httpd/passwd"   #刚刚生成出来的密码验证文件保存路径
authname "My privately website"   #当用户尝试访问个人用户网站时的提示信息什么都可以
require user gjy        #用户进行账户密码登录时需要验证的用户名称 就是刚刚设置的用户名称

如图所示
在这里插入图片描述

重启http服务

sudo systemctl restart httpd

如图所示
在这里插入图片描述
注意:浏览器会记住你的密码,记得在弹出是否记住密码选择否,否则他会下次直接进入没有密码访问,如果点错了,可以尝试重启服务器.

sudo systemctl restart httpd

或者重新设置密码,

8、创建基于多IP的虚拟主机

(1)设置ip
先设置你要登录的ip

使用nmtui打开进入配置网卡,我的是666,继续添加ip

192.168.1.10
192.168.1.20
192.168.1.30

如图所示
在这里插入图片描述
之后在页面进行重启。你的这个网关我的命名是666。所以我是重启666这个端口。

sudo nmcli co down 666 ;nmcli co up 666;

(2)创建网站
在home/root中中创建用于保存不同网站数据的3个目录并向其写入网站首页文件

mkdir -p /home/wwwroot/10
mkdir -p /home/wwwroot/20
mkdir -p /home/wwwroot/30
echo "IP:192.168.1.10">/home/wwwroot/10/index.html
echo "IP:192.168.1.20">/home/wwwroot/20/index.html
echo "IP:192.168.1.30">/home/wwwroot/30/index.html

(3)编辑配置文件

vim /etc/httpd/conf/httpd.conf

解释:

<VirtualHost 192.168.1.7>     //主机ip号 
       DocumentRoot /home/wwwroot  //网站数据目录存放的文件夹
       ServerName www.gjy.com      //网站服务器的域名
      <Directory /home/wwwroot>		//存放的文件夹
        AllowOverride None     
         Require all granted
   </Directory>
 </VirtualHost>

配置如下

<VirtualHost 192.168.1.7>
       DocumentRoot /home/wwwroot
       ServerName www.gjy.com
      <Directory /home/wwwroot>
        AllowOverride None
         Require all granted
   </Directory>
 </VirtualHost>

  <VirtualHost 192.168.1.10>
       DocumentRoot /home/wwwroot/10
       ServerName www.linux-gjy-10.com
      <Directory /home/wwwroot/10>
        AllowOverride None
         Require all granted
   </Directory>
 </VirtualHost>

 <VirtualHost 192.168.1.20>
       DocumentRoot /home/wwwroot/20
       ServerName bbs.linux-gjy-20.com
      <Directory /home/wwwroot/20>
        AllowOverride None
         Require all granted
   </Directory>
 </VirtualHost>

 <VirtualHost 192.168.1.30>
       DocumentRoot /home/wwwroot/30
       ServerName tech.linux-gjy-30.com
      <Directory /home/wwwroot/30>
        AllowOverride None
        Require all granted
   </Directory>
 </VirtualHost>

(4)SElinux
此时就是重启了服务器没有有显示,你需要的要改变SElinux

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10*
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20/*
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30
senanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30/*
restorecon -Rv /home/wwwrooot

(5)验证
现在就可以重启服务器

sudo systemctl restart httpd

在网站上分别输入192.168.1.10:8080 192.168.1.20:8080 192.168.1.30:8080

如图所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9、创建基于多域名的虚拟主机

(1)配置windos电脑的域名解析文件

C:\Windows\System32\drivers\etc

在上面那个路径hosts文件用笔记本打开,在最后面添加ip 域名,并保存,如下图所示

192.168.1.7 www.gjy.com www.linux-gjy.com bbs.linux-gjy.com tech.linux-gjy.com

(2)在home/root中中创建用于保存不同网站数据的3个目录并向其写入网站首页文件

mkdir -p /home/wwwroot/www
mkdir -p /home/wwwroot/bbs
mkdir -p /home/wwwroot/tech
echo "www.linux-gjy1.com">/home/wwwroot/www/index.html
echo "bbs.linux-gjy1.com">/home/wwwroot/bbs/index.html
echo "tech.linux-gjy1.com">/home/wwwroot/tech/index.html

(3)编辑配置文件

vim /etc/httpd/conf/httpd.conf
 <VirtualHost 192.168.1.7>
       DocumentRoot /home/wwwroot/www
       ServerName www.linux-gjy.com
      <Directory /home/wwwroot/www>
        AllowOverride None
         Require all granted
   </Directory>
 </VirtualHost>

 <VirtualHost 192.168.1.7>
       DocumentRoot /home/wwwroot/bbs
       ServerName bbs.linux-gjy.com
      <Directory /home/wwwroot/bbs>
        AllowOverride None
         Require all granted
   </Directory>
 </VirtualHost>

 <VirtualHost 192.168.1.7>
       DocumentRoot /home/wwwroot/tech
       ServerName tech.linux-gjy.com
      <Directory /home/wwwroot/tech>
        AllowOverride None
         Require all granted
   </Directory>
 </VirtualHost>

(4)改变SElinux

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www*
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs/*
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech/*
restorecon -Rv /home/wwwrooot

(5)验证
现在就可以重启服务器

sudo systemctl restart httpd

在网站上分别输入

www.linux-gjy.com:8080
bbs.linux-gjy.com:8080
tech.linux-gjy.com:8080

如图所示

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

10、创建基于多端口的虚拟主机

(1)在home/root中中创建用于保存不同网站数据的3个目录并向其写入网站首页文件

mkdir -p /home/wwwroot/8111
mkdir -p /home/wwwroot/8222
echo "port:8111">/home/wwwroot/8111/index.html
echo "port:8222">/home/wwwroot/8222/index.html

(2)编辑配置文件

vim /etc/httpd/conf/httpd.conf

在42行的Listen 8080
端口号添加8111、8222如图所示

Listen 8111
Listen 8222

下文件项目填写下面代码

 #-------------端口-----#
 <VirtualHost 192.168.1.7:8111>
       DocumentRoot /home/wwwroot/8111
       ServerName bbs.linux-gjy.com
      <Directory /home/wwwroot/8111>
        AllowOverride None
         Require all granted
   </Directory>
 </VirtualHost>

 <VirtualHost 192.168.1.7:8222>
       DocumentRoot /home/wwwroot/8222
       ServerName tech.linux-gjy.com
      <Directory /home/wwwroot/8222>
        AllowOverride None
         Require all granted
   </Directory>
 </VirtualHost>

(3)改变SElinux

semanage  fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage  fcontext -a -t httpd_sys_content_t /home/wwwroot/8111
semanage  fcontext -a -t httpd_sys_content_t /home/wwwroot/8111*
semanage  fcontext -a -t httpd_sys_content_t /home/wwwroot/8222
semanage  fcontext -a -t httpd_sys_content_t /home/wwwroot/8222/*
restorecon -Rv /home/wwwroot

(4)监听端口号8111,8222

命令行输入

semanage port -a -t http_port_t -p tcp 8111
semanage port -a -t http_port_t -p tcp 8222

在这里插入图片描述
(5)验证
现在就可以重启服务器

sudo systemctl restart httpd

在网站上分别输入

192.168.1.7:8111
192.168.1.7:8222

在这里插入图片描述

在这里插入图片描述
当然使用域名加端口号也可以进入
在这里插入图片描述
好了这一篇就到此为止了。
Centos7 配置DNS服务-第三篇

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值