Web服务器篇
- 一、快速搭建网站
- 二、更改网页启动目录
- 三、内网穿透
- 1、准备工作
- 2、搭建网站
- 3、测试:浏览器中输入ip进行测试
- 4、使用花生壳进行内网穿透
- 4.1 注册并登陆
- 4.2 点击添加映射
- 4.3 Linux安装花生壳客户端
- 5、注意
- 四、搭建具有身份验证功能网站
- 1、准备工作
- 2、编辑httpd目录中的用户主页配置文件(不是httpd.conf文件)
- 3、新建账户,设置权限
- 4、重启服务并测试
- 5、增加密码访问控制
- 6、编辑个人主页配置文件,设置访问控制策略
- 7、重启服务并测试
- 五、搭建2个基于域名的虚拟机主机网站
- 1、准备工作,即安装并启动
- 2、创建两个目录进行存放启动界面
- 3、配置Linux的DNS hosts文件以及HTTP主配置文件
- 4、重启服务并测试
- 六、搭建2个基于IP地址的虚拟机主机网站
- 1、准备工作,安装并启动
- 2、查看自身IP地址并添加IP地址
- 3、创建两个IP的启动主页面,写入并查看
- 4、更改主配置文件
- 5、重启服务并测试
- 七、搭建2个基于端口号的虚拟机主机网站
- 1、准备工作,安装并启动
- 2、创建两个端口并将文件传入
- 3、更改主配置文件
- 4、重启服务,在浏览器中访问即可
一、快速搭建网站
[root@server ~]# yum install httpd -y
[root@server web1]# cd ~
[root@server ~]# echo "welcome to www.openlab.com" > /var/www/html/index.html
[root@server ~]# ls /var/www/html/
index.html
[root@server ~]# systemctl restart httpd
查看SELinux以及防火墙状态,若开启,则临时关闭SELinux以及防火墙。
查看etc下的passwd文件即可查到apache。
这里我们可以进入主配置文件进行查看启动页面在哪个文件即可以看到:
所以,我们输入命令到此文件中,输出一个字符串:
- 查看:linux的火狐浏览器中输入127.0.0.1
使用主机去访问虚拟机的IP地址,这里我的IP地址为192.168.13.134
- 注意:
- 也可以在Windows端打开浏览器,输入linux服务器的IP地址
- 也可以通过curl命令访问网页,来验证网站是否搭建成功
[root@server ~]# curl 192.168.48.130
二、更改网页启动目录
- 第一步:准备工作
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install httpd -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd
- 第二步:新建网页存储目录/web1,使用xftp将网页数据上传到/web1
[root@server ~]# mkdir /web1
[root@server ~]# cd /web1
[root@server web1]# ls
css dingban.mp4 img index.html js temp
- 第三步:修改主配置文件
DocumentRoot "/web1" # 第124行修改为真实的网页存储目录
<Directory "/web1"> # 第129行修改网页存储目录的访问权限
AllowOverride None
# Allow open access:
Require all granted
</Directory>
- 第三步:重启服务器并测试
[root@server ~]# systemctl restart httpd
# windows端打开浏览器输入服务器地址测试
三、内网穿透
实验材料: 花生壳管理平台,Linux虚拟机以及xshell(要不要都行,远程连接工具),再就测试需要使用的浏览器(尽量不用IE浏览器),这里我使用的是谷歌浏览器
实验要求: 搭建网站使用花生壳进行内网穿透实现公网访问
1、准备工作
[root@server ~]# setenforce 0 # 暂时关闭SELinux
[root@server ~]# systemctl stop firewalld # 关闭防火墙
[root@server ~]# yum install httpd -y # 安装apache
[root@server ~]# systemctl start httpd # 启动
[root@server ~]# systemctl enable httpd
2、搭建网站
[root@server ~]# vim /etc/httpd/conf/httpd.conf # 修改124及129行数据
DocumentRoot "/zy"
<Directory "/zy">
[root@server ~]# systemctl restart httpd # 重启服务
3、测试:浏览器中输入ip进行测试
这里可以在主机上输入虚拟机IP进行测试,也可以在虚拟机使用浏览器进行访问自身环回:即127.0.0.1,即可访问成功。
4、使用花生壳进行内网穿透
4.1 注册并登陆
4.2 点击添加映射
这里https需要进行认证,点进去支付:
# 应用名称:自定
# 映射类型:https
# 外网域名:系统指定,不能更改
# 外网端口:443,默认
# 内网主机:本机linux服务的IP地址
# 内网端口:本地linux端的http端口,默认80
内主机这里查看自身虚拟机IP地址:
4.3 Linux安装花生壳客户端
点击Linux的立即下载
# 客户端下载:
[root@server ~]# wget "https://dl.oray.com/hsk/linux/phddns_5.2.0_amd64.rpm" -O phddns_5.2.0_amd64.rpm
# 客户端安装
[root@server ~]# rpm -ivh phddns_5.2.0_amd64.rpm
# 启动
[root@server ~]# phddns start
# 复制下图“右下角的网址”
# 重新打开浏览器,输入http://b.oray.com,完成账户登录,激活
# 登录激活
右边即显示了登陆状态。
# 点击绿色公网域名访问网站
访问此域名即可。
5、注意
- 重启服务失败的解决方法
- 可以执行下列命令查看服务的状态日志,在报错信息中查看提示
systemctl status httpd.service
- 可以查看详细日志信息
[root@server ~]# journalctl -xeu httpd.service
四、搭建具有身份验证功能网站
- 搭建一个个人用户主页功能网站,实现通过身份验证功能来访问数据
- 如果想在系统中为每一位用户建立一个独立的网站,通常使用基于虚拟主机的功能来创建部署多个网站,但这个工作会让管理者苦不堪言,尤其是用户数据量很大的情况时,而且用户自行管理网站时,还会碰到权限限制,需要为此做很多额外的工作,其实,httpd服务程序提供的个人主页功能可以完全胜任此工作,该功能可以让系统内所有用户在自己的家目录中管理个人网站,且访问也非常容易
1、准备工作
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install httpd -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd
2、编辑httpd目录中的用户主页配置文件(不是httpd.conf文件)
[root@server ~]# vim /etc/httpd/conf.d/userdir.conf
#UserDir disabled # 插入#,注释掉,表示开启用户主页功能
UserDir public_html # 去掉#,启动网站存储数据的默认目录,路径:/home/账户名/public_html
原文件:
更改后文件:
3、新建账户,设置权限
[root@server ~]# useradd andy
[root@server ~]# passwd andy
更改用户 andy 的密码 。
新的密码: # 密码:123456
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server ~]# useradd jenny
[root@server ~]# passwd jenny
更改用户 jenny 的密码 。
新的密码: # 密码:654321
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
# 切换到andy账户,设置存储网页目录及权限
[root@server ~]# su andy
[andy@server root]$ cd /home/andy
[andy@server ~]$ mkdir public_html
[andy@server ~]$ cd public_html/
[andy@server public_html]$
# 使用xftp将sxhkt网页数据上传到/home/andy/public_html目录中
[andy@server public_html]$ cd ~
[andy@server ~]$ chmod -Rf 755 /home/andy
[andy@server ~]$ ll
总用量 0
drwxr-xr-x 7 andy andy 100 8月 22 11:25 public_html
# 切换到jenny账户,设置存储网页目录及权限
[andy@server ~]$ su jenny
密码:
[jenny@server andy]$ cd ~
[jenny@server ~]$ pwd
/home/jenny
[jenny@server ~]$ mkdir public_html
[jenny@server ~]$ cd public_html/
[jenny@server public_html]$ cd ~
[jenny@server ~]$ chmod -Rf 755 /home/jenny
[jenny@server ~]$ ll
总用量 0
drwxr-xr-x 6 jenny jenny 70 8月 22 11:29 public_html
这时候并通过xftp将文件传到两个用户各自的页面文件中:
# 切换到root账户
[jenny@server ~]$ su root
密码:
[root@server jenny]# cd ~
[root@server ~]# pwd
/root
4、重启服务并测试
[root@server ~]# systemctl restart httpd
# 在Windows端浏览器地址栏中,输入:
# 192.168.48.130/~andy
# 192.168.48.130/~jenny
5、增加密码访问控制
[root@server ~]# htpasswd -c /etc/httpd/passwd andy
New password: # 密码:123456
Re-type new password:
Adding password for user andy
# 分析:
# htpasswd:生成密码数据的命令
# -c:表示第一次生成,会创建存储密码加密密文的存储文件,第二次创建时不能增加-c参数,否则存储密码密文文件内容会被覆盖
# andy : 需要验证密码登录的账户
[root@server ~]# htpasswd /etc/httpd/passwd jenny
New password: #v密码:654321
Re-type new password:
Adding password for user andy
这里密码文件位置是我们自身设定的:我们也可进行查看,使用的是密文:
6、编辑个人主页配置文件,设置访问控制策略
[root@server ~]# vim /etc/httpd/conf.d/userdir.conf
# 定位最后一行输入以下内容:
<directory "/home/andy/public_html"> # 设置andy账户目录的区域配置
authuserfile "/etc/httpd/passwd" # 设置验证密码的存储文件位置
authname "My privately" # 登录时的提示信息,可能不显示
authtype basic # 加密模式
require user andy # 需要验证密码的账户名
</directory>
<directory "/home/jenny/public_html">
authuserfile "/etc/httpd/passwd"
authname "My privately"
authtype basic
require user jenny
</directory>
7、重启服务并测试
[root@server ~]# systemctl restart httpd
# 在Windows端浏览器地址栏中,输入以下url时会验证密码
# 192.168.48.130/~andy
# 192.168.48.130/~jenny
这里访问的域名为虚拟机IP地址加~用户名。
当然,我们也可以不加用户名,这里在更改主配置文件时,将更改为以下内容即可:
这里创建的用户名为t1以及t2,剩余步骤同上面一致即可:
五、搭建2个基于域名的虚拟机主机网站
1、准备工作,即安装并启动
[root ~]# yum install httpd
[root ~]# systemctl start httpd
同时检查SELinux以及防火墙状态,开启的话将其关闭。
2、创建两个目录进行存放启动界面
[root ~]# mkdir -p /www/zy
[root ~]# mkdir -p /www/sxhkt
3、配置Linux的DNS hosts文件以及HTTP主配置文件
[root ~]# vim /etc/hosts
[root ~]# vim /etc/httpd/conf/httpd.conf
hosts文件:
原文件:
更改后:
主配置文件:
更改后:
4、重启服务并测试
[root ~]# systemctl restart httpd
这里由于是基于Linux的DNS hosts文件进行更改的,所以,只能在Linux下进行访问其域名,这里即可访问成功。
六、搭建2个基于IP地址的虚拟机主机网站
1、准备工作,安装并启动
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install httpd -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd
2、查看自身IP地址并添加IP地址
[root ~]# nmcli c mod ens160 +ipv4.addresses 192.168.13.137/24
[root ~]# nmcli c mod ens160 +ipv4.addresses 192.168.13.138/24
[root ~]# nmcli c up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root ~]#
这里即可看到新增了137以及138两个IP地址。
3、创建两个IP的启动主页面,写入并查看
[root ~]# mkdir -p /www/ip137
[root ~]# mkdir -p /www/ip138
[root ~]# echo "ip137" > /www/ip137/index.html
[root ~]# echo "ip138" > /www/ip138/index.html
[root ~]# ls /www/ip137
index.html
[root ~]# ls /www/ip138
index.html
4、更改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf
原文件:
更改后:
5、重启服务并测试
[root@server ~]# systemctl restart httpd
[root@server ~]curl 192.168.13.137
[root@server ~]curl 192.168.13.138
即可访问成功。
七、搭建2个基于端口号的虚拟机主机网站
1、准备工作,安装并启动
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install httpd -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd
2、创建两个端口并将文件传入
[root ~]# mkdir -p /www/port{9527,9528}
[root ~]# ls /www
port9527 port9528
[root ~]# cd /www
[root www]# ll
总用量 0
drwxr-xr-x 6 root root 70 8月 22 14:43 port9527
drwxr-xr-x 7 root root 100 8月 22 14:43 port9528
[root www]# ls /www/port9527
compat css img index.html js
[root www]# ls /www/port9528
css dingban.mp4 img index.html js temp
这里我们也可以查看使用端口的监听状况:
3、更改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf
原文件:
更改后文件:
4、重启服务,在浏览器中访问即可
[root@server ~]# systemctl restart httpd
这里访问域名为自身IP地址加上端口号
比如,我的虚拟机IP地址为192.168.13.134
即访问:
192.168.13.134:9527
192.168.13.134:9528
即可访问成功。