实验背景:
Contoso目前是提供虚拟主机的公司。xiaonuo公司和dreamfire公司想在Contoso上申请虚拟主机为各自公司提供web服务。要求申请的域名分别为www.xiaonuo.com和www.dreamfire.com。为了节省IP地址,决定使用主机头区分各个虚拟主机。
 
实验步骤:
一、 Apache的安装(开发源代码应用程序的编译安装)
RHEL4默认安装了Apache服务,根目录在/etc/httpd/下,主配置文件在/etc/httpd/conf/httpd.conf下,文档根目录在/var/www/html/,启动脚本为/etc/init.d/httpd中。
本实验通过编译安装的方式安装Apache服务程序。
注意:安装完成之后,在Linux系统中有两套Apache服务程序,而且两者都能为用户提供WEB服务,启用那个服务,那个Apache程序就为用户提供服务。而在现实环境中,两个都是存在的,默认安装的作为编译安装的备份,配置过程中可将两者都配置成一样,当其中的一个坏掉之后可以直接启用另外一个。可以做到冗余备份的作用。而在Windows下在一台主机上安装两台WEB服务器是不可能的,除非做群集实现。
 
1、 确认系统中已经安装了编译环境
对任何应用程序的源代码进行编译安装之前都需要确认当前系统中已经安装了gcc编译器环境。
注意:如果没有安装编译环境可以通过在应用程序管理器工具中选中“Development Tools”单击“update”按钮,然后按提示从第四张光盘开始安装直到完成。
 
2、 下载Apache程序的源代码安装包文件
为了与RHEL4系统中的Apache版本保持基本一致,可以使用下面的命令下载Apache服务器的2.0.59版的源代码软件包。
注意:Apache服务器有1.X和2.X两个版本,1.X版本目前最高的是1.3,这个版本对以前的老版本有较好的兼容性。运行也是相当的稳定。2.X版本相对于1.X版本增加了更多的功能特性,对于新建立的应用系统,Apache的2.X版本是一个不错的选中。目前Apache的2.X版本有2.0和2.2两个主要版本,2.2版本增加了很多新特性,但2.0版本相对于2.2较稳定。
在liunx中下载的方法为:#wget http://mirror.vmmatrix.net/apache/httpd/httpd-2.0.59.tar.gz
本实验中已下载好了,挂载到/mnt/hgfs/liunx/目录下。
 
3、 释放已下载的源代码软件包文件
将已下载的http源码包复制到目录“/usr/local/srv/”中,该目录通常用于保存需要编译的程序源代码(目录)。在“/usr/local/src”中使用tar命令将源代码软件包释放。
在安装之前最好检查一下Linux系统时间,系统时间要大于一些安装包的时间才行。设置方法如下:
解压之后,查看解压的文件看是否有目录http-2.0.59,然后进入这个目录。
 
4、 编译前的配置
在httpd的源代码目录中使用“./configure”命令完成编译前的配置工作。首先查看一下是否具有configure这个命令。
在“./configure”命令中需要使用命令选项对Apache服务器进行配置,命令含义的选项如下:
“--prefix”设置了程序安装目录的绝对路径。如果不设置就安装到默认路径“/usr/local/bin”中。
“--ebable-so”选项设置了Apache服务器可以使用动态加载模块功能。
“--enable-rewrite”选项设置了Apache服务器具有rewrite功能。rewrite功能可以实现对动态网页地址的重写,从而使网页访问者可以通过更加简单和容易记忆的网页地址访问动态网页系统中的页面。
 
5、 程序编译过程
在使用configure命令对prozilla的源代码进行配置后,需要使用make命令进行程序的二进制编译。该过程是真正将程序源代码转换为可执行程序的过程。
 
6、 程序安装过程
“make install”命令将按照configure命令的“--prefix”选项中设定的安装路径将已编译完成的应用程序安装到目标目录apache2中。安装完成之后会在“/usr/local”下多出一个apache2目录。
通过“du –sh”命令可以查看apache2目录的大小。
 
7、启动httpd服务程序
安装完成之后,需要重新启动已安装的Apache服务程序,bin目录下的appachel是Apache服务器的启动脚本,使用start作为参数将启动httpd服务程序。
注意:千万不要使用“service httpd start”或“/etc/rc.d/init.d/httpd start”启动Apache服务,因为这两个都会启动默认安装Apache服务程序。
当httpd服务器程序启动后,可以使用网页浏览器访问Apache服务器的地址,如果显示下面的内容,则证明http服务已经成功启动。
 
