日期:2011-06-03 17:19:00 来源:本站整理
Apache服务以及httpd.conf配置详解[Linux安全]
本文“Apache服务以及httpd.conf配置详解[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Apache服务架设
1、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造成问题.
2、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、测试自己的服务器:
3、用户个人主页的实现:
通过配置使我们每个用户都有一个主页可以通过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环境参数,假若有问题请按照上面讲的调整.
4、虚拟主机的设置:
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.com 和www.server53.com显示的一样?
所以我们要持续改正/etc/httpd/conf/httpd.conf,增添以下段内容:
在/var/www/html目录下成立station53目录,并成立主页文件处理selinux环境.
一旦翻开虚拟主机功效,那么每个域名都要在虚拟主机项目呼应的位置增添与之对应的项目,不然默许拜候第一个虚拟主机的设置.
通过了?OK!!!
5、主页的用户认证的设置:(以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地址来拜候这台服务器,但在没有
以上是“Apache服务以及httpd.conf配置详解[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论