过程记录-VMWare.CentOS7+ApacheWeb服务-安装测试

以下内容关于基于域名、端口、虚拟IP的虚拟主机。

常用命令:
测试环境下暂时关闭防火墙和SELinux功能
#systemctl stop firewalld
#setenforce 0
检查Web服务器软件是否安装
检查安装信息
#yum info httpd
#yum info lynx (这是一个文本浏览工具)
服务安装命令:
#yum install httpd -y
启动服务
#systemctl start httpd
服务重启命令:
#systemctl restart httpd
查看状态
#systemctl status httpd
查看错误信息
#journalctl -xe

apache默认网页站点文件目录
/var/www/html/

对服务器进行测试:(下面的双引号需使用英文字符)
#echo “hello”>/var/www/html/index.html
#yum install lynx (如果已有就不用安装)
#lynx 127.0.0.1
看到Web页面显示出“hello”就说明正常运行。

默认网站基本设置

apache网页服务器的主配置文件是“/etc/httpd/conf/httpd.conf”,这个文件下包含三个部分:
全局环境设置、主服务器配置(也为虚拟主机提供默认设置)、虚拟主机设置

备份主配置文件的原文件:
#cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

主配置文件部分参数说明:(参数值区分大小写,参数名不区分大小写)
DocumentRoot-定义站点主目录,默认值是/var/www/html/
DirectoryIndex-设置站点的默认文档,可以后跟多个文件名.html或.htm
Listen-设置apache监听的IP地址和端口号,如果不设定基于IP地址的虚拟主机,IP地址经常省略,直接Listen 80,默认端口号是80,新增监听端口可以直接在下一行写,可以同时存在多个监听端口
AddDefaultCharset-用来设置默认字符集,例如AddDefaultCharset GB2312(或UTF-8)
Directory-用于定义目录的访问限制,例如:
<Directory “站点文件目录”>
AllowOverride none #不允许这个目录下.htaccess来改变这里的配置,可提升网站效率
Require all granted #允许所有用户访问这个目录
</Directory>

单独创建 虚拟主机的配置文件
在自己指定的目录下单独建立文件来配置虚拟主机:
#mkdir /etc/httpd/vhost-conf.d/
#echo "include vhost-conf.d/*.conf>> /etc/httpd/conf/httpd.conf
上面这条命令把引号里的include内容追加到主配置文件结尾,意思是把vhost-conf.d目录下文件名最后以.conf结尾的文件include到主配置文件。这里要注意,用>>表示追加,不要用>覆盖。

目录存放:
在这里插入图片描述

后面的虚拟主机的配置文件 test1.conf 放在“/etc/httpd/vhost-conf.d/”目录下。这个目录下可以同时存在多个.conf配置文件,配置内容若不冲突则均可生效,网站可以同时访问。
而以.html结尾的网站站点文件要放在配置文件中指定的目录下,这里测试选择在默认站点目录下为不同站点分别创建新的目录,以站点虚拟主机名作为目录名称,在其各子目录下存放站点文件。
例如:(虚拟主机上的网站目录mk、hr、main要自己创建)
/var/www/html/ #这个目录下的html文件构成默认站点首页
/var/www/html/mk/ #这个目录下的html文件构成市场部网站首页
/var/www/html/hr/ #这个目录下的html文件构成人事部网站首页
/var/www/html/main/ #这个目录下的html文件构成公司门户网首页

目录创建:#mkdir /var/www/html/mk

不同网站可以配置虚拟主机来实现服务器搭建,或者你有多块网卡,分别绑定真实网卡。下面内容只涉及虚拟主机配置。

1)配置基于域名的虚拟主机

涉及到域名就需要DNS服务进行解析,关于DNS内容可以看我另一篇博客。
或者直接修改host文件。Linux的host文件是"/etc/hosts",windows根据版本不同文件地址可能不同,是“c:\windows\system32\drives\etc\hosts”。
在host文件中添加IP与域名对应的记录:
在Linux下例如:
#vi /etc/hosts
10.1.1.200 www.xxx.com
编辑虚拟主机的配置文件(在“/etc/httpd/vhost-conf.d/”目录下):
#vi /etc/httpd/vhost-conf.d/test1.conf
内容例如:

<VirtualHost *:80>
 DocumentRoot /var/www/html/hr
 ServerName hr.test1.com
<Directory /var/www/html/hr>
 Require ip 10.1.1.0/24
</Directory>
</VirtualHost>

<VirtualHost *:80>
 DocumentRoot /var/www/html/mk
 ServerName mk.test1.com
<Directory /var/www/html/mk>
 Require ip 10.1.1.0/24
</Directory>
</VirtualHost>

<VirtualHost *:80>
 DocumentRoot /var/www/html/main
 ServerName www.test1.com
<Directory /var/www/html/main>
 Require all granted
</Directory>
</VirtualHost>

在站点目录下写html文件:(main目录已创建)
#echo “welcome to www.test1.com!”> /var/www/html/main/index.html
配置完之后,重启服务,若无报错,进行本地测试和客户端测试。
若有报错,可根据报错提示检查配置文件有无错误,网络连通情况,防火墙是否关闭,文件名和路径是否正确和一致。

测试:
Linux上命令行下用lynx测试:
#lynx www.test1.com
或在浏览器上直接输入域名进行访问。

2)配置基于端口的虚拟主机

在主配置文件Listen部分添加新的端口监听:
#vi /etc/httpd/conf/httpd.conf
Listen 10.1.1.200:8080
也可省略IP,直接Listen 8080,效果会有差异。
虚拟主机的配置文件(在“/etc/httpd/vhost-conf.d/”目录下):
#vi /etc/httpd/vhost-conf.d/test2.conf
内容例如:

<VirtualHost 10.1.1.200:8081>
 ServerName www.test1.com
 DocumentRoot /var/www/html/main
<Directory /var/www/html/main>
 Require all granted
</Directory>
</VirtualHost>

... 其它基于端口的虚拟主机配置 ...

重启服务,测试。

改主页文件:
在标签</VirtualHost>内添加下列字段:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

3)配置基于虚拟IP的虚拟主机

为虚拟主机添加多个虚拟IP地址,虚拟地址不能与已有地址冲突,一般会使用网络规划时为服务器保留的地址1~9,添加的地址重启后无效。
#ifconfig ens33:1 10.1.1.2 up
#ifconfig ens33:2 10.1.1.3 up
#ifconfig ens33:2 10.1.1.4 up

添加后使用ifconfig查看网卡信息会看到新增的虚拟网卡IP信息。

编辑虚拟主机配置文件:
#vi /etc/httpd/vhost-conf.d/test3.conf
内容例如:

<virtualhost 10.1.2.1:80>
documentroot /var/www/html/hr
<directory /var/www/html/hr>
require ip 10.1.2.0/24
</directory>
</virtualhost>

重启服务,测试。

修改主页,对于默认站点:
主配置文件/etc/httpd/conf/httpd.conf
中的
<IfModule dir_module>
DirectoryIndex info.php index.html
</IfModule>
DirectoryIndex后的第一个文件为主页,上面这样写就是以info.php为主页。

备注:
修改httpd.conf默认文档,在排列顺序的最前面的是首页
#vim /etc/httpd/conf/httpd.conf
修改部分:(图中把info.php设为首页)
在这里插入图片描述

其它参考:
1
关于linux下的Apache详解
2
Linux Apache服务介绍及搭建
3
linux下安装Apache网络服务器安装步骤详解

猜你喜欢

转载自blog.csdn.net/qq_43750882/article/details/109617075
今日推荐