技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

RHEL 5服务篇—使用Apache搭建web服务(三)构建web虚拟主机

       虚拟web主机指的是在同一台服务器中运行多个web站点,其中的每一个站点实际并不独立占用整个服务器,因此被称为“虚拟的web主机”。在搭建虚拟web主机时,可以使用三种方法搭建虚拟web服务,基于IP地址、基于端口号和基于域名的。常用的是基于域名构建虚拟web主机。那么我们就来了解一下怎样搭建这三种不同的虚拟web主机。基于IP地址的虚拟主机:为每个虚拟主机使用不同的域名,不同的IP来实现。基于端口的虚拟主机:这中方式不使用域名、IP地址来区分,而是使用不同的端口号来实现。基于域名的虚拟主机:为每个虚拟主机使用不同的域名,且IP地址和端口号不变。准备工作... 全文

Apache 虚拟主机 web 虚拟web

apache虚拟主机搭建

    公司以前做了一个ftp的服务器,但是在访问的时候总是用ip感觉很不方便而且也不安全,所以领导要求使用域名来访问,安全又方便大家。下面记录一下配置过程。     apache的安装就不记录了,安装好apache之后,进入到配置文件下,我的服务器是在/etc/httpd/conf/httpd.conf下,只需要做简单的配置就可以了。... 全文

apache 虚拟主机

Apache 虚拟主机配置案例

NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin admin@free.com DocumentRoot "/usr/local/apache/htdocs" ServerName www.free.com ErrorLog "logs/www.free.com.error.log" CustomLog "logs/www.free.com.access.log" combined <Directory "/usr/local/apache/docs"> Options Indexes FollowSymLinks DirectoryIndex index.html index.php index.htm AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin admin@free.com DocumentRoot "/data/html/wordpress" ServerName blog.free.com #ServerAlias blog1.free.com ErrorLog "logs/blog.free.com.error.log" CustomLog "logs/blog.free.com.access.log" combined <Directory "/data/html/wordpress"> Options Indexes FollowSymLinks DirectoryIndex index.html index.php index.htm AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>本文出自 “Share your knowledge …” 博客,请务必保留此出处http://freeloda.blog.51cto.com/2033581/1189106... 全文

apache 虚拟主机

LAMP系列之Apache虚拟主机详解

配置虚拟主机前的一些必备的开胃小菜: 1、2.2版本和2.4版本的关于开启虚拟主机的不同区别 apache2.2x系列的版本,需要启用一个指令NameVirtualHost来开启虚拟主机的功能 Apache2.4 不需要开启NameVirtualHost 2、定义站点的核心要素有哪些? 如在同一个物理主机上,提供了两个不同的站点,每一个站点应该独立具有的资源或者配置、甚至是信息应该有哪些? (1)DocumentRoot (2)ip地址 (3)ServerName ,每个主机都应该有主机名 (4)对于任何一个目录都应该封装一个<Directory></Directory>容器 (5)Alias 路径别名 (6) ServerAlias服务器别名 (7)Errorlog (8)CustomLog (9)<Location "/images"> (10)ScriptsAlias 脚本别名 例子: DocumentRoot /www/test1.com/ <Directory "/www/test1.com/"> options AllowOVerrride </Directory> #Directory封装定义用户访问每一个本地文件系统目录下的文件该具有什么样的访问属性 #而Location则用来定义RUL Alias 期望两个名称访问的是同一个主机,怎么办?ServerAlias,服务器端别名来解决 3、虚拟主机的定义,使用VirtualHost标签封装起来即可;要需要注意虚拟主机和中心主机不能同时使用,要使用虚拟主机首先得取消中心主机,注释中心主机的DocumentRoot即可 <VirtualHostHost> 指令1...... 指令2...... </VirtualHost> 1)基于IP的Host的写法:ip:端口的格式即可 ip1:80 ip2:80 2)基于端口的Host的写法: ip:80 ip:8080 3)基于域名的Host写法: ip:80 *80#当前主机上每一个ip都监听 基于域名的ServerName一定是不同的Apache虚拟主机的具体实现1)首先需要取消中心主机... 全文

Apache 虚拟主机

浅谈构建apache 2虚拟主机

相信架设 apache 2 服务器的linuxers不少吧,本人也是出于兴趣爱好,就自己学习架设了一下 apache 2 ,现在将学习过程中的一点经历与各位linuxer友友分享。这里就针对 apache 2 的虚拟主机设置侃一下吧。本机环境:ubuntu desktop 8.04... 全文

apache 2 虚拟主机

Apache虚拟主机配置(五)

基于域名的配置主机实战配置取消httpd.conf该行注视[root@eric6 ~]#vi/application/apache/conf/httpd.confIncludeconf/extra/httpd-vhosts.conf[root@eric6 ~]# cd/application/apache/conf/extra/[root@eric6 extra]#cp httpd-vhosts.conf httpd-vhosts.conf.$(date +%F)[root@eric6extra]#vi httpd-vhosts.conf... 全文

Apache 虚拟主机 配置

apache2设置虚拟主机的不同方法