注意:这个页面显示的是“/usr/local/apache2/htdocs/”下的index.html.var页面。这个目录是Apache的文档目录,默认里面没有index.html,而主页文档(在httpd.conf中的DirectoryIndex选项)默认有两个,一个为index.html,另一个为index.html.var,在最前面的优先显示。
为了更好地理解主页的意义,可以在htdocs目录下创建一个index.html主页。然后通过IE浏览器进行显示。
 
二、 Apache的全局配置
在实际的应用系统中,Apache服务器需要设置为在Liunx系统启动时自动运行,因此需要将apachectl脚本的启动命令写入rc.local文件。在rc.local文件中加入以上apachectl命令后,每次系统启动时都将自动启动Apache服务器。
编辑http.conf文档中的全局配置。
ServerRoot 设置了Apache服务器的根目录,该目录中包括了服务器运行必需的目录和文件。
Timeout用于设置Apache服务器与浏览器之间网络连接的超时秒数,默认为300s。
KeepAlive设置为on时,保持客户端与服务器直接的连接功能,可以请求一次传输多个文件。
MaxkeepAliveRequests设置客户端请求相应的最大文件数
KeepAliveTimeout 客户端两次请求需要间隔的最大时间为*秒
设置Apache服务器监听的网络端口号,默认为80。
ServerAdmin用于设置Apache服务器管理员的E-mail地址,可以通过E-mail地址及时联系Apache服务器管理员。
DocumentRoot用于设置Apache服务器网页(文档)根目录在Linux系统中的实际目录。
UserDir 设置用户的个人主页目录为public_html,即所有系统用户的宿主目录下如果有名为public_html的子目录,该目录将作为用户在Apache服务器中个人主页的文档根目录。
AddDefaultCharset GB2312 设置服务器的默认编码为GB2312
ServerName设置Apache服务器的主机名。
 
三、 域名虚拟主机的配置
为了更好地管理和测试虚拟主机,本实验将个人主页的根目录作为每一个虚拟主机的默认目录。这样一来可以通过测试个人主页来测试虚拟目录的可用性,二来也方便虚拟主机目录权限的分配。
 
1、 设置个人主页目录(同样也是虚拟主机目录)的访问权限
在httpd.conf中有默认的配置权限,只不过都被注释掉了,需要将注释去掉。如下:
需要修改的是在“Indexes”前加一个“-”即可。
 
2、创建系统用户
创建用户xiaonuo和dreamfire,并在各宿主目录下添加public_html目录,然后在public_html目录下添加主页用于测试。
由于Liunx系统对用户的宿主目录默认设置了比较严格的访问权限,因此需要为其他用户增加进入宿主目录的权限,以便Apache服务器能够有权限访问用户宿主目录中public_html子目录。
在个人主页地址中http://contoso.msft/表示Apache服务器的地址,“~xiaonuo”表示用户xiaonuo的宿主目录,“~”放在用户名之前表示指定用户的宿主目录。
 
3、 域名虚拟主机的配置
在Apache服务器的httpd.conf配置文件中进行域名虚拟主机的设置内容。默认有配置模板
配置项的含义如下:
NameVirtualHost 用于设置域名虚拟主机使用的IP地址,即“www.xiaonuo.com”和“www.dreamfire.com”域名将解析到的IP地址。
使用<VirtualHost 200.200.200.200>和</VirtualHost>建立在地址“200.200.200.200”上的虚拟主机区域;
在建立的虚拟主机区域中,使用ServerName设置当前虚拟主机所使用的域名;使用DocumentRoot设置当前主机所使用的文档根目录也就是个人主页的根目录;
设置完成之后,使用apachectl –t可以查看对httpd.conf的语法进行检测。
配置完成之后,需要重新启动apachectl服务。http.conf中的修改才能生效。
 
4、 测试虚拟主机的连通性
使用域名www.xiaonuo.com/和www.dreamfire.com/测试虚拟主机。
 
注意:配置虚拟主机,需要DNS服务器的支持,本实验中使用windows server 2003搭建了一台DNS服务器,也可以通过在客户机Linux的/etc/hosts文件中添加www.xiaonuo.com和www.dreamfire.com/的地址解析记录。或者在Windows系统目录%systemroot%\system32\drivers\etc\hosts中添加地址解析记录即可访问。

转载于:https://blog.51cto.com/iomogo/169846

