web服务器的搭建【CentOS7】

本文详细介绍了如何在CentOS7上搭建web服务器,包括安装与测试web服务器、配置虚拟目录、设置虚拟主机(基于IP、域名、端口)、用户个人站点配置以及基于主机的授权和用户认证。通过一步步的指导,确保web服务器正常运行并实现安全访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求完成的任务:

(1)Web服务器软件的安装

(2)虚拟目录配置

(3)虚拟主机配置(基于域名的虚拟主机配置、基于IP的虚拟主机配置、基于端口的虚拟主机配置)

(4)用户个人站点配置

(5)基于主机的授权、基于用户的认证

(1)web服务器的安装与测试

  1. 查看是否安装httpd软件包,若没有安装,则安装

2.将httpd服务设为开始自启动,并启动该服务

3.查看httpd服务是否启动

4.在防火墙开放80端口并查看防火墙80端口是否开放

[root@pc1桌面]#firewall-cmd --permanent --zone=public --add-port=80/tcp
success
[root@pc1桌面]#firewall-cmd --permanent --zone=public --add-port=80/udp
success
[root@pc1桌面]#firewall-cmd --reload
success
[root@pc1桌面]#firewall-cmd --query-port=80/tcp
yes
[root@pc1桌面]#firewall-cmd --query-port=80/udp
yes

5.在windows浏览器测试访问

 (2)虚拟目录配置

创建虚拟目录的优点有:便于访问、便于移动站点中的目录、能灵活加大磁盘空间、安全性好。使用Alias选项可以创建虚拟目录。

实例:为我校二级单位创建网站(以计算机和软件学院为例)

步骤1:创建两个二级单位的网站物理目录

[root@pc1~]#mkdir -p /var/www/jsjhtml

[root@pc1~]#mkdir -p /var/www/rjhtml

步骤2:建立两个二级单位的网站主页

[root@pc1~]#echo "this is jsj.">/var/www/jsjhtml/index.html

[root@pc1~]#echo "this is rj.">/var/www/rjhtml/index.html

步骤3:编辑主配置文件

[root@pc1~]#vim /etc/httpd/conf/httpd.conf

在文件末尾加上虚拟目录(/jsj  /rj)

步骤4:更改物理目录的安全上下文

[root@pc1~]#chcon -R -t httpd_sys_content_t /var/www/

步骤5:设置SELinux策略

[root@pc1~]#getsebool -a |grep httpd(说明:查看与httpd相关的安全策略)

httpd_enable_homedirs --> off//此项开放,改为on 

步骤5:重启httpd服务

[root@pc1~]#systemctl restart httpd

 步骤6:在windows系统浏览器登录测试

 (3)虚拟主机配置

基于IP的虚拟主机

本机IP为192.168.174.128,为本机网卡再绑定2个IP地址,分别为192.168.174.130、192.168.174.131,建立基于这两个IP地址的虚拟主机。IP为192.168.174.130发布南阳燃气公司网站,IP为192.168.174.131发布南阳理工学院网站。

步骤0:为网卡绑定两个IP地址

[root@pc1 www]# nmcli con m eno16777736 +ipv4.address "192.168.190.11/24,192.168.190.12/24"

[root@pc1 ~]# nmcli d d eno16777736

[root@pc1 ~]# nmcli con up  ifname  eno16777736

步骤1:新建两个文件夹

[root@pc1 www]# mkdir -p  /var/www/nyrq_ip11

[root@pc1 www]# mkdir - p /var/www/nyist_ip12

步骤2:为网站建立主页

[root@pc1 www]# echo "this is nanyang ranqi."> /var/www/nyrq_ip11/index.html

[root@pc1 www]# echo "this is nanyang institute of technology." > /var/www/nyist_ip12/index.html

步骤3:配置虚拟主机的配置文件

//编辑配置文件

[root@pc1 www]# vim /etc/httpd/conf.d/httpd-vhosts.conf

添加以下内容:

<VirtualHost 192.168.174.130>

    DocumentRoot "/var/www/nyrq_ip130/"

</VirtualHost>

<VirtualHost 192.168.174.131>

    DocumentRoot "/var/www/nyist_ip131/"

</VirtualHost>

步骤4:重启服务

[root@pc1 www]# systemctl restart httpd

步骤5:测试在windows浏览器中输入IP,结果如下:

 基于域名的虚拟主机

本机IP为192.168.174.128, 域名为www.nyrq.com的文件夹为/var/www/nyrq,发布南阳燃气公司网站,域名为www.nyist.com的文件夹为/var/www/nyist,发布南阳理工学院网站。

步骤1:新建两个文件夹

[root@pc1 www]# mkdir /var/www/nyrq

[root@pc1 www]# mkdir /var/www/nyist

步骤2:为网站建立主页

[root@pc1 www]# echo "this is NanYang ranqi." > /var/www/nyrq/index.html

[root@pc1 www]# echo "this is NanYang LIGong Colloge." > /var/www/nyist/index.html