基于ip地址的虚拟主机 Listen 80 <VirtualHost 172.20.30.40> DocumentRoot /home/httpd/html1 ServerName www.ok1.com ErrorLog /usr/local/apache/logs/error1_log CustomLog /usr/local/apache/logs/access1_log combined </VirtualHost> <VirtualHost 172.20.30.50> DocumentRoot /home/httpd/html2 ServerName www.ok2.com ErrorLog /usr/local/apache/logs/error2_log CustomLog /usr/local/apache/logs/access2_log combined </VirtualHost>   基于IP 和多端口的虚拟主机配置 Listen 172.20.30.40:80 Listen 172.20.30.40:8080 Listen 172.20.30.50:80 Listen 172.20.30.50:8080 <VirtualHost 172.20.30.40:80> DocumentRoot /www/example1-80 ServerName www.example1.com </VirtualHost> <VirtualHost 172.20.30.40:8080> DocumentRoot /www/example1-8080 ServerName www.example1.com </VirtualHost> <VirtualHost 172.20.30.50:80> DocumentRoot /www/example2-80 ServerName www.example1.org </VirtualHost> <VirtualHost 172.20.30.50:8080> DocumentRoot /www/example2-8080 ServerName www.example2.org </VirtualHost>    单个IP 地址的服务器上基于域名的虚拟主机配置 # Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /www/example1 ServerName www.example1.com ServerAlias example1.com. *.example1.com # Other directives here </VirtualHost> <VirtualHost *:80> DocumentRoot /www/example2 ServerName www.example2.org # Other directives here </VirtualHost> 在多个IP 地址的服务器上配置基于域名的虚拟主机 Listen 80 # This is the "main" server running on 172.20.30.40 ServerName server.domain.com DocumentRoot /www/mainserver # This is the other address NameVirtualHost 172.20.30.50 <VirtualHost 172.20.30.50> DocumentRoot /www/example1 ServerName www.example1.com # Other directives here ... </VirtualHost> <VirtualHost 172.20.30.50> DocumentRoot /www/example2 ServerName www.example2.org # Other directives here ... </VirtualHost> 在不同的端口上运行不同的站点(基于多端口的服务器上配置基于域名的虚拟主机) Listen 80 Listen 8080 NameVirtualHost 172.20.30.40:80 NameVirtualHost 172.20.30.40:8080 <VirtualHost 172.20.30.40:80> ServerName www.example1.com DocumentRoot /www/domain-80 </VirtualHost> <VirtualHost 172.20.30.40:8080> ServerName www.example1.com DocumentRoot /www/domain-8080 </VirtualHost> <VirtualHost 172.20.30.40:80> ServerName www.example2.org DocumentRoot /www/otherdomain-80 </VirtualHost> <VirtualHost 172.20.30.40:8080> ServerName www.example2.org DocumentRoot /www/otherdomain-8080 </VirtualHost>   基于域名和基于IP 的混合虚拟主机的配置 Listen 80 NameVirtualHost 172.20.30.40 <VirtualHost 172.20.30.40> DocumentRoot /www/example1 ServerName www.example1.com </VirtualHost> <VirtualHost 172.20.30.40> DocumentRoot /www/example2 ServerName www.example2.org </VirtualHost> <VirtualHost 172.20.30.40> DocumentRoot /www/example3 ServerName www.example3.net </VirtualHost>本文出自 “运维工程师” 博客,请务必保留此出处http://yanzhe.blog.51cto.com/5279577/1173284... 全文

apache2 虚拟主机

apache tomcat整合后虚拟主机配置

    写这个虚拟主机之前,我想先写下自己的感受,因为笔者从未部署过JSP网站的环境,是因为有个项目用的是JSP,所以才来研究tomcat的,在部署过程中遇到很多麻烦,后来想想是因为一直是PHP的环境,所以思维被固定死了,另外一点笔者看了网上很多资料,发现很多是重复的,也有很多写法可能有些不同,最关键的是很多的文档都只是一条条的命令,并没有讲一些理论上的东西,直到我认真看了一些tomcat工作原理  过程,配置文件详解等资料后,才发现前面走了很多弯路,钻了太多牛角尖,当然测试也是必不可少的,实践出真理嘛,所以凭着印象写下这篇文章,只当帮助那些第一次接触JSP环境的人。     接着上篇apache与tomcat已经整合了,但是项目中有2个站点,每个站点下有2个jsp的应用。... 全文

apache tomcat 虚拟主机

第八章apache的虚拟主机以及用户认证

 版本V1.0时间2012-10-04版权GPL作者itnihao 邮箱 itnihao@qq.com博客 http://itnihao.blog.51cto.com如需重新发行,请注明以上信息,谢谢合作前言... 全文

apache 虚拟主机

深入理解Apache虚拟主机

深入理解Apache虚拟主机 环境:Rehat 9Apache 2.0.54IP:192.168.0.111 概论:... 全文

apache 虚拟主机 virtualhost 休闲 职场

linux系统apache tomcat虚拟主机安装配置

多年不用tomcat,应一朋友要求,搭建一个java环境的虚拟主机,经过多次测试,现在把可以正常运行的配置记录下来。安装jdkcd /usr/localsh /mnt/mysql/jdk-6u14-linux-i586.binln -s jdk1.6.0_14/ jdkecho "export JAVA_HOME=/usr/local/jdkexport PATH=$JAVA_HOME/bin:$PATH... 全文

linux apache tomcat 虚拟主机 安装配置

在Puppet中用ERB模板来自动配置Apache虚拟主机

模板文件是在puppet模块下面templates目录中以”.erb”结尾的文件,puppet模板主要用于文件,例如各种服务的配置文件,相同的服务,不同的配置就可以考虑使用模板文件,例如Nginx和Apache的虚拟主机配置就可以考虑采用ERB模板。/etc/puppet/modules/apache/manifests文件内容如下所示:... 全文

apache虚拟主机 puppet erb模板

关于apache虚拟主机htttpd的配置实例 (更新中)

关于apache虚拟主机htttpd的配置实例(更新中)前提:首先使用虚拟主机我们需要关闭取消中心主机#vim/etc/httpd/conf/httpd.conf中查找DocumentRoot加井号注释掉其次我们对虚拟主机相关配置我们可以在此文件的最后编辑或者另新建一文件编辑(我使用的后者)最后要确保httpd的rpm包已经正确安装好了前提工作做好之后,我们就开始进行初步简单的文件配置编辑配置文件:在/etc/httpd/conf.d/下创建一个以*.conf结尾的文件,在这个文件中我们进行配置,#vim/etc/httpd/conf.d/virtual.conf... 全文

虚拟主机 Httpd apache 配置文件

独家:Apache虚拟主机快速搭建攻略(1)

【51CTO.com独家译稿】在单个机器上的虚拟主机通常不只运行一个web站点,虚拟主机可以是基于ip的,也就是说你要为每个web站点配置一个不同的ip地址,虚拟主机也可以是基于名称的,即在每个ip地址上对应着多个域名,你还可以在不同的端口上运行你的web页面,如8080或8090,事实上它们运行在相同的物理服务器上,最终用户察觉不到,本专题描述在OpenSuse 10.2服务器上的配置步骤。... 全文

虚拟主机 Apache 搭建 OpenSuse Linux

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

