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)服务器的搭建与使用(详细)相关推荐

  1. 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站

    外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站 之前在CentOS虚拟机上安装了LAMP,搭建起了自己的web服务器,具体流程见: http://www.lin ...

  2. linux 虚拟机 交叉,华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验

    华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验 一,前期准备工作 1. 安装VMRAME虚拟机软件. 2.下载REDHAT的安装光盘,共三个.iso的文件.并在虚拟机下安装R ...

  3. Linux下的DNS服务器的搭建实战

    Linux下的DNS服务器的搭建 DNS(Domain Name Server,域名服务器) 是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器. DNS ...

  4. 虚拟机web服务器配置ppt,在Linux虚拟机下配置apache构建web服务器.doc

    在Linux虚拟机下配置apache构建web服务器.doc 上传人:清**** 文档编号:55209606 上传时间:2020-03-08 格式:DOC 页数:2 大小:32.50KB 下载提示(请 ...

  5. Linux下JAVA WEB服务器的搭建一(JDK\MYSQL\TOMCAT)

    转自:Linux下JAVA WEB服务器的搭建一(JDK\MYSQL\TOMCAT),更优阅读体验http://www.kongzid.com/ 目录 1.JDK1.8的安装配置 1.1 环境检查 1 ...

  6. linux下的svn服务器部署搭建

    linux下的svn服务器部署搭建 svn安装 创建版本仓库库目录 新建版本库 开始配置 启动svn 客户端访问svn服务器 svn安装 1.首先使用yum命令,此命令会自动安装svn服务器的相关服务 ...

  7. linux环境下python机器学习环境的搭建

    linux环境下python机器学习环境的搭建## 1.准备工作,查看linux自带的python版本,以及建立一个测试目录用于存放测试文件: ubuntu@VM-164-254-ubuntu:/va ...

  8. linux ftp服务器防火墙设置,【许望】linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置...

    linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置 FTP服务器在与客户端通讯的过程中会用到两个端口,一个是控制端口,通常是21/tcp,一个是数据端口,运行在主动模式下的FTP服 ...

  9. Linux系统下安装Apache服务器

    Linux系统下安装Apache服务器 1.第一步命令安装apache: yum install httpd httpd-devel -y 2.第二步执行命令: 开启服务器 systemctl sta ...

  10. cs1.5 linux服务端,Linux系统下CS1.5服务器架设详解

    Linux系统下如何进行CS1.5服务器架设操作呢,其实知道的朋友应该不难上手的,快来看看下面的Linux系统下CS1.5服务器架设文章教程吧. 首先你要下载两个文件.hlds_l_3110_full ...

最新文章

  1. Pipe Utilization管道利用率
  2. 整理Silverlight资源列表(四)——Silverlight案例补充
  3. 关于微型计算机主板的描述错误的是,2016年9月计算机一级考试试题及答案「单选」...
  4. [原]Console小技巧——Console版贪食蛇
  5. 深度学习(三十五)——Style Transfer(2), YOLOv3, Tiny-YOLO, One-stage vs. Two-stage
  6. 中小企业上云首选,华为云全新云服务器S6性能评测分析
  7. 创建抽象类、_【Java视频教程】day16-抽象类
  8. 物流项目面试题 整理终版
  9. 移动web页面前端开发总结
  10. C语言 判断一个数是否为2的若干次幂
  11. 计算机毕业设计Java河南省农村多元化养老服务管理系统设计与实现(源码+系统+mysql数据库+lw文档)
  12. 我玩的王者荣耀(一)——鲁班
  13. java发送信息到通知栏
  14. QT学习笔记(六)——QT弹出对话框并在主窗口调用对话框的信息
  15. php 百度逆地理编码,百度地图开放平台 Web服务API --Geocoding API (地理编码和逆地理编码)...
  16. Android图像处理之Paint
  17. Java程序设计基础【2】
  18. Fluent中的压力类型
  19. 【MATLAB库函数系列】resample(重采样函数)的C语言实现【姊妹篇2纯C语言实现】
  20. JavaScript 进阶知识 - Ajax篇

热门文章

  1. 玉米迷宫,Meteor Shower S,单词接龙
  2. onvif python 音视频_python3控制基于onvif的安防摄像头
  3. GB28181实现对安防摄像头的直播回放控制
  4. 解决“vmware15虚拟机启动造成win10黑屏或自动注销“问题
  5. 计算机网络连接黄感叹号,电脑连接路由器网络连接显示黄色感叹号的解决办法...
  6. 爱因斯坦论教育,放在首位的该是什么?1936年美国高等教育300周年会(公号回复“爱因斯坦教育”下载PDF典藏版,欢迎转发赞赏)
  7. 在英文论文写作中,什么时候该用斜体?
  8. Android也行5view斜体,Android TextView同时设置粗体和斜体
  9. 《图解TCP/IP》——第一章 网络通讯基础
  10. 用python计算圆周率