步骤3:配置虚拟主机的配置文件

[root@pc1 www]# vim /etc/httpd/conf.d/httpd-vhosts.conf

//写入以下内容:

<VirtualHost 192.168.190.10:80>

    DocumentRoot "/var/www/nyrq/"

    ServerName www.nyrq.com

</VirtualHost>

<VirtualHost 192.168.190.10:80>

    DocumentRoot "/var/www/nyist/"

    ServerName www.nyist.com

</VirtualHost>

步骤4:重启服务

[root@pc1 www]# systemctl restart httpd

步骤5:在/etc/hosts文件中添加域名解析

[root@pc1 conf.d]#vim /etc/hosts

添加以下内容

192.168.174.128 www.nyrq.com

192.168.174.128 www.nyist.com

保存退出。

步骤6:测试

用测试工具links测试结果如下:(若无法用测试工具,则可以安装yum install –y links)

[root@pc1 conf.d]# links www.nyrq.com

 

[root@pc1 conf.d]# links www.nyist.com 

基于端口的虚拟主机 

本机IP为192.168.190.10, 端口1888的虚拟主机,文件夹为/var/www/nyrqport,发布南阳燃气公司网站,端口1666的虚拟主机,文件夹为/var/www/nyistport,发布南阳理工学院网站。

步骤1:新建两个文件夹

[root@pc1 www]# mkdir /var/www/nyrqport

[root@pc1 www]# mkdir /var/www/nyistport

步骤2:为网站建立主页

[root@pc1 www]# echo "this is nyrqport.">/var/www/nyrqport/index.html

[root@pc1 www]# echo "this is nyistport.">

/var/www/nyistport/index.html

步骤3:配置虚拟主机的配置文件

[root@pc1 www]# vim /etc/httpd/conf.d/httpd-vhosts.conf

//写入以下内容:

<VirtualHost 192.168.190.10:1888>

    DocumentRoot "/var/www/nyrqport/"

</VirtualHost>

<VirtualHost 192.168.190.10:1666>

    DocumentRoot "/var/www/nyistport/"

</VirtualHost>

步骤4:编辑主配置文件,添加监听端口

[root@pc1 conf.d]# vim /etc/httpd/conf/httpd.conf

步骤5:重启服务

[root@pc1 www]# systemctl restart httpd       (有可能报错,可以先进行下一步,再重启)

步骤6:关闭SELinux安全或设置安全策略

[root@pc1 www]# setenforce 0

注:设置安全策略的方法,添加Apache侦听的端口

具体操作如下:

步骤7:测试

 

(4)用户个人站点配置 

允许Web服务器上的合法用户为自己建立个人站点。本例为用户user1和user2两用户建立个人站点,本机IP为192.168.174.128

步骤1:编辑个人站点的配置文件 /etc/httpd/conf.d/userdir.conf,修改黄色文字部分。

[root@pc1桌面]#vim /etc/httpd/conf.d/userdir.conf

 

步骤2:新建两个文件夹

[root@pc1 www]# mkdir /home/user1/public_html

[root@pc1 www]# mkdir /home/user2/public_html

步骤3:为网站建立主页

[root@pc1 www]# echo "this is user1."> /home/www/public_html/index.html

[root@pc1 www]# echo "this is user2."> /home/www/public_html/index.html

步骤4:为文件夹开放执行权限

[root@pc1桌面]#chmod 711 /home/user1

[root@pc1桌面]#chmod 711 /home/user2

[root@pc1桌面]#chmod 755 /home/user1/public_html

[root@pc1桌面]#chmod 755 /home/user2/punlic_html

步骤5:为文件夹设置安全上下文

[root@pc1桌面]#chcon -R -t httpd_sys_content_t /home/user1

[root@pc1桌面]#chcon -R -t httpd_sys_content_t /home/user2

步骤6:关闭防火墙(或开放80)端口

[root@pc1桌面]#systemctl stop firewalld//关闭防火墙

步骤7:重启服务

[root@pc1 www]# systemctl restart httpd

步骤8:测试

在windows浏览器中输入IP,结果如下:

 (5)基于主机的授权、基于用户的认证

基于主机的授权

步骤1:创建信息保护的文件夹

[root@pc1桌面]#mkdir /var/www/html/security

步骤2:在/var/www/html/security内建立网站

[root@pc1桌面]#echo "this is security dir">/var/www/html/security/index.html

步骤3:编辑主配置文件 /etc/httpd/conf/httpd.conf

[root@pc1桌面]#vim /etc/httpd/conf/httpd.conf

在文件末尾添加:

 <Directory "var/www/html/security">

357 Require ip 192.168.190//允许192.168.190.0网络的所有机器访问

358 </Directory>

步骤4:重启httpd服务

[root@pc1桌面]#systemctl restart httpd

步骤5:测试

 

修改了步骤三所允许的IP网络号,再次测试,拒绝访问。 

 基于用户的认证