Apache下域名虚拟主机在个人主页目录上实现过程相关推荐

  1. 虚拟主机的服务器配置在哪,配置Apache服务器下的虚拟主机设置有什么要求?景安...

    什么是apache虚拟主机?apache虚拟主机就是在apache服务器上配置多个虚拟主机,从而把一个服务器提供多站点的服务实现.用通俗的话来说就是对同一个服务器上的不同目录进行访问.那么如何在Apa ...

  2. Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:

    1. testing ! ... 1 1 原文参考链接: http://showerlee.blog.51cto.com/2047005/1266712 很久没有更新LAMP的相关文档了,刚好最近单位 ...

  3. Apache虚拟主机VirtualHost的目录访问权限

    我的Apache默认的虚拟主机目录为"D:\Program Files\Zend\Apache2\htdocsApache",当添加一个新的虚拟主机VirtualHost的根目录设 ...

  4. LAMP环境下配置虚拟主机和域名的跳转

    一.配置虚拟主机 vim /usr/local/apache2/conf/extra/httpd-vhost.conf <VirtualHost *:80>    ServerAdmin ...

  5. Linux20180528 apache结合php 虚拟主机

    5月28日任务 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 1. 首先看一下: 这是个警告,虽然并非错误但是可以取消掉.办法就是去定义好 ser ...

  6. wampserver下配置虚拟主机 实现多站点支持

    wampserver下配置虚拟主机 实现多站点支持 wampserver是由德国人开发,在windows环境下实现apache+php+mysql的一款集成环境软件,wampserver自带SQLit ...

  7. Ubuntu 下apache2 虚拟主机配置

    一.安装: ubuntu 及debian 下的apahce 有点特别,如果使用apt-get 方式安装( apt-get install apache2 ) 则安装目录默认在 /etc/apache2 ...

  8. 请将文件MP_verify_N8no8dpNO9n7wuBZ.txt上传至XXX指向的web服务器(或虚拟主机)的目录

    1  环境  阿里云ECS服务器 2. 项目部署在tomcat下 问题: 在微信公众平台 填写 网页授权回调域名的时候  第三个 要求没通过 3.将文件MP_verify_N8no8dpNO9n7wu ...

  9. 无法访问yunlong.wj0920wjx.net指向的web服务器(或虚拟主机)的目录,请检查网络设置

    无法访问yunlong.***.net指向的web服务器(或虚拟主机)的目录,请检查网络设置 第一步 下载.txt文件,放到服务器上 放在这里访问不到 然后我将txt文件放在static文件夹下 第二 ...

  10. 配置Apache服务器的虚拟主机

    配置Apache服务器的虚拟主机 (1)启用apache的虚拟主机功能 LoadModule vhost_alias_module modules/mod_vhost_alias.so (2

最新文章

  1. LaTex in Markdown
  2. 创建一个好的Sprint Backlog 的8个小贴士
  3. Java反射,从0开始
  4. 博图wincc连接数据块_西门子博途WINCC 可通过创建画面模板提高编程效率
  5. 梯度下降法and实战
  6. cacti批量添加脚本
  7. 125条常见的java面试笔试题大汇总3
  8. ans函数python_#12 Python函数
  9. SNMP原理及常用配置命令
  10. ffmpeg 分辨率 压缩_ffmpeg 视频压缩
  11. CC2550和CC2500的区别
  12. 单片机i o口扩展 c语言,基于2片74LS138的单片机I/O口扩展分析
  13. 免费申请树葬、草坪葬、花坛葬!东胜区殡仪馆发布2019年清明节祭奠服务安排!...
  14. ProxySQL+MGR实现读写分离和主节点故障无感知切换
  15. 安卓和鸿蒙系统,对标Apple Watch!魅族推首款智能手表,官宣接入华为鸿蒙系统...
  16. 安装位置php-fpm,如何查看php-fpm的安装路径
  17. bzoj3998/洛谷3975 [TJOI2015]弦论 (后缀自动机)
  18. 数学基础知识之Sin、cos画圆
  19. 一文助您轻松上手 Kyligence Zen,轻松变身数据达人
  20. Unsupervised Person Re-identification: Clustering and Fine-tuning

热门文章

  1. udev和mdev hotplug
  2. thinkphp生成php文件,thinkphp使用buildHtml生成静态文件的方法
  3. java容器的理解_java容器的理解
  4. 任务调度的合理性(拓扑排序)
  5. Path Sum Path Sum II
  6. java 不以科学记数法输出double
  7. 使用消息队列的十大理由
  8. 一加会不会适配鸿蒙系统,或将适配高通平台 传闻一些手机厂商正接触华为鸿蒙OS计划适配...
  9. 修改完out不更新_CyclicBarrier 不就是比 CountDownLatch 多了个回环么?
  10. C语言中使输入的字符串反序输出,C语言: 写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。...