Apache下域名虚拟主机在个人主页目录上实现过程 实验背景: Contoso目前是提供虚拟主机的公司。xiaonuo公司和dreamfire公司想在Contoso上申请虚拟主机为各自公司提供web服务。要求申请的域名分别为www.xiaonuo.comwww.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.comwww.dreamfire.com/的地址解析记录。或者在Windows系统目录%systemroot%\system32\drivers\etc\hosts中添加地址解析记录即可访问。 本文出自 “www.kisspuppet.com” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/163612... 全文

Apache 域名 虚拟主机 目录 个人主页

apache配置虚拟主机,如果该文件配置错误,可能导致apache无法启动

先简单记录一下,今天配置apache实验,做虚拟主机,配置基于域名的虚拟主机。并在apache的全局配置文件里面开启了httpd-vhosts,也就是去掉了原始的全局配置文件含有"httpd-vhosts"这行前面的#号。之后,发现无法启动apache.启动apache,不管是以直接启动 start还是优雅启动graceful方式,都报错:    httpd is not running,tyring to start查了一番资料,发现可能是虚拟主机配置文件写的有问题导致的。然后,把全局配置文件还原,即关闭虚拟主机(恢复含有"httpd-vhosts"前面的#号),再启动apache,发现可以启动了。... 全文

虚拟主机 错误 无法启动 apahce

菜鸟学Linux之八:LAMP架构之Apache服务器的虚拟主机创建与部署

菜鸟学Linux之八:LAMP架构之Apache服务器的虚拟主机创建与部署项目环境:西安凌云高科技有限公司使用RHEL4系统搭建了Linux服务器,目前DNS服务器、FTP服务器、Samba服务器等以及部署完成了,目前因为公司工作的需要为公司需要搭建一台Apache服务器。在基于Apache服务器的基础上来实现虚拟目录的铺设。 项目目标:能够完成Apache服务的编译安装(在这里我们不演示光盘安装方法),实现虚拟目录的整体铺设。 项目实施:1. Apache服务器的主要特点; 开放的源代码;跨平台的应用;能够支持常用的WEB技术;采用了模块化的设计;Apache服务器运行是非常的稳定;有相对较高的安全性。 2. 安装Apache服务器; 在本次的项目中,我们采用的2.0的版本,当然两个版本各有千秋;具体的情况就不在详细介绍了。 在RHEL4系统默认安装了Apache服务器以及相关的软件;所以我们在编译安装Apache服务的时候我们需要把以前安装的服务器“stop”(当然是为了安装更加的顺利个人意见),但是我们又知道源编译安装的最大特点是“灵活性”所以我们可以根据自己的实际情况来设置,编译软件的安装。 2.1.1.1. 复制编译软件Apache服务软件包;复制之前要保证复制的路径是不是正确;如图2-1所示;    2.1.1.2. 释放源码包文件来释放软件,我们会通过tar来释放编译文件;如图2-2;    2.1.1.3. 当释放文件完成之后我们需要进入释放文件的目录来查看我们释放的软件,然后进入我们释放的文件的目录,来查看我们需要编译的文件。如图2-3所示:    2.1.1.4. 编译前的配置,在Httpd的源代码目录中使用“./configure”命令来完成编译前的配置工作,我们在使用“—prefix”选项指定Apache服务器程序将要安装到系统的目录,一般情况下我们使用“/usr/local/apache2”;而“—enable-so”选项设置Apache服务器可以使用动态加载模块功能。使用“—enable—rewrite”选项设置Apache服务器具有rewrite功能。在编译的时候大约需要一段时间需要我们耐心的等待。如图2-4所示:    2.1.1.5. 完成之后我们需要编译服务器程序,当然该过程是真正的将程序转发为可执行的程序,在转换的过程也需要很长时间;当编译完之后我们需要用“make install”来安转编译的程序;如图2-5所示:    2.1.1.6. 当安装的程序完成之后我们来查看一些具体的信息,当然我们可以进入到根目录,如图2-6所示:    2.1.1.7. 然后我们来启动Apache服务器。如图2-7所示:    2.1.1.8. 如图所示这样就安装完成了,如图2-8是访问Apache的界面;    2.1.1.9. 在实际的应用系统中,Apache服务器需要设置为在Linux服务器上自动的运行,因此我们需要把配置文件需要写入到rc.local中,如图2-9所示:    2.1.1.10. 配置完成之后我们重启服务。    3. 设置虚拟主机; 3.1.1.1. 首先我们要保证DNS服务器能够正常的解析,在我们本次的实例中,DNS服务器已经部署成功。我们要创建虚拟主机首先我们创建虚拟主机所对应的用户,如图3-1是我们创建的虚拟主机Accp的配置文件,首先我们需要创建用户Accp,然后我们需要用户创建Acco的主目录以及配置文件,但是我们一定要设置相应的权限,要保证我们对于虚拟主机能够有读的权限。    3.1.1.2. 如图是我们为Benet来创建的目录,具体的配置和Accp的配置方法一样我们就不做具体的详细配置了。    3.1.1.3. 创建完成用户之后我们需要修改其配置文件,(配置文件位置“/usr/local/apache2/conf/httpd.conf”)默认情况下配置配置文件是禁用的,需要我们来手动的激活配置文件,(图中我们标注出来的是我们需要手动的修改我们需要去掉“#”就可以完成)如图3-3所示:    3.1.1.4. 完成上面的文件修改我们需要在配置文件“/usr/local/apache2/conf/httpd.conf”末尾来添加如下的配置如图3-4所示:    3.1.1.5. 配置完成之后我们来重启Apache服务器,如图3-5所示:    3.1.1.6. 然后我们来访问我们创建的虚拟主机,如图3-6所示:是我们访问虚拟主机的界面。  本文出自 “angerdevil” 博客,请务必保留此出处http://devliangel.blog.51cto.com/469347/171477... 全文

虚拟主机 Linux LAMP Apache 服务器

RHCE心得11——Apache服务心得

环境:RHEL5.3,DNS已经配置好为:www.station53.com     对Apache全面做了说明,简单的web服务器的实现,虚拟主机的实现,个人主页的时间,主页加密验证的实现,都有详细介绍。一、Apache服务总览: 1、所需要的软件包:httpd   httpd-devel   httpd-manual 2、端口:80(http)  443(https) 3、主配置文件:/etc/httpd/* 4、默认主页目录:/var/www/html 5、与Apache服务相关的Selinux环境: 1)system_u:object-r:httpd_config_t  /etc/httpd/conf和/etc/httpd/conf.d 下的文件 2)system_u:object_r:httpd_log_t  /etc/httpd/logs中的日志文件。 3)system_u:object_r:httpd_modules_t  httpd服务使用的相关模块 4)网页内容及网页目录的环境:  System_u:object_r:httpd_sys_content_t:如果不是这个页面将无法访问。  另:对于目录,Other组要有访问和可执行权限。  设置Selinux环境:  Chcon -R —reference=/var/www/html   /var/www/html/data  Restorecon -R /var/www/html  建议网站目录都放到/var/www/html防止因为Selinux造成问题。二、Apache配置文件的简单实现:1、 相关配置文件修改:/etc/httpd/conf/httpd.conf1)、ServerRoot”/etc/httpd” 默认配置文件的存放目录; 2)、Timeout 120 客户端访问超时时间120秒; 3)、Listen 80  监听80端口; 4)、ServerAdmin root@rhel.com  设置管理员邮箱; 5)、ServerName www.station53.com服务器主机名,可以使DNS域名,也可以是IP地址; 6)、DocumentRoot /var/www/html  网页默认存放目录; 7)、DirectoryIndex index.html  index.htm  设置主页文件的名字; 2、建立主页文件: 在/var/www/html目录建立主页文件index.html并写上写内容。 3、启动相关服务: chkconfig httpd on service httpd restart 4、测试自己的服务器:三、用户个人主页的实现: 通过配置使我们每个用户都有一个主页可以通过http://www.station53.com/~Username访问的主页。主配置文件的修改:-----------------------------------------------------<IfModule mod_userdir.c>    #    # UserDir is disabled by default since it can confirm the presence    # of a username on the system (depending on home directory    # permissions).    #UserDir disable //默认是开启的,禁用掉就可以实现个人网站了。    # To enable requests to /~user/ to serve the user's public_html    # directory, remove the "UserDir disable" line above, and uncomment    # the following line instead:    #    UserDir public_html //个人网站存放目录/home/Username/public_html</IfModule><Directory /home/*/public_html>    AllowOverride FileInfo AuthConfig Limit    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec    <Limit GET POST OPTIONS>        Order allow,deny  //allow,deny规则,先判断allow,后判断deny,冲突时,后面的有效;        Allow from all   //没有任何限制#   Deny from 192.168.1 //上下冲突,这个时候deny起作用,除了192.168.1网段的外其他的都可以访问你    </Limit>#    <LimitExcept GET POST OPTIONS>#        Order deny,allow#        Deny from all#    </LimitExcept></Directory>----------------------------------------------------------------------备注:1) 目录权限设置:----------------------------------------------------------------------<Directory /home/*/public_html>    AllowOverride FileInfo AuthConfig LimitOptions MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExecOrder allow,denyAllow from all</Directory>-------------------------------------------------------------------AllowOverride:用于定义位于每个目录下的.htaccess(访问控制)文件中的指令类型。如果要禁用的话:AllowOverride None。Options MultiViews:定义目录使用那些特性。 Indexes:允许目录浏览,但没有指定访问目录下的那个文件,而其目录下不存在默认文档时Apache以超文本形式返回目录中的文件和子目录列表。 MulitiViews:允许内容协商的多重试图。当访问http://127.0.0.1/icons/a时,服务会查找目录下的所有a.*的文件,如果目录下有就会显示这个文件,而不是报错信息。 All:包含了除MulitiViews之外的所有特性,如果没有Options语句默认为All。 ExecCGI:允许执行CGI脚本。 FollowSymLinks:在该目录中可以使用符号链接。 Includes:允许服务端包含功能。 IncludesNoExec:允许服务端包含功能但不允许执行CGI脚本。 2)缺省访问权限和allow、deny顺序:  allow,deny规则,先判断allow,后判断deny,冲突时,后面的有效;例子如下:---------------------------------------------------------------------Order deny,allowallow from alldeny from 192.168.0.250#全部都可以通行  Order allow,denydeny from hacker.comdeny from 192.168.0.250#只hecker.com和192.168.0.250不能访问  Order deny,allowallow from 192.168.0/24#允许所有主机访问  Order allow,denyallow from 192.168.0/24#只有192.168.0/24网段可以访问-------------------------------------------------------2)个人网站主目录的设置及文件的建立: 在个人目录/home/username目录下创建public_html目录。 建立自己的主页,然后在浏览器输入“http://URL/~username”即可, 备注:注意public_html目录和里面的文件的Selinux环境参数,如果有问题请按照上面讲的调整。四、虚拟主机的设置: (默认已经设计好www.station53.com  下面我们在开通www.server53.comwww.client53.com 1、配置DNS: 1)编辑/var/namde/chroot/etc/named.conf,编辑好文件如下:----------------------------------------------------------------------------------……前面省略zone "server53.com" IN {        type master;        file "server53.com.zone";};zone "client53.com" IN {        type master;        file "client53.com.zone";后面省略……   //红色为新加内容,分别用于解释server53.com和client53.com两个域名。------------------------------------------------------------------------------------2)在/var/named/chroot/var/named生成:server53.com.zone和client53.com.zone两个文件:------------------------------------------------------------------------------------[root@station1 named]# cp station53.com.zone server53.com.zone[root@station1 named]# cp station53.com.zone client53.com.zone----------------------------------------------------------------------------------3)修改权限及文件内容:-----------------------------------------------------------------------------[root@station1 named]# chgrp named server53.com.zone[root@station1 named]# chgrp named client53.com.zone[root@station1 named]# vim client53.com.zone$TTL    86400@               IN SOA  ns.client53.com.       root (                                        42              ; serial (d. adams)                                        3H              ; refresh                                        15M             ; retry                                        1W              ; expiry                                        1D )            ; minimum                IN NS           ns.client53.com.                IN NS           www.client53.com.                IN MX   5       mail.client53.com.ns              IN A            192.168.0.253www           IN A            192.168.0.253mail            IN A            192.168.0.253//我做的解析比较多大家可以只做个www就可以。------------------------------------------------------------------------------------4)在/var/named目录下建立server53.com.zone、client53.com.zone的连接文件,并调整好权限:------------------------------------------------------------------------------------[root@station1 named]# ln -s chroot/var/named/server53.com.zone .[root@station1 named]# ln -s chroot/var/named/client53.com.zone .[root@station1 named]# chgrp named server53.com.zone[root@station1 named]# chgrp named client53.com.zone--------------------------------------------------------------------------------------5)重新启动DNS服务并测试新建立的域名。 2、编辑/etc/httpd/conf/httpd.conf文件:-----------------------------------------------------------------------NameVirtualHost *:80<VirtualHost *:80>#    ServerAdmin webmaster@dummy-host.example.com    DocumentRoot /var/www/html/server53    ServerName www.server53.com#    ErrorLog logs/dummy-host.example.com-error_log#    CustomLog logs/dummy-host.example.com-access_log common</VirtualHost><VirtualHost *:80>    DocumentRoot /var/www/html/client53    ServerName www.client53.com</VirtualHost>----------------------------------------------------------------------------3、重新启动Apache服务,测试设置是否满足要求: 1)在/var/www/html目录下分别建立server53 和 client53两个目录,并添加主页文件,处理其相关的Selinux环境设置。 2)重新启动Apache服务测试: ??什么www.station53.comwww.server53.com显示的一样? 所以我们要继续修改/etc/httpd/conf/httpd.conf,添加如下段内容:---------------------------------------------------------------------------------------<VirtualHost *:80>    DocumentRoot /var/www/html/station53    ServerName www.station53.com</VirtualHost>---------------------------------------------------------------------------------------在/var/www/html目录下建立station53目录,并建立主页文件处理selinux环境。一旦打开虚拟主机功能,那么每个域名都要在虚拟主机项目相应的位置添加与之对应的项目,否则默认访问第一个虚拟主机的设置。 通过了?OK!!!五、主页的用户认证的设置:(以redhat的个人目录为例!) 1、配置httpd.conf文件,使目标目录支持认证: 目标目录在httpd.conf中要有AllowOverride AuthConfig 项,默认开启用户个人主页后,用户个人目录支持这个设置。---------------------------------------------------------------------------<Directory /home/*/public_html>  //用户家目录,也可以针对某个目录单独做个<Directory>……</Directory>说明项目。    AllowOverride FileInfo AuthConfig Limit  //默认就有这个支持。    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec    <Limit GET POST OPTIONS>        Order allow,deny          Allow from all     </Limit>#    <LimitExcept GET POST OPTIONS>#        Order deny,allow#        Deny from all#    </LimitExcept></Directory>-------------------------------------------------------------------------2、建立.htaccess文件,建立在站点目录下,这里就是/home/redhat/public_html目录下。-------------------------------------------------------------[root@station1 ~]# vim /home/redhat/public_html/.htaccessAuthType Basic               //密码测试方式;AuthName "密码测试"   //弹出的密码检测框里的内容;AuthUserFile /home/redhat/public_html/.passwords  //密码文件的存放位置;Require user redhat   //可以允许密码文件中的所有用户使用正确的密码进行访问。-----------------------------------------------------------------3、建立.passwords文件:--------------------------------------------------------------[root@station1 ~]# htpasswd -c /home/redhat/public_html/.passwords redhatNew password:Re-type new password:Updating password for user redhat--------------------------------------------------------------4、测试效果: 肯定OK,注意不要写错,我在配置.htaccess的时候密码文件放置位置的名字写错了,一直在验证密码,怎么都跳不过去,呵呵。注意这两个文件都是隐藏文件名字前面带点。 如果DNS部分配置有问题,请查看Blog中关于DNS部分的心得。本文出自 “努力学习,天天向上” 博客,请务必保留此出处http://iminmin.blog.51cto.com/689308/192805... 全文

Apache虚拟主机 Apache 休闲 Apache认证 Apache个人主页

源码包搭建apache(2.4.x)

                                        apache(源码包安装)apache的安装  (用脚本安装下面有脚本安装的方法)最新版本的就是变态,本来你安装了apr和apr-util包了,但就是预编译配置通不过,那就直接上源码包。安装前的准备:yum -y install gcc yum -y install gcc-c++yum -y install openssl-devel以为安装这些了就可以了,编译的时候出现error,基本我属于那种有警告不管,但是尼玛出现error了,木有办法了,那只有解决了。[root@localhost /]# rpm -qa | grep aprapr-util-ldap-1.3.9-3.el6.i686apr-1.3.9-3.el6.i686apr-util-1.3.9-3.el6.i686这几个是搭建apache必须安装的,系统显示已经安装了相应的rpm包了。但是你去编译apache的时候还是可能出现错误,那不管了,直接上源码包 error1:configure: error: APR not found. Please read the documentation. 解决error1:tar zxvf apr-1.4.2.tar.gz -C /usr/src/      cd /usr/src/apr-1.4.2  ./configure --prefix=/usr/local/apr  make && make install error2:configure: error: APR-util not found. Please read the documentation 解决error2:cd /tar zxvf apr-util-1.3.10.tar.gz -C /usr/src/   cd  /usr/src/apr-util-1.3.10  ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config  make && make install error3:configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/ 解决error3:tar zxvf pcre-8.11.tar.gz -C /usr/src/    cd /usr/src/pcre-8.11   ./configure --prefix=/usr/local/pcre   make && make install 最后这些都解决完了,尼玛终于没有错误了!!!!我感动啊!!tar zxvf httpd-2.4.3.tar.gz -C /usr/src/    cd /usr/src/httpd-2.4.3  ./configure --prefix=/usr/local/apache2  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/lib--enable-auth-digest --enable-cgi --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/usr/local/apache2/htdocs make && make install apache搭建完成后装完成后,了解apache服务器相关的主要目录和文件/usr/local/apache2/bin/           (httpd服务器包含的执行程序)/usr/local/apache2/conf/          (httpd服务器包含的配置文件) /usr/local/apache2/htdocs/        (httpd服务器存放的网页文件的根目录)/usr/local/apache2/logs/          (存放访问httpd服务器的日志)/usr/local/apache2/man/           (httpd服务器的帮助手册) /usr/local/apache2/modules/       (存放提供给httpd服务器动态加载的模块文件) 开启搭建好的服务开启服务的命令/usr/local/apache2/bin/apachectl start    (开启服务)/usr/local/apache2/bin/apachectl stop     (关闭服务)/usr/local/apache2/bin/apachectl restart  (重启服务)/usr/local/apache2/bin/apachectl -t       (检查配置文件是否出错) echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local (服务器开机之后自动开启服务) [root@localhost apache2]# /usr/local/apache2/bin/apachectl start(源码包安装需要这样才能开启服务)AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this messagehttpd (pid 902) already running    显示已经开启了,会出现命令的提示,解决这个问题 查看配置文件 vim /usr/local/apache2/conf/httpd.conf ###添加这句(直接copy)ServerName 192.168.4.184:80 ###保存退出ServerName 192.168.4.184:80 (有域名就写域名ServerName www.abc.com:80)在重启服务就不会提示上面的信息了。 [root@localhost apache2]# /usr/local/apache2/bin/apachectl start (这次开启的时候发现什么都木有)但是服务已经开启了!!查看一下httpd的端口状态和进程状态[root@localhost apache2]# netstat -pant | grep httpdtcp        0      0 :::80                   :::*                  LISTEN      1524/httpd          [root@localhost apache2]# ps aux | grep httpdroot      1524  0.0  0.4   5272  2372 ?        Ss   02:39   0:00 /usr/local/apache2/bin/httpd -k startdaemon    1525  0.0  0.4 283004  2116 ?        Sl   02:39   0:00 /usr/local/apache2/bin/httpd -k startdaemon    1526  0.0  0.4 283004  2120 ?        Sl   02:39   0:00 /usr/local/apache2/bin/httpd -k startdaemon    1527  0.0  0.4 283004  2120 ?        Sl   02:39   0:00 /usr/local/apache2/bin/httpd -k startroot      1706  0.0  0.1   4312   728 pts/1    S+   02:41   0:00 grep httpd(要杀死进程 killall -9 1524 1525 1526 1527) 每次开启服务都要这样敲入这么长的命令/usr/local/apache2/bin/apachectl start很麻烦能不能直接向rpm包安装apache一样用service httpd start这样启动呢?先rpm -qa | grep httpd确保系统木有rpm包安装的httpd,有就用yum -y remove httpd删除然后cp /usr/src/httpd-2.4.3/build/rpm/httpd.init /etc/init.d/httpd  把httpd.init(文件路径一定要正确)文件copy到服务启动脚本目录下面并改名为httpd先修改脚本启动配置文件vim /etc/init.d/httpd  ########修改一些内容prog=$(basename $0 | sed -e 's/^[SK][0-9][0-9]//')if [ -f /etc/sysconfig/${prog} ]; then        . /etc/sysconfig/${prog}fihttpd=${HTTPD-/usr/local/apache2/bin/httpd}prog=httpdpidfile=${PIDFILE-/usr/local/apache2/${prog}.pid}lockfile=${LOCKFILE-/var/lock/subsys/${prog}}RETVAL=0check13 () {        CONFFILE=/usr/local/apache2/conf/httpd.conf  ########保存退出 然后在修改apache的配置文件vim /usr/local/apache2/conf/httpd.conf ###添加这句pidfile  "/usr/local/apache2/httpd.pid"###然后保存退出配置文件  在试试service httpd start|stop|restart[root@localhost init.d]# service httpd startStarting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80no listening sockets available, shutting downUnable to open logs                                                           [FAILED][root@localhost init.d]# service httpd stopStopping httpd:                                            [FAILED]发现还是出现这样的错误,别急,在来小小的修改一下[root@localhost rpm]# ps aux | grep httpdroot     20462  0.0  0.4   8204  2080 ?        Ss   19:59   0:00 /usr/local/apache2/bin/httpddaemon   20464  0.0  0.3   8340  1568 ?        S    19:59   0:00 /usr/local/apache2/bin/httpddaemon   20465  0.0  0.3   8340  1568 ?        S    19:59   0:00 /usr/local/apache2/bin/httpddaemon   20466  0.0  0.3   8340  1568 ?        S    19:59   0:00 /usr/local/apache2/bin/httpddaemon   20467  0.0  0.3   8340  1568 ?        S    19:59   0:00 /usr/local/apache2/bin/httpddaemon   20468  0.0  0.3   8340  1568 ?        S    19:59   0:00 /usr/local/apache2/bin/httpdroot     20862  0.0  0.6  10912  3308 pts/2    S+   21:09   0:00 vim httpdroot     20986  0.0  0.1   4308   732 pts/3    S+   21:37   0:00 grep httpd[root@localhost rpm]# kill -9 20462 20464 20465 20466 20467 20468(杀死这些进程)然后在试试service httpd start|stop|restart,行则ok,不行,那就在检查检查上面的配置文件[root@localhost rpm]# service httpd startStarting httpd:                                            [  OK  ] [root@localhost rpm]# service httpd restartStopping httpd:                                            [  OK  ]Starting httpd:                                            [  OK  ][root@localhost rpm]#  有人说何必这么费劲也可以这样cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd  #复制为系统服务vim /etc/init.d/httpd    #编辑此服务,将前三行修改为#!/bin/bash# chkconfig: 35 85 15#description:Apache httpdservice httpd start但是这样敲了之后,这个命令不会出现Starting httpd:    [  OK  ] ,不信你可以试试,这样就还需要查看是否开启了没有netstat -pant | grep 80 有80就开启了确保开机服务器自动启动chkconfig --add httpdchkconfig --level 35 httpd on 每次打开配置文件的时候都有很多无用的#######为便于查看可以用这个命令清楚不需要的东西######   cp http.conf http.conf.bak(先进行备份) grep -v "#" httpd.conf.bak | grep -v "^$" > httpd.confgrep -v "#" 去掉#号grep -v "^$" 去掉空格##############常用的全局配置参数######################Serverroot: 用于设置httpd服务器的根目录Listen: 设置apache用于监听的端口号,默认为80User: 设置运行httpd进程的用户身份Group: 设置运行httpd进程的组身份Serveradmin: 设置服务器管理员的e-mail地址Servername: 设置服务器的完整主机名Documentroot: 设置网页文档根目录Directoryindex: 设置网站的默认首页格式Errorlog: 错误日志的路径和文件名LogLevel:记录日志的级别,默认为warnCustomlog: 访问日志的路径和格式类型Pidfile: 保存服务器程序进程号(pid)的文件,默认为logs/httpd.pidTimeout: web服务器与浏览器之间网络连接的超时秒数,默认为300秒Keepalive: 是否使用保持连接功能:off on Maxkeepaliverequests: 客户端每次连接允许请求的最大文件数,默认为100个。当keepalive设置为on时才生效Keepalivetimeout: 保持连接的超时秒数,默认为15秒Include: 用于包含另一个配置文件的内容###################apache的相关操作####################################1.虚拟目录先修改配置文件vim /usr/local/apache2/conf/httpd.conf###在<IfModule alias_module>模块中添加一句,然后在</IfModule>下面添加几句</Directory ><IfModule alias_module>     Alias    /test         "/data/web"      </IfModule><Directory "/data/web">    AllowOverride None    Options None    Require all granted</Directory> #######</Directory>里面写的东西配置文件里面是有模板的copy之后改动一点就ok了然后保存退出 然后要新建那个虚拟目录mkdir -p /data/web   /data目录可以是挂载到linux系统中的,所以这个目录就看你硬盘多大了在新建的目录里面 vim index.html里面随便写一点东东就ok了然后重启httpd服务器访问的时候 http://ip/test(记住这里一定不要敲/直接回车)  2.虚拟主机  a)同ip同域名不同端口vim /usr/local/apache2/conf/httpd.conf 修改配置文件 ####添加这些Listen 8001Listen 8002<VirtualHost 172.16.1.1:8001>ServerAdmin  webmaster@dummy-host.example.comDocumentRoot  /data/web/test1ServerName    www.test.comErrorLog      /data/web/log/test1.err.logCustomLog     /data/web/log/test1.acc.log common</VirtualHost><VirtualHost 172.16.1.1:8002>ServerAdmin  webmaster@dummy-host.example.comDocumentRoot  /data/web/test2ServerName    www.test.comErrorLog       /data/web/log/test2.err.logCustomLog      /data/web/log/test2.acc.log  common</VirtualHost>#####保存退出 参数的解释:ServerAdmin webmaster@dummy-host.example.com      (这个可以随便写,这个是管理员的邮箱地址)DocumentRoot /data/web/test1     (这个是存放网页文件的目录)ServerName www.test.com               (这个是写域名的,有自己的域名,就写自己的域名,没有域名随便写了也不要紧,因为我们用ip访问)CustomLog  data/web/log/test1.acc.log common   (用于设置httpd服务器访问日志文件的路径和格式类型,这个文件里面写入这你登录的记录)ErrorLog     /data/web/log/test1.err.log   (用于设置错误日志文件的路径和文件名(如果你设置了,那这个目录和文件必须存在,木有就新建)这个文件写入的是,你登录错误的记录) 新建配置文件里面指定的虚拟主机目录,因为没有,那就要新建cd /data/web/                                                  (切换目录,在这个目录里面去新建)mkdir test1 test2 log                          (新建两个存放网页目录的文件和一个存放日志的文件)cd log/                                                        (切换到日志的目录文件中)touch test1.err.log test1.acc.log  test2.err.log test2.acc.log (新建四个日志文件)vim /data/web/test1/index.html                                 (编辑两个网页文件便于测试)    this is test1 pagevim /data/web/test2/index.html      this is test2 page  访问测试 http://ip:8001 (看见this is test1 page  就ok了)         http://ip:8002  (看见this is test2 page  就ok了) b)同ip不同域名同端口  vim /usr/local/apache2/conf/httpd.conf 修改配置文件 ####添加这些:wq<VirtualHost 172.16.1.1:80>ServerAdmin  webmaster@dummy-host.example.comDocumentRoot  /data/web/test1ServerName    www.test1.comErrorLog      /data/web/log/test1.err.logCustomLog     /data/web/log/test1.acc.log common</VirtualHost><VirtualHost 172.16.1.1:80>ServerAdmin  webmaster@dummy-host.example.comDocumentRoot  /data/web/test2ServerName    www.test2.comErrorLog       /data/web/log/test2.err.logCustomLog      /data/web/log/test2.acc.log  common</VirtualHost>#####保存退出重启服务 如果临时的不能搭建dns,可以用host文件代替vim /etc/hosts172.16.1.1   www.test1.com172.16.1.1  www.test2.com   (!!!还是要新建配置文件里面指定的虚拟主机目录!!!)访问测试 http://www.test1.com (看见this is test1 page  就ok了)         http://www.test2.com  (看见this is test2 page  就ok了)c)不同ip同域名同端口 vim /usr/local/apache2/conf/httpd.conf 修改配置文件 ####添加这些<VirtualHost 172.16.1.10:80>ServerAdmin  webmaster@dummy-host.example.comDocumentRoot  /data/web/test1ServerName    www.test.comErrorLog      /data/web/log/test1.err.logCustomLog     /data/web/log/test1.acc.log common</VirtualHost><VirtualHost 172.16.1.20:80>ServerAdmin  webmaster@dummy-host.example.comDocumentRoot  /data/web/test2ServerName    www.test.comErrorLog       /data/web/log/test2.err.logCustomLog      /data/web/log/test2.acc.log  common</VirtualHost>#####保存退出重启服务模拟ip出来ifconfig eth0:0 172.16.1.10 upifconfig eth0:1 172.16.1.20 up 访问测试 http://172.16.1.10 (看见this is test1 page  就ok了)         http://172.16.1.20 (看见this is test2 page  就ok了) 3.系统用户的个人主页a)修改配置文件vim /usr/local/apache2/conf/httpd.conf  ####把配置文件中的这两句前面的#去掉LoadModule userdir_module modules/mod_userdir.soInclude conf/extra/httpd-userdir.conf  #####保存退出,这里就采用默认的路径b)新建用户给出密码#################################useradd liuseradd liuhpasswd li(li)passwd liu(liu)#################################c)在li和liu用户的宿主目录中新建文件cd /home/limkdir public_htmlcd public_htmlvim index.html(为li用户新建自己的主页)cd /home/liumkdir public_htmlcd public_htmlvim index.html(为liu用户新建自己的主页)chmod o+x /home/li* (为宿主目录中的用户修改权限)d)重启服务#################访问浏览器##################http://ip/~li/  (其中li为用户名)###############################################  4.做授权认证修改配置文件vim /usr/local/apache2/conf/httpd.conf #####添加这几句(用了一个虚拟目录)     Alias  /test     "/data/web"<Directory "/data/web">    Options Indexes MultiViews FollowSymLinks    AllowOverride All    AuthType basic    AuthName "welcome test"    AuthUserFile /usr/local/apache2/conf/httppwd    Require user liu</Directory>####保存退出 建立网页目录和文件mkdir -p /data/webvim /data/web/index.html 建立存储认证用户账号及口令的文件/usr/local/apache2/bin/htpasswd -c /usr/local/apache2/conf/httppwd liuNew password: Re-type new password:  (添加第二个,或者多个的时候都不需要-c了)/usr/local/apache2/conf/httppwd 这个就是AuthUserFile认证用户文件的路径文件) 然后重启服务 访问 http://ip/test  输入用户名和密码 组的认证 修改配置文件vim /usr/local/apache2/conf/httpd.conf #####添加这几句(用了一个虚拟目录)     Alias  /test     "/data/web"<Directory "/data/web">    Options Indexes MultiViews FollowSymLinks    AllowOverride All    AuthType basic    AuthName "welcome test"    AuthUserFile /usr/local/apache2/conf/httppwd    AuthGroupFile /usr/local/apache2/conf/httpgrp    Require group admin</Directory>####保存退出 建立组认证的文件vim /usr/local/apache2/conf/httpgrp ###添加组里面的成员admin:test jie(需要加入直接玩后面添加)####然后保存退出 用户密码和之前建立的一样 然后重启服务  #######apache配置文件的一些其它参数####### User home directories#Include conf/extra/httpd-userdir.conf  (把这个#号去掉就可以做个人主页网址)         这个可以自己写路径,建议路径的目录最好在conf目录下#LoadModule userdir_module modules/mod_userdir.so (这个# 号是随着上面的一起的,这个就是userdir的模块,这句也在配置文件中,可以找到) # Virtual hosts#Include conf/extra/httpd-vhosts.conf这句是做虚拟主机#########建议主配置文件内容越少越好###### $$$$$$$$$$$额外的补充$$$$$$$$$$$$$$$$$$$禁止使用IP直接访问apache1. 新建立一个默认主机,即出现在所有<VirtualHost *:80>最重要的 <VirtualHost *:80>  ServerName x.x.x  DocumentRoot /var/www/error  RewriteEngine On  RewriteRule   ^.*  /400.php</VirtualHost> 2. 编辑文件/var/www/error/400.php, 输出以下代码:<?phpheader("HTTP/1.1 400 Bad Request");  ?><h1>Bad Request</h1> 如此,即可实现禁止直接用ip访问apache。 解释一下上面的原理:1. 将对默认主机的所有请求重写向到/var/www/error/400.php2.   利用php程序输出400状态。 不足之处,apache服务器必须安装php解析模块。$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                       $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$参考脚本$$$$$$$$$$$$$$$$$$$$$运行脚本提示:   这个是一个脚本,运行这个脚本能够一次性成功安装完源码包搭建的apache,此脚本只供方便,我执行这个脚本是已经成功安装几遍了,此脚本运行成功,先要搭建好yum(如何搭建yum这里不在此介绍了),然后解压好所需的源码包。解压没有先后顺序,但是安装的时候有先后顺序。tar zxvf httpd-2.4.3.tar.gz -C /usr/src/tar zxvf apr-1.4.2.tar.gz -C /usr/src/tar zxvf apr-util-1.3.10.tar.gz -C /usr/src/tar zxvf pcre-8.11.tar.gz -C /usr/src/然后在/usr/src/目录下面vim 一个文件eg:vim httpd.sh然后把下面的copy到httpd.sh里面保存退出在给httpd.sh添加可执行的权限chmod +x /usr/src/httpd.sh然后在执行脚本 /usr/src/httpd.sh以下所有都是需要复制的内容(从#bin/bash都开始复制) #bin/bashecho "####first,use yum install this rpm####"yum -y install gcc yum -y install gcc-c++yum -y install openssl-develecho "###second,install httpd the dependencies###"echo "#####welcome to apr install#####"cd /usr/src/apr-1.4.2./configure --prefix=/usr/local/apr && make && make installecho "#####apr is installed#####" echo "#####welcome to apr-util install#####"cd  /usr/src/apr-util-1.3.10./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config && make && make installecho "#####apr-util is installed#####" echo "#####welcome to pcre install#####"cd /usr/src/pcre-8.11./configure --prefix=/usr/local/pcre && make && make installecho "#####prce is installed#####" echo "###now,install httpd###"echo "#####welcome to httpd install######"cd /usr/src/httpd-2.4.3./configure --prefix=/usr/local/apache2  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/lib--enable-auth-digest --enable-cgi --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/usr/local/apache2/htdocs && make && make installecho "#####httpd is installed#####"echo "####please check httpd is ok,if no error above before,please start httpd #####" 本文出自 “技术之路---桀” 博客,请务必保留此出处http://litaotao.blog.51cto.com/6224470/1186912... 全文

apache源码包 虚拟目录 虚拟主机 个人网页

关于apache虚拟主机深入配置实例

上一篇我们详细演示了httpd虚拟主机下的简单的配置,今天将对其配置将进一步的深入演示(在之前的配置的基础上进行用户认证等的配置实例)--------目的对与b.org的访问,拒绝192.168.1.100这个地址访问------预期目标:192.168.1.100被拒绝访问www.b.org,其他主机可正常访问(这里我们拒绝的是拒绝本地地址访问来验证)进入配置文件进行相应的编辑配置#vim/etc/httpd/conf.d/virtual.conf... 全文

虚拟主机 service 配置文件 认证 信息

1 2