步骤1:创建文件夹并在文件夹下建立网站

[root@pc1~]#mkdir /var/www/html/auth

[root@pc1~]#echo "this is auth secure.">/var/www/html/auth/index.html

步骤2:编辑主配置文件/etc/httpd/conf/httpd.conf

[root@pc1~]#vim /etc/httpd/conf/httpd.conf

在配置文件中末尾添加:

<Directory "var/www/html/auth">

 AllowOverride None

 AuthType Basic

 AuthName "auth"

 AuthUserFile /etc/httpd/conf/authpasswd

 Require user auth me

 </Directory>

步骤3:创建apache用户authme,注意创建第一个apache用户时,加-c选项,以后不需要加-c选项。添加的apache用户和配置文件中允许的是一致的,对一个合法的apache用户,如果在配置文件中没有允许他访问,同样不能访问该网站。

[root@pc1~]#htpasswd -c /etc/httpd/conf/authpasswd auth

New password:

Re-type new password:

Adding password for user auth

[root@pc1~]#htpasswd  /etc/httpd/conf/authpasswd me

New password:

Re-type new password:

Adding password for user me

步骤4:变更用户密码文件的用户主和所属组都为apache

[root@pc1~]#chown apache.apache /etc/httpd/conf/authpasswd

步骤5:重启httpd服务

[root@pc1~]#systemctl restart httpd

步骤7:测试

在.htaccess文件中配置认证和授权

 

步骤1:创建文件夹并在文件夹下建立网站

[root@pc1~]#mkdir /var/www/html/myauth

[root@pc1~]#echo "Hello world.">/var/www/html/myauth/index.html

步骤2:编辑主配置文件/etc/httpd/conf/httpd.conf

[root@pc1~]#vim /etc/httpd/conf/httpd.conf

在配置文件中末尾添加:

<Directory "/var/www/html/myauth">

 AllowOverride AuthConfig

</Directory>

步骤3:编辑.htaccess文件

[root@pc1conf]#vim /var/www/html/myauth/.htaccess

添加一下内容

 AuthType Basic

 AuthName "authtest"

 AuthUserFile /etc/httpd/conf/authpasswd1

 Require user user1 user2 

步骤4:创建apache用户user1user2,注意创建第一个apache用户时,加-c选项,以后不需要加-c选项。添加的apache用户和配置文件中允许的是一致的,对一个合法的apache用户,如果在配置文件中没有允许他访问,同样不能访问该网站。

[root@pc1~]#htpasswd -c /etc/httpd/conf/authpasswd1 user1

New password:

Re-type new password:

Adding password for user user1

[root@pc1~]#htpasswd  /etc/httpd/conf/authpasswd1 user2

New password:

Re-type new password:

Adding password for user user1

 

步骤5:变更用户密码文件的用户主和所属组都为apache

[root@pc1~]#chown apache.apache /etc/httpd/conf/authpasswd1

步骤6:重启httpd服务

[root@pc1~]#systemctl restart httpd

步骤7:测试

### 如何在CentOS 7上设置Web服务器 #### 安装Apache Web服务器并配置虚拟主机 为了安装带有虚拟主机功能的Apache Web服务器,在CentOS 7服务器上的操作如下: - 更新现有软件包列表至最新版本。 - 使用`yum`命令来安装Apache HTTP服务。这可以通过执行`sudo yum install httpd`完成[^1]。 ```bash sudo yum update -y sudo yum install httpd -y ``` - 启动HTTPD服务,并将其设置为开机启动项以便于每次重启机器之后自动运行该服务。 ```bash sudo systemctl start httpd.service sudo systemctl enable httpd.service ``` - 配置防火墙允许外部访问80端口(HTTP)以及443端口(HTTPS)。如果已启用firewalld,则需添加相应的规则。 ```bash sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload ``` - 创建一个新的目录用于托管网站文件,例如创建名为`/var/www/html/example.com/public_html`的新站点根目录;同时调整权限使Apache能够读取这些资源。 ```bash sudo mkdir -p /var/www/html/example.com/public_html sudo chown -R $USER:$USER /var/www/html/example.com/public_html sudo chmod -R 755 /var/www/html ``` - 编辑Apache配置文件以定义新的虚拟主机条目。通常情况下,默认配置位于`/etc/httpd/conf.d/vhost.conf`或其他相似位置。对于每个域名都需要单独编写一段配置代码指定其对应的文档路径和其他参数。 ```apache <VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot "/var/www/html/example.com/public_html" ServerName example.com ErrorLog "logs/example.com-error_log" CustomLog "logs/example.com-access_log" common </VirtualHost> ``` - 测试新配置的有效性,确保语法无误后再重新加载Apache应用更改。 ```bash apachectl configtest && sudo systemctl reload httpd ``` 通过上述步骤可以成功部署一个基本的功能齐全的Web服务器环境,支持多个不同域下的独立网页项目共存同一台物理机之上。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VIXeH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值