香港虚拟主机
本站公告
新闻资讯
虚拟主机帮助
域名帮助
服务器帮助
邮箱帮助
建站帮助
网站推广帮助
VPS帮助
特色主机帮助
网站备案专题
会员帮助信息
代理帮助信息
成功案例
我司获香港虚拟主机排行榜十…
香港虚拟主机金秋促销活动正…
百度整治给SEO带来了新的希望
百度同时收录网站带WWW和不带…
百度对原创内容的判断标准 如…
如何建设网站 网站建设三步曲
如何挑选老域名 老域名有那些…
域名常见故障与分析
虚拟主机基本参数介绍
交换链接的技巧 谈一下选择交…
您现在的位置: 江南数联 >> 帮助中心 >> 虚拟主机帮助 >> 正文

详解Apache服务以及httpd.conf配置一Apache服务架设

  作者:admin    来源:本站原创    点击次数:29     更新时间:2012-9-11 7:07:11  
     
 
关注石头有礼
 
 

详解Apache服务以及httpd.conf配置一Apache服务架设


Apache服务架设
  一、Apache服务总览:
  1、所需要的软件包:httpd httpd-devel httpd-manual
  2、端口:80(http) 443(https)
  3、主配置文件:/etc/httpd/* 、/var/www/*
  4、默认主页目录:/var/www/html
  5、脚本: /etc/init.d/httpd
  6、守护进程:/usr/sbin/httpd
  7、与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.conf
  1)、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访问的主页。
  1、 主配置文件的修改:
  备注:
  1) 目录权限设置:
  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,冲突时,后面的有效;
  例子如下:
  2)个人网站主目录的设置及文件的建立:
  在个人目录/home/username目录下创建public_html目录。
  建立自己的主页,然后在浏览器输入“http://URL/~username”即可,
  备注:注意public_html目录和里面的文件的Selinux环境参数,如果有问题请按照上面讲的调整。
  四、虚拟主机的设置:
  www.station53.com 下面我们在开通www.server53.com(默认已经设计好 和www.client53.com
  1、配置DNS:
  1)编辑/var/namde/chroot/etc/named.conf,编辑好文件如下:
  2)在/var/named/chroot/var/named生成:server53.com.zone和client53.com.zone两个文件:
  3)修改权限及文件内容:
  4)在/var/named目录下建立server53.com.zone、client53.com.zone的连接文件,并调整好权限:
  5)重新启动DNS服务并测试新建立的域名。
  2、编辑/etc/httpd/conf/httpd.conf文件:
  3、重新启动Apache服务,测试设置是否满足要求:
  1)在/var/www/html目录下分别建立server53 和 client53两个目录,并添加主页文件,处理其相关的Selinux环境设置。
  2)重新启动Apache服务测试:
  ??什么www.station53.comwww.server53.com显示的一样?
  所以我们要继续修改/etc/httpd/conf/httpd.conf,添加如下段内容:
  在/var/www/html目录下建立station53目录,并建立主页文件处理selinux环境。
  一旦打开虚拟主机功能,那么每个域名都要在虚拟主机项目相应的位置添加与之对应的项目,否则默认访问第一个虚拟主机的设置。
  通过了?OK!!!
  五、主页的用户认证的设置:(以redhat的个人目录为例!)
  1、配置httpd.conf文件,使目标目录支持认证:
  目标目录在httpd.conf中要有AllowOverride AuthConfig 项,默认开启用户个人主页后,用户个人目录支持这个设置。
  2、建立.htaccess文件,建立在站点目录下,这里就是/home/redhat/public_html目录下。
  3、建立.passwords文件:
  4、测试效果:
  肯定OK,注意不要写错,我在配置.htaccess的时候密码文件放置位置的名字写错了,一直在验证密码,怎么都跳不过去,呵呵。注意这两个文件都是隐藏文件名字前面带点。
  Apache 的 httpd.conf 详解
  Apache语法检查工具
  service httpd configtest
  apachectl configtest
  httpd -t
  ServerRoot /usr/local ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么
  真实路径就位于这个ServerR oot定义的路径之下。
  ScoreBoardFile /var/run/ht
  ServerRoot “/usr/local“
  ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下。
  ScoreBoardFile /var/run/httpd.scoreboard
  httpd使用ScoreBoardFile来维护进程的内部数据,因此通常不需要改变这个参数,除非管理员想在一台计算机上运行几个Apache服务器,这时每个Apache服务器都需要独立的设置文
  件htt pd.conf,并使用不同的ScoreBoardFile。
  #ResourceConfig conf/srm.conf
  #AccessConfig conf/access.conf
  这两个参数ResourceConfig和AccessConfig,就用于和使用srm.conf和access.conf设置文件的老版本Apache兼容。如果没有兼容的需要,可以将对应的设置文件指定为/dev/null,这将表示不存在其他设置文件,而仅使用httpd.conf一个文件来保存所有的设置选项。
  PidFile /var/run/httpd.pid
  PidFile指定的文件将记录httpd守护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它为其他进程的父进程,对这个进程发送信号将影响所有的httpd进程。PidFILE定义的文件中就记录httpd父进程的进程号。
  Timeout 300
  Timeout定义客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将
  断开与客户机的连接。
  KeepAlive On
  在HTTP 1.0中,一次连接只能作传输一次HTTP请求,而KeepAlive参数用于支持HTTP 1.1版本的一次连接、多次传输功能,这样就可以在一次连接中传递多个HTTP请求。虽然只有较
  新的浏览器才支持这个功能,但还是打开使用这个选项。
  MaxKeepAliveRequests 100
  MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大请求次数。将其值设为0将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面
  ,通常达不到这个上限就完成连接了。
  KeepAliveTimeout 15
  KeepAliveTimeout测试一次连接中的多次请求传输之间的时间,如果服务器已经完成了一次请求,但一直没有接收到客户程序的下一次请求,在间隔超过了这个参数设置的值之后,服
  务器就断开连接。
  ThreadsPerChild 50
  设置服务器使用进程的数目。
  # 这是以服务器的响应速度为准的, 数目太大则会变慢
  MaxRequestsPerChild 30
  使用子进程的方式提供服务的Web服务,常用的方式是一个子进程为一次连接服务,这样造成的问题就是每次连接都需要生成、退出子进程的系统操作,使得这些额外的处理过程占据
  了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务,这样就不需要这些生成、退出进程的系统消耗,Apache就采用了这样的方式,一次连接结束后,子进程并不
  退出,而是停留在系统中等待下一次服务请求,这样就极大的提高了性能。但由于在处理过程中子进程要不断的申请和释放内存,次数多了就会造成一些内存垃圾,就会影响系统的稳定性,并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后,就可以让这个子进程副本退出,再从原始的htt pd进程中重新复制一个干净的副本,这样就能提高系统的稳定性。这样,每个子进程处理服务请求次数由MaxRe questPerChild定义。 缺省的设置值为30,为了安全,设置为零
  #Listen 3000
  #Listen 12.34.56.78:80
  #BindAddress *
  Listen参数可以指定服务器除了监视标准的80端口之外,还监视其他端口的HTTP请求。
  由于linux系统可以同时拥有多个IP地址,因此也可以指定服务器只听取对某个BindAddress< /B>的IP地址的HTTP请求。如果没有配置这一项,则服务器会回应对所有IP的请求。
  即使使用了BindAddress参数,使得服务器只回应对一个IP地址的请求,但是通过使用扩展的Listen参数,仍然可以让HTTP守护进程回应对其他IP地址的请求。此时Listen参数的用法
  与上面的第二个例子相同。这种比较复杂的用法主要用于设置虚拟主机。此后可以用VirtualHost参数定义对不同IP的虚拟主机,然而这种用法是较早的HTTP 1.0标准中设置虚拟主机的方法,每针对一个虚拟主机就需要一个IP地址,实际上用处并不大。在HTTP 1.1中,增加了对单IP地址多域名的虚拟主机的支持,使得虚拟主机的设置具备更大的意义。
  #ExtendedStatus On
  Apache服务器可以通过特殊的HTTP请求,来报告自身的运行状态,打开这个ExtendedStatus 参数可以让服务器报告更全面的运行状态信息
  ServerAdmin you@your.address
  配置文件中应该改变的也许只有ServerAdmin, 这一项用于配置WWW服务器的管理员的email地址,这将在HTTP服务出现错误的条件下返回给浏览器,以便让Web使用者和管理员联系,
  报告错误。习惯上使用服务器上的webmaster作为WWW服务器的管理员,通过邮件服务器的别名机制,将发送到webmaster 的电子邮件发送给真正的Web管理员。
  ServerName localhost
  缺省情况下,并不需要指定这个ServerName参数,服务器将自动通过名字解析过程来获得自己的名字,但如果服务器的名字解析有问题(通常为反向解析不正确),或者没有正式的
  DNS名字,也可以在这里指定I P地址。当ServerName设置不正确的时候,服务器不能正常启动。通常一个Web服务器可以具有多个名字,客户浏览器可以使用所有这些名字或IP地址来访问这台服务器,但在没有定义虚拟主机的情况下,服务器总是以自己的正式名字回应浏览器。
  ServerName就定义了Web服务器自己承认的正式名字,例如一台服务器名字(在DNS中定义了A类
  型)为freebsd.exmaple.org.cn,同时为了方便记忆还定义了一个别名(CNAME记录)为
  www.exmaple.org.cn,那么Apache自动解析得到的名字就为linux.example.org.cn,这样不管
  客户浏览器使用哪个名字发送请求,服务器总是告诉客户程序自己为linux.example.org.cn。
  虽然这一般并不会造成什么问题,但是考虑到某一天服务器可能迁移到其他计算机上,而只想通过更改DNS中的www别名配置就完成迁移任务,所以不想让客户在其书签中使用 linux记录下这
  个服务器的地址,就必须使用ServerName来重新指定服务器的正式名字。
  DocumentRoot “/usr/local/www/data“
  DocumentRoot定义这个服务器对外发布的超文本文档存放的路径,客户程序请求的UR L就被映射为这个目录下的网页文件。这个目录下的子目录,以及使用符号连接指出的文件和目录都能被浏览器访问,只是要在URL上使用同样的相对目录名。
  注意,符号连接虽然逻辑上位于根文档目录之下,但实际上可以位于计算机上的任意目录中,因此可以使客户程序能访问那些根文档目录之外的目录,这在增加了灵活性的同时但减少
  了安全性。Apache在目录的访问控制中提供了FollowSymLinks选项来打开或关闭支持符号连接的
  特性。
  <Directory />
  Options FollowSymLinks
  AllowOverride None
  </Directory>
  Apache服务器可以针对目录进行文档的访问控制,然而访问控制可以通过两种方式来实现,一个是在设置件 httpd.conf(或access.conf)中针对每个目录进行设置,另一个方法是
  在每个目录下设置访问控制文件,通常访问控制文件名字为.htaccess。虽然使用这两个方式都能用于控制浏览器的访问,然而使用配置文件的方法要求每次改动后重新启动httpd守护进程,比较不灵活,因此主要用于配置服务器系统的整体安全控制策略,而使用每个目录下的.htaccess文件设置具体目录的访问控制更为灵活方便。
  <Directory “H:/web001“>
  Directory语句就是用来定义目录的访问限制的,这里可以看出它的标准语法,为一个目录定义访问限制。上例的这个设置是针对系统的根目录进行的,设置了允许符号连接的选项
  FollowSymLinks ,以及使用AllowOverride None表示不允许这个目录下的访问控制文件来改变这里进行的配置,这也意味着不用查看这个目录下的相应访问控制文件。
  由于Apache对一个目录的访问控制设置是能够被下一级目录继承的,因此对根目录的设置将影响到它的下级目录。注意由于AllowOverride None的设置,使得Apache服务器不需要查看
  根目录下的访问控制文件,也不需要查看以下各级目录下的访问控制文件,直至httpd.conf(或access.conf )中为某个目录指定了允许Alloworride,即允许查看访问控制文件。由于Apache
  对目录访问控制是采用的继承方式,如果从根目录就允许查看访问控制文件,那么Apache就必须一级一级的查看访问控制文件,对系统性能会造成影响。而缺省关闭了根目录的这个特性,就使
  得Apache从httpd.conf中具体指定的目录向下搜寻,减少了搜寻的级数,增加了系统性能。因此对于系统根目录设置AllowOverride None不但对于系统安全有帮助,也有益于系统性能。
  Options Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
  </Directory>
  这里定义的是系统对外发布文档的目录的访问设置,设置不同的AllowOverride选项,以定义配置文件中的目录设置和用户目录下的安全控制文件的关系,而Options选项用于定义该
  目录的特性。

本章关健词:江南数联 域名注册 海外虚拟主机 G享虚拟主机 国内虚拟主机 企业邮箱 网站建设 自助建站 400电话申请 微聚商

 
  版权申请:详解Apache服务以及httpd.conf配置一Apache服务架设出自江南数联dns06.com未经授权请勿转载!  
 
  • 上一篇帮助:

  • 下一篇帮助:
  •  
         

    扫一扫关注公众号有礼
    Copyright@2004-2015 江南数联 版权所有未经授权请勿复制!
    《中华人民共和国增值电信业务经营许可证》ISP证编号:皖B2-20080036 湘B2-20160056
    公司全称:永州石头网络技术有限公司(运营部)
    地址: 中国·湖南省永州市育才路158号 服务热线:400 616 9260
    安徽公司:安徽仁科信息技术有限公司 地址:合肥万和新城广场A-608 
    关注词:网站空间虚拟空间空间域名域名空间域名主机网站空间哪家好网站空间多少钱