基于 Linux 的高级 WEB 服务搭建,竟如此轻松?!
目录
1. 自定义服务器配置
切换到 /etc/httpd/conf.d
目录下,使用 vim vhost.conf
命令创建用户自定义的配置文件。
编辑定义内容如下,完成后 :wq
退出
<directory "/wbTest01">
allowoverride none
require all granted
</directory>
<virtualhost 192.168.88.130:80>
documentroot /wbTest01
servername 192.168.88.130
</virtualhost>
systemctl restart httpd
重启httpd服务
netstat -lntup | grep httpd
查看监听端口
根据定义内容在对应地址下创建文件
给定义的网页写一些内容,否则只显示测试页面
使用 systemctl stop firewalld
指令关闭防火墙,然后使用 setenforce 0
指令关闭SELinux,每次重启虚拟机都要执行该指令。
在网页中输入定义文件里的IP地址,回车显示网页内容
2. 基于不同IP的Web服务器配置
切换到 /etc/httpd/conf.d
目录下,使用 vim vhost.conf
命令在定义文件中新定义两个不同IP的服务器(虚拟主机)
<virtualhost 192.168.88.129:80>
documentroot /wbTest01/129
servername 192.168.88.129
</virtualhost>
<virtualhost 192.168.88.128:80>
documentroot /wbTest01/128
servername 192.168.88.128
</virtualhost>
systemctl restart httpd
重启httpd服务
创建定义文件中对应的目录,并给相应网页赋值
使用 nmcli connection modify ens160 ipv4.address 192.168.88.130/24
命令将本机IP地址更改
使用 nmcli connection modify ens160 ipv4.method manual
命令将网络连接的 IPv4 地址获取方式修改为手动配置
使用 nmcli connection up ens160
命令激活ens160
使用 nmcli connection modify ens160 +ipv4.addresses 192.168.88.129/24
命令添加IPv4地址
然后使用 nmcli connection up ens160
命令激活ens160
systemctl restart httpd
重启httpd服务
在网址里输入192.168.88.129访问页面
在网址里输入192.168.88.128访问页面
3. 基于不同端口的虚拟主机
切换到 /etc/httpd/conf.d
目录下,使用 vim vhost.conf
命令新增加三个端口不同的服务器(虚拟主机)
Listen 9090
Listen 9091
Listen 9092
<virtualhost 192.168.88.130:9090>
documentroot /wbTest01/9090
servername 192.168.88.130
</virtualhost>
<virtualhost 192.168.88.130:9091>
documentroot /wbTest01/9091
servername 192.168.88.130
</virtualhost>
<virtualhost 192.168.88.130:9092>
documentroot /wbTest01/9092
servername 192.168.88.130
</virtualhost>
systemctl restart httpd
重启httpd服务
创建定义文件中对应的目录,并给相应网页赋值
使用 tree
命令查看文件夹下创建的目录,如果不存在则使用 dnf install tree -y
命令下载软件包。
使用 netstat -lntup | grep httpd
命令查看端口,可以查看到新添加的端口号。
在浏览器中输入虚拟机的IP地址,在后面加上 :端口号
,回车查看页面情况。
4. 基于不同主机名的Web服务器配置
使用 ping localhost
命令能够ping通是因为在 /etc/hosts
文件中配置了本地解析的文件。
操作主机名时,实际上是操作的对应的ip地址。主机与ip地址的对应关系称为解析。
名称服务器:nameserver,也叫dns服务器或名称服务器
127.0.0.1:只要操作系统在就在,一定能ping通,环回地址
配置过程
在 /etc/httpd/conf.d
目录下,使用 vim vhost.conf
命令新增加两个IP相同,域名不同的服务器(虚拟主机)
<directory "/wbTest">
allowoverride none
require all granted
</directory>
<virtualhost 192.168.88.130:80>
documentroot /wbTest/wb01
servername www.wb01.com
</virtualhost>
<virtualhost 192.168.88.130:80>
documentroot /wbTest/wb02
servername www.wb02.com
</virtualhost>
<virtualhost 192.168.88.130:80>
documentroot /wbTest/wb03
servername www.wb03.com
</virtualhost>
创建以上配置文件相对文件并赋值
在 /etc/hosts
文件中添加以下指令
192.168.88.130 www.wb01.com
192.168.88.130 www.wb02.com
192.168.88.130 www.wb03.com
使用 curl www.____.com
命令访问查询网站是否配置成功
此时在浏览器中还无法显示自定义网站内容,需要用管理员身份修改Windows系统内部的hosts文件,该文件一般在 C:\Windows\System32\drivers\etc
路径下。修改内容如下
systemctl restart httpd
重启httpd服务
此时在网页上输入对应网址即可显现内容
5. 基于用户认证的服务器配置
使用 htpasswd -c /etc/httpd/UsrAccount usr01
命令创建一个密码文件, -c
表示第一次创建。
使用以上命令再创建一个用户并配置密码
使用 mkdir /usr/local/privacy
命令创建一个目录用于储存私密文件,并给其中的页面赋值。
在 /etc/httpd/conf.d
目录下添加以下配置内容。其中authtype basic
是定义文件认证类型,用户 usr01
和 usr02
通过 /etc/httpd/UsrAccount
目录认证。alias是路径别名,当用户访问 /privacy
时,实际上访问的是 /usr/local/privacy
。
<directory /usr/local/privacy>
authtype basic
authname "This is a private directory,Please Login:"
authuserfile /etc/httpd/UsrAccount
require user usr01 usr02
</directory>
<virtualhost 192.168.88.130:80>
servername www.UserPage.com
alias /privacy /usr/local/privacy
documentroot /wbTest/UserPage
</virtualhost>
创建文件配置对应目录,并给相关网页赋值
同样修改 /etc/hosts
文件和Windows中的hosts文件,添加对应的IP地址和主机名
systemctl restart httpd
重启httpd服务
在网页输入 www.userpage.com
可以打开并显示页面,在改网址后添加 /privacy
弹出用户登录页面,输入之前文件配置的用户名和密码,显示出私密页面。
6. 在Apache HTTP服务器上配置 TLS加密
(还没整理完,后续会更新…)