技术改变世界 阅读塑造人生! - 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.

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下域名虚拟主机在个人主页目录上实现过程

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 域名 虚拟主机 目录 个人主页

1