要求完成的任务:

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

(2)虚拟目录配置

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

(4)用户个人站点配置

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

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器

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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_02

3.查看httpd服务是否启动

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_03

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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_04

5.在windows浏览器测试访问

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_05

 (2)虚拟目录配置

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

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

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

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_06

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

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_07

步骤3:编辑主配置文件

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_08

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_html_09

步骤5:设置SELinux策略

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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_10

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

CentOS云服务器搭建节点 centosweb服务器搭建_运维_11

步骤5:重启httpd服务

[root@pc1~]#systemctl restart httpd

CentOS云服务器搭建节点 centosweb服务器搭建_linux_12

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

CentOS云服务器搭建节点 centosweb服务器搭建_html_13

CentOS云服务器搭建节点 centosweb服务器搭建_运维_14

 (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"

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_15

[root@pc1 ~]# nmcli d d eno16777736

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_16

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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_17

步骤1:新建两个文件夹

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_18

步骤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

CentOS云服务器搭建节点 centosweb服务器搭建_html_19

步骤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>

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_20

步骤4:重启服务

[root@pc1 www]# systemctl restart httpd

CentOS云服务器搭建节点 centosweb服务器搭建_html_21

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

CentOS云服务器搭建节点 centosweb服务器搭建_html_22

CentOS云服务器搭建节点 centosweb服务器搭建_html_23

 基于域名的虚拟主机

本机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

CentOS云服务器搭建节点 centosweb服务器搭建_html_24

步骤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

CentOS云服务器搭建节点 centosweb服务器搭建_linux_25

步骤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>

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_26

步骤4:重启服务

[root@pc1 www]# systemctl restart httpd

CentOS云服务器搭建节点 centosweb服务器搭建_linux_27

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

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

添加以下内容

192.168.174.128 www.nyrq.com

192.168.174.128 www.nyist.com

保存退出。

CentOS云服务器搭建节点 centosweb服务器搭建_运维_28

步骤6:测试

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

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

 

CentOS云服务器搭建节点 centosweb服务器搭建_html_29

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

CentOS云服务器搭建节点 centosweb服务器搭建_linux_30

基于端口的虚拟主机 

本机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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_31

步骤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

CentOS云服务器搭建节点 centosweb服务器搭建_linux_32

步骤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>

CentOS云服务器搭建节点 centosweb服务器搭建_运维_33

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_34

步骤5:重启服务

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

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

[root@pc1 www]# setenforce 0

CentOS云服务器搭建节点 centosweb服务器搭建_linux_35

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

具体操作如下:

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_36

CentOS云服务器搭建节点 centosweb服务器搭建_运维_37

步骤7:测试

CentOS云服务器搭建节点 centosweb服务器搭建_运维_38

 

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_39

(4)用户个人站点配置 

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_运维_40

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

 

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_41

步骤2:新建两个文件夹

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_42

步骤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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_43

步骤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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_44

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

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_45

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_linux_46

步骤7:重启服务

[root@pc1 www]# systemctl restart httpd

CentOS云服务器搭建节点 centosweb服务器搭建_linux_47

步骤8:测试

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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_48

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_49

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

基于主机的授权

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_运维_50

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_运维_51

步骤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>

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_52

步骤4:重启httpd服务

[root@pc1桌面]#systemctl restart httpd

CentOS云服务器搭建节点 centosweb服务器搭建_linux_53

步骤5:测试

 

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_54

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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_55

 基于用户的认证

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

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_html_56

步骤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

auth me

 </Directory>

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_57

步骤3:创建apache用户auth和me,注意创建第一个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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_58

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_linux_59

步骤5:重启httpd服务

[root@pc1~]#systemctl restart httpd

CentOS云服务器搭建节点 centosweb服务器搭建_html_60

步骤7:测试

CentOS云服务器搭建节点 centosweb服务器搭建_运维_61

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

 

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

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_服务器_62

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

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

在配置文件中末尾添加:

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

 AllowOverride AuthConfig

</Directory>

CentOS云服务器搭建节点 centosweb服务器搭建_linux_63

步骤3:编辑.htaccess文件

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

添加一下内容

 AuthType Basic

 AuthName "authtest"

 AuthUserFile /etc/httpd/conf/authpasswd1

 Require user user1 user2 

CentOS云服务器搭建节点 centosweb服务器搭建_html_64

步骤4:创建apache用户user1和user2,注意创建第一个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

 

CentOS云服务器搭建节点 centosweb服务器搭建_linux_65

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

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

CentOS云服务器搭建节点 centosweb服务器搭建_CentOS云服务器搭建节点_66

步骤6:重启httpd服务

[root@pc1~]#systemctl restart httpd

CentOS云服务器搭建节点 centosweb服务器搭建_运维_67

步骤7:测试

CentOS云服务器搭建节点 centosweb服务器搭建_运维_68