Linux虚拟机下WWW(HTTP)服务器的搭建与使用(详细)
1.简介
1.1 关于www服务器
WWW服务器是被动程序,只有接收到互联网中其他计算机发出的请求后才会响应,然后WWW服务器才会使用HTTP或者HTTPS将指导文件传输到客户机的浏览器上
1.2 关于HTTP协议
HTTP是超文本传输协议,提供了访问超文本信息的功能,是WWW浏览器和WWW服务器之间的应用层通信协议。
2.安装
2.1 安装httpd软件包(Apache服务程序,软件包名为httpd)
[root@Hoster130 Hoster]# yum install httpd
2.2 启动服务,并设置为开机启动
[root@Hoster130 Hoster]# systemctl start httpd
[root@Hoster130 Hoster]# systemctl enable httpd
2.3 打开浏览器查看
Http://127.0.0.1,成功显示
3. 配置服务器参数
3.1 手写文件替换默认页面
各个httpd服务目录路径
默认网站数据是存放在/var/www/html目录中的,首页名称为index.html
添加内容“Hello Web”到index.html
[root@Hoster130 ~]# echo "Hello Web" > /var/www/html/index.html
查看浏览器
3.2 编辑主配置文件httpd.conf
DocumentRoot参数修改为“/home/wwwroot
Directory中的"/var/www"修改为 "/home/wwwroot"
建立网站数据目录
[root@Hoster130 ~]# mkdir /home/wwwroot
创建首页文件
[root@Hoster130 ~]# echo "The New Web Directory" > /home/wwwroot/index.html
重启Apache服务
[root@Hoster130 ~]# systemctl restart httpd
再次查看浏览器,成功
4. 个人用户主页功能
4.1 开启个人用户主页功能
[root@Hoster130 ~]# vi /etc/httpd/conf.d/userdir.conf
重启服务
[root@Hoster130 ~]# systemctl restart httpd
4.2 创建个人用户网站数据
切换为普通用户Hoster
[root@Hoster130 ~]$ su - Hoster
创建网站数据目录(目录名与前面userdir.conf配置文件中UserDir中的参数保持一致)
[Hoster@Hoster130 ~]$ mkdir public_html
写入内容
[Hoster@Hoster130 ~]$ echo "This is Hoster's Web" > public_html/index.html
4.3 授权与访问
授予775访问权限
[Hoster@Hoster130 ~]$ chmod -Rf 755 /
访问浏览器 Http://127.0.0.1 ~Hoster
结果显示网页无法访问,此时应是SELinux策略的问题,因为SELinux默认不允许Apache服务个人用户主页这项功能。接下来我们需要设置相关策略为允许。
sudo setsebool -P httpd_enable_homedirs=on
如果该命令运行后显示"Selinux is disabled",需要 将 /etc/selinux/config 中的SELINUX值修改为1
访问浏览器,成功进入
4.4 添加密码安全验证
有时候并不希望所有人都可以留意访问到自己的个人网站,可以添加密码加强安全防护
[root@Hoster130 ~]# htpasswd -c /etc/httpd/passwd Hoster
编辑配置文件开启密码验证
[root@Hoster130 ~]# vi /etc/httpd/conf.d/userdir.conf
修改为以下内容,并重启服务
[root@Hoster130 ~]# systemctl restart httpd
注意:每次修改配置文件后,都需要重启服务
4.5 访问浏览器
输入用户密码,登陆成功
注意:这里的User name是Hoster,密码非该用户的系统密码,而是通过htpasswd命令创建的网站密码
5. 虚拟网站主机功能
5.1 基于IP地址
(1) 使用nmtui命令打开网卡,添加多个IP地址
重启网络服务,并用ping命令测试是否成功
[root@Hoster130 ~]# systemctl restart network
(2) 分别创建网站数目录并写入内容
[root@Hoster130 ~]# mkdir -p /home/wwwroot/130
[root@Hoster130 ~]# mkdir -p /home/wwwroot/140
[root@Hoster130 ~]# mkdir -p /home/wwwroot/150
[root@Hoster130 ~]# echo "IP:192.168.161.130" > /home/wwwroot/130/index.html
[root@Hoster130 ~]# echo "IP:192.168.161.140" > /home/wwwroot/140/index.html
[root@Hoster130 ~]# echo "IP:192.168.161.150" > /home/wwwroot/150/index.html
(3) 配置文件httpd.conf中配置基于IP地址的虚拟主机
[root@Hoster130 ~]# vi /etc/httpd/conf/httpd.conf
加入以下内容
<VirtualHost 192.168.161.130>
DocumentRoot /home/wwwroot/130
ServerName www.linuxprobe.com
<Directory /home/wwwroot/130>
AllowOverride None Require all granted </Directory>
</VirtualHost>
<VirtualHost 192.168.161.140>
DocumentRoot /home/wwwroot/140
ServerName bbs.linuxprobe.com
<Directory /home/wwwroot/140>
AllowOverride None Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.161.150>
DocumentRoot /home/wwwroot/150
ServerName tech.linuxprobe.com
<Directory /home/wwwroot/150>
AllowOverride None Require all granted
</Directory>
</VirtualHost>
重启服务
[root@Hoster130 ~]# systemctl restart httpd
(4)分别访问,验证结果,例如下图即为成功
注意:为避免配置文件冲突导致报错,进行"基于主机名"和"基于端口号"的操作时需还原配置文件至"虚拟网站主机功能"之前或注释掉冲突部分
5.2 基于主机名
(1)配置hosts文件
[root@Hoster130 ~]# vi /etc/hosts
(2)分别创建网站数据目录并写入内容
[root@Hoster130 ~]# mkdir -p /home/wwwroot/www
[root@Hoster130 ~]# mkdir -p /home/wwwroot/bbs
[root@Hoster130 ~]# mkdir -p /home/wwwroot/tech
[root@Hoster130 ~]# echo "www.linuxprobe.com" > /home/wwwroot/www/index.html
[root@Hoster130 ~]# echo "bbs.linuxprobe.com" > /home/wwwroot/bbs/index.html
[root@Hoster130 ~]# echo "tech.linuxprobe.com" > /home/wwwroot/tech/index.html
(3) 配置文件httpd.conf中配置基于主机名的虚拟主机
[root@Hoster130 ~]# vi /etc/httpd/conf/httpd.conf
加入以下内容
<VirtualHost 192.168.161.130>
DocumentRoot /home/wwwroot/www
ServerName www.linuxprobe.com
<Directory /home/wwwroot/www>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.161.130>
DocumentRoot /home/wwwroot/bbs
ServerName bbs.linuxprobe.com
<Directory /home/wwwroot/bbs>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.161.130>
DocumentRoot /home/wwwroot/tech
ServerName tech.linuxprobe.com
<Directory /home/wwwroot/tech>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
重启服务
[root@Hoster130 ~]# systemctl restart httpd
(4)分别访问,验证结果,例如下图即为成功
5.3 基于端口号
(1)分别创建网站数据目录并写入内容
[root@Hoster130 ~]# mkdir -p /home/wwwroot/8008
[root@Hoster130 ~]# mkdir -p /home/wwwroot/8009
[root@Hoster130 ~]# echo "port:8008" > /home/wwwroot/8008/index.html
[root@Hoster130 ~]# echo "port:8009" > /home/wwwroot/8009/index.html
(2)配置文件httpd.conf中配置基于端口号的虚拟主机
[root@Hoster130 ~]# vi /etc/httpd/conf/httpd.conf
在Listen 80后追加一下信息
添加虚拟主机
<VirtualHost 192.168.161.130:8008>
DocumentRoot /home/wwwroot/8008
ServerName www.linuxprobe.com
<Directory /home/wwwroot/8008>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.161.130:8009>
DocumentRoot /home/wwwroot/8009
ServerName bbs.linuxprobe.com
<Directory /home/wwwroot/8009>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
重启服务
[root@Hoster130 ~]# systemctl restart httpd
(4)分别访问,验证结果,例如下图即为成功
Linux虚拟机下WWW(HTTP)服务器的搭建与使用(详细)相关推荐
- 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站
外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站 之前在CentOS虚拟机上安装了LAMP,搭建起了自己的web服务器,具体流程见: http://www.lin ...
- linux 虚拟机 交叉,华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验
华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验 一,前期准备工作 1. 安装VMRAME虚拟机软件. 2.下载REDHAT的安装光盘,共三个.iso的文件.并在虚拟机下安装R ...
- Linux下的DNS服务器的搭建实战
Linux下的DNS服务器的搭建 DNS(Domain Name Server,域名服务器) 是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器. DNS ...
- 虚拟机web服务器配置ppt,在Linux虚拟机下配置apache构建web服务器.doc
在Linux虚拟机下配置apache构建web服务器.doc 上传人:清**** 文档编号:55209606 上传时间:2020-03-08 格式:DOC 页数:2 大小:32.50KB 下载提示(请 ...
- Linux下JAVA WEB服务器的搭建一(JDK\MYSQL\TOMCAT)
转自:Linux下JAVA WEB服务器的搭建一(JDK\MYSQL\TOMCAT),更优阅读体验http://www.kongzid.com/ 目录 1.JDK1.8的安装配置 1.1 环境检查 1 ...
- linux下的svn服务器部署搭建
linux下的svn服务器部署搭建 svn安装 创建版本仓库库目录 新建版本库 开始配置 启动svn 客户端访问svn服务器 svn安装 1.首先使用yum命令,此命令会自动安装svn服务器的相关服务 ...
- linux环境下python机器学习环境的搭建
linux环境下python机器学习环境的搭建## 1.准备工作,查看linux自带的python版本,以及建立一个测试目录用于存放测试文件: ubuntu@VM-164-254-ubuntu:/va ...
- linux ftp服务器防火墙设置,【许望】linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置...
linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置 FTP服务器在与客户端通讯的过程中会用到两个端口,一个是控制端口,通常是21/tcp,一个是数据端口,运行在主动模式下的FTP服 ...
- Linux系统下安装Apache服务器
Linux系统下安装Apache服务器 1.第一步命令安装apache: yum install httpd httpd-devel -y 2.第二步执行命令: 开启服务器 systemctl sta ...
- cs1.5 linux服务端,Linux系统下CS1.5服务器架设详解
Linux系统下如何进行CS1.5服务器架设操作呢,其实知道的朋友应该不难上手的,快来看看下面的Linux系统下CS1.5服务器架设文章教程吧. 首先你要下载两个文件.hlds_l_3110_full ...
最新文章
- Pipe Utilization管道利用率
- 整理Silverlight资源列表(四)——Silverlight案例补充
- 关于微型计算机主板的描述错误的是,2016年9月计算机一级考试试题及答案「单选」...
- [原]Console小技巧——Console版贪食蛇
- 深度学习(三十五)——Style Transfer(2), YOLOv3, Tiny-YOLO, One-stage vs. Two-stage
- 中小企业上云首选,华为云全新云服务器S6性能评测分析
- 创建抽象类、_【Java视频教程】day16-抽象类
- 物流项目面试题 整理终版
- 移动web页面前端开发总结
- C语言 判断一个数是否为2的若干次幂
- 计算机毕业设计Java河南省农村多元化养老服务管理系统设计与实现(源码+系统+mysql数据库+lw文档)
- 我玩的王者荣耀(一)——鲁班
- java发送信息到通知栏
- QT学习笔记(六)——QT弹出对话框并在主窗口调用对话框的信息
- php 百度逆地理编码,百度地图开放平台 Web服务API --Geocoding API (地理编码和逆地理编码)...
- Android图像处理之Paint
- Java程序设计基础【2】
- Fluent中的压力类型
- 【MATLAB库函数系列】resample(重采样函数)的C语言实现【姊妹篇2纯C语言实现】
- JavaScript 进阶知识 - Ajax篇
热门文章
- 玉米迷宫,Meteor Shower S,单词接龙
- onvif python 音视频_python3控制基于onvif的安防摄像头
- GB28181实现对安防摄像头的直播回放控制
- 解决“vmware15虚拟机启动造成win10黑屏或自动注销“问题
- 计算机网络连接黄感叹号,电脑连接路由器网络连接显示黄色感叹号的解决办法...
- 爱因斯坦论教育,放在首位的该是什么?1936年美国高等教育300周年会(公号回复“爱因斯坦教育”下载PDF典藏版,欢迎转发赞赏)
- 在英文论文写作中,什么时候该用斜体?
- Android也行5view斜体,Android TextView同时设置粗体和斜体
- 《图解TCP/IP》——第一章 网络通讯基础
- 用python计算圆周率