阿帕奇服务器配置方案.docx

上传人:b****8 文档编号:10242801 上传时间:2023-02-09 格式:DOCX 页数:13 大小:22.76KB
下载 相关 举报
阿帕奇服务器配置方案.docx_第1页
第1页 / 共13页
阿帕奇服务器配置方案.docx_第2页
第2页 / 共13页
阿帕奇服务器配置方案.docx_第3页
第3页 / 共13页
阿帕奇服务器配置方案.docx_第4页
第4页 / 共13页
阿帕奇服务器配置方案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

阿帕奇服务器配置方案.docx

《阿帕奇服务器配置方案.docx》由会员分享,可在线阅读,更多相关《阿帕奇服务器配置方案.docx(13页珍藏版)》请在冰豆网上搜索。

阿帕奇服务器配置方案.docx

阿帕奇服务器配置方案

apach服务器配置大全

(1)

2011-09-1623:

02:

00    来源:

互联网

  一、资料参考与准备:

  Apache软件包的组成  /etc/httpd/conf/*

  一、资料参考与准备:

  Apache软件包的组成

  /etc/httpd/conf/*

  主配置文件位置

  /etc/rc.d/init.d/httpd

  启动脚本

  /home/httpd/html

  html文档的主目录

  /home/httpd/html/manual/*

  html格式的帮助文档

  /home/httpd/icons/*

  用在html网页中的图标文件

  /usr/sbin/*

  -/usr/sbin/htpasswd

  建立和更新apache用户的程序

  -/usr/sbin/httpd

  http服务器程序

  /var/log/httpd/*

  日志文件

  主配置文件httpd.conf的常用指令解释

  ServerTypestandalone

  #设置服务器的形式是单独启动(standalone),还是借由互联网络伺服程序inetd来启动。

一般使用前者。

  ServerRoot"/usr/local/apache"

  #设置服务器的Home目录,用来存放服务器的设置文件、错误文件、记录文件。

  PidFilelogs/httpd.pid

  #程序启动时,把父进程httpd的进程号(processid)存在这个文件中。

这个文件名可以配合PidFile指令加以改变。

  ScoreBoardFilelogs/apache_status

  #设置网络上WWW服务器一些执行程序的记录文件。

  #ResourceConfigconf/srm.conf

  #AccessConfigconf/access.conf

  #这两个文件的内容已经包含在httpd.conf文件中了。

  Timeout300

  #如果客户端300秒还没有连上,或者服务器300秒还没有传送数据到客户端,就会自动断线。

  KeepAliveOn

  #设置是否支持续传功能。

  MaxKeepAliveRequests100

  #设置支持续传功能的数目。

数目越多则浪费的硬盘空间越多。

设置为0则不止持续传。

  KeepAliveTimeout15

  #如果该为使用者在15秒后还没有向服务器发出要求,则他在不能续传。

  MaxRequestsPerChild0

  #设置同时间内childprocess数目。

  TtesteadsPerChild50

  #设置服务器使用进程的数目。

  #Listen3000

  #Listen12.34.56.78:

80

  #允许使用其它的Port或IP访问服务器。

此例中Port为3000,IP为12.34.56.78:

80。

  #BindAddress*

  #设置Apache监听所有的IP,也可以具体的指定。

  #LoadModuleanon_auth_modulemodules/ApacheModuleAuthAnon.dll

  ……

  #打开当前未激活预定以的模块。

  #ExtendedStatusOn

  #设置服务器产生的状态信息。

  Port80

  #设置服务器使用的Port。

  ServerAdminyou@your.address

  #设置服务器管理者的E-Mail地址。

  #ServerNamenew.host.name

  #服务器的主机名。

如果你有固定的IP地址,则不需要设置。

  DocumentRoot"/usr/local/apache/htdocs"

  #设置存放站点html文件的目录。

  

  OptionsFollowSymLinks

  AllowOverrideNone

  

  #设置/目录的指令。

具体地说明:

  Option:

定义在目录内所能执行的操作。

  None:

表示只能浏览,

  FollowSymLinks:

允许页面连接到别处,

  ExecCGI:

允许执行CGI,

  MultiViews:

允许看动画或是听音乐之类的操作,

  Indexes:

允许服务器返回目录的格式化列表,

  Includes:

允许使用SSI。

这些设置可以复选。

  All:

则可以做任何事,但不包括MultiViews。

  AllowOverride:

加None参数表示任何人都可以浏览该目录下的文件。

  另外的参数有:

FileInfo、AuthConfig、Limit。

  UserDirpublic_html

  #定义使用者存放html文件的目录。

  DirectoryIndexindex.html

  #定义首先显示的文件。

  AccessFileName.htaccess

  #定义每个目录访问控制文件的名称。

  #CacheNegotiatedDocs

  定义代理服务器不要Cache你的页面。

不建议使用。

  UseCanonicalNameOn

  #服务器使用ServerName指定的服务器名和Port指定的端口地址。

  二、安装与配置

  apache安装

  $tarxvfhttpd-*.tar

  $./configure--prefix=PREFIX

  $makeInstall

  $makeinstall

  常用关键配置

  ·vi/etc/httpd/conf/httpd.conf

  Listen80

  Includeconf.d/*.conf

  ServerRoot"/etc/httpd"

  DocumentRoot"/var/www/html"

  ServerAdminroot@

  ServerName10.45.63.188:

80

  用户认证

  假如某一目录下的文件如/home/ftp/pub需要做到用户认证

  创建认证用户

  @htpasswd–c/*/.passwordxuanfei

  创建认证组

  @vi/*/.group

  xuanfei-group:

xuanfeixuanfei1

  一。

  基本的Apache用户认证方法:

  在httpd.conf中加入下面的行

  <>

  optionsindexesfollowsymlinks

  allowoverrideauthconfig

  orderallow,deny

  allowfromall

  <>

  或者加到/etc/httpd/conf.d/新建个文件名为。

conf结尾的配置文件

  〈Directory/home/ftp/pub>

  OptionsIndexes

  AllowOverrideAuthConfig

  orderallow,deny

  allowfromall

  〈/Directory>

  用在目录/home/ftp/pub下放文件。

htaccess,内容如下:

  authname"sharedfiles"

  authtypebasic

  authuserfile/*/.password

  requirevalid-user

  #requiregroupxuanfei-group//接收组所以用户

  #requirreuserxuanfei//接收xuanfei单个用户

  用随Apache来的程序htpasswd生成文件/etc/.passwd,每行一个用户名:

密码

  只要能提供正确的用户名和密码对,就允许登录访问,这是针对任何地址来的

  请求都要求提供用户名和密码认证。

  二。

针对部分网段或地址要求认证。

  若公司LAN所在网段为10.45.63.0/24,且有一防火墙专线接入Internet,

  内部网卡的地址为10.45.63.1/32,则现在希望所有通过拨本地633通过

  防火墙上的apache反向代理向LAN上的另一WWW服务器访问时需要认证,而本地

  LAN上的用户不需认证。

可以在httpd.conf中放入:

  〈Directory/home/ftp/pub>

  OptionsIndexesFollowSymLinks

  AllowOverrideAuthConfig

  orderdeny,allow

  denyfrom10.45.63.1

  〈/Directory>

  且在/home/ftp/pub/.htaccess中放入:

  AuthName"sharedfiles"

  AuthTypeBasic

  AuthUserFile/etc/.passwd

  requirevalid-user

  satisfyany

  三。

对同一目录及其下的子目录有不同的权限,仅某些人可以存取一目录下的

  子目录。

  如有一目录/home/ftp/pub/host,有三个用户user1,user2,user3都需要用户名

  和密码进入/home/ftp/pub,但仅user1,user2能进入/home/ftp/pub/host.则

  放下面的行到httpd.conf

  〈Directory/home/ftp/pub>

  OptionsIndexes

  AllowOverrideAuthConfig

  orderallow,deny

  allowfromall

  〈/Directory>

  〈Directory/home/ftp/pub/host>

  OptionsIndexes

  AllowOverrideAuthConfig

  orderallow,deny

  allowfromall

  〈/Directory>

  且看/home/ftp/pub/.htaccess为:

  AuthName"sharedfiles"

  AuthTypeBasic

  AuthUserFile/etc/.passwd

  requirevalid-user

  且看/home/ftp/pub/host/.htaccess

  AuthName"sharedfiles"

  AuthTypeBasic

  AuthUserFile/etc/.passwd

  AuthGroupFile/etc/.hostgroup

  requiregroupmanager

  且文件/etc/.passwd内容为:

  user1:

passwd1

  user2:

passwd2

  user3:

passwd3

  且文件/etc/.hostgroup内容为:

  manager:

user1user2

  虚拟目录

  #vi/etc/httpd/conf.d/xuanfei.conf

  Alias/xuanfei/home/xuanfei

  (设置虚拟目录属性)

  OptionsIndexesMultiViews

  (当没有主页时以是否显示文件及文件夹)

  AllowOverrideNone

  Orderallow,deny

  Allowfromall

  虚拟主机设置

  简介:

这里说的虚拟主机是指在一台机器上仅运行一个httpd后台程序

  支持多个Apache服务器,如在公司财务部门有一台web服务器,名为

  ,同时又想为host部门建立网站,网站内容也

  放在该机器上,通过访问,这就要用到虚拟主机

  设置。

  设置Apache虚拟主机通常有两种方案

  一、基于IP的虚拟主机

  这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的

  网卡上绑定多个IP地址去服务多个虚拟主机。

  若该机器的IP地址为10.45.63.2(),首先

  你要设置IP别名(假设用10.45.63.4作为其别名IP)。

加下面的行到

  /etc/rc.d/rc.local,确保每次启动后自动运行。

  #/sbin/ifconfigeth0:

010.45.63.4netmask255.255.255.0broadcast\

  10.45.63.255up

  #/sbin/routeadd-host10.45.63.4eth0:

0

  然后你需要设置/etd/httpd/conf/httpd.conf文件:

  

  ServerAdminroot@

  DocumentRoot/home/httpd/

  ServerName

  ErrorLog/var/log/httpd/

  TransferLog/var/log/httpd/

  

  然后分别创建目录

  /home/httpd/,

  /var/log/httpd/

  ,放相应的网站内容到目录/home/httpd/下即可,并确保

  你内部的DNS指定的A记录到IP地址10.45.63.4。

  注:

这种基于IP的虚拟主机有一个缺点,就是你需要更多的IP地址去服务各自的

  虚拟主机,如果你仅仅有一个IP地址,那么你将可以考虑用基于名字的虚拟主机

  方案。

  二、基于名字的虚拟主机:

  它的优势就是不需要更多的IP地址,容易配置,不需要其它软硬件,现代的

  浏览器大多都支持这种方式。

与基于IP的虚拟主机一样,你需要编辑文件

  /etc/httpd/conf/httpd.conf

  NameVirtualHost10.45.63.2

  

  ServerAdminroot@

  DocumentRoot/home/httpd/

  ServerName

  ErrorLog/var/log/httpd/

  TransferLog/var/log/httpd/

  

  

  ServerAdminroot@

  DocumentRoot/home/httpd/

  ServerName

  ErrorLog/var/log/httpd/

  TransferLog/var/log/

  

  注:

你需要加NameVirtualHost指示在最前面,下面依次为各个虚拟主机,

  为了让它工作,你需要把,的DNS

  都指向IP地址10.45.63.2

  上面的两种都将工作,如果是在外部网段,在互联网上提供WWW服务,你可能

  没有足够的真实IP地址来支持多个虚拟主机,便可用基于名字的虚拟主机方案,

  若是在内部网段上,你有较多的内部保留IP地址,将没有太大的区别。

  NameVirtualHost11.22.33.44;在这个IP地址接收虚拟主机的服务

  

tualHost111.222.33.44>

  ServerName 

  DocumentRoot/www/xuanfei1

  

  

  ServerName 

  DocumentRoot/www/xuanfei2

  

  三、基于端口的虚拟主机:

  

80>

  ServerName 

  DocumentRoot/www/xuanfei1

  

  

8080>

  ServerName 

  DocumentRoot/www/xuanfei2

  

  此种方法应用相对没那么方便!

所以相对应用也少点!

不同之处就是要在其域名或者IP后面添加其端口。

  基于CGI的配置

  要让CGI程序能正常运作,必须配置Apache以允许CGI的执行,其方法有多种。

  ScriptAlias

  ScriptAlias指令使Apache允许执行一个特定目录中的CGI程序。

当客户端请求此特定目录中的资源时,Apache假定其中文件都是CGI程序并试图运行。

  ScriptAlias指令形如:

  ScriptAlias/cgi-bin//usr/local/apache/cgi-bin/

  如果Apache被安装到默认的位置,默认的配置文件httpd.conf中则会有上述配置。

ScriptAlias指令定义了映射到一个特定目录的URL前缀,与Alias指令非常相似,两者一般都用于指定位于DocumentRoot目录以外的目录,其区别是ScriptAlias又多了一层含义,即其URL前缀中任何文件都被视为CGI程序。

所以,上述例子会指示Apache,/cgi-bin/应该指向/usr/local/apache/cgi-bin/目录,且视之为CGI程序。

  举例,如果有URL为

  ScriptAlias目录以外的CGI

  由于安全原因,CGI程序通常被限制在ScriptAlias指定的目录中,如此,管理员就可以严格地控制谁可以使用CGI程序。

但是,如果采取了恰当的安全方法措施,则没有理由不允许其他目录中的CGI程序运行。

比如,你可能希望用户在UserDir指定的宿主目录中存放页面,而他们有自己的CGI程序,但无权存取cgi-bin目录,这样,就产生了运行其他目录中CGI程序的需求。

  用Options显式地允许CGI的执行

  可以在主服务器配置文件中,使用Options指令显式地允许特定目录中CGI的执行:

  

  Options+ExecCGI

  

  上述指令使Apache允许CGI文件的执行。

另外,还必须告诉服务器哪些文件是CGI文件。

下面的AddHandler指令告诉服务器所有带有cgi或pl后缀的文件是CGI程序:

  AddHandlercgi-scriptcgipl

  .htaccess文件

  .htaccess文件是针对目录进行配置的一种方法。

Apache在提供一个资源时,会在此资源所在目录中寻找。

htaccess文件,如果有,则使其中的指令生效。

AllowOverride指令决定了。

htaccess文件是否有效,它指定了哪些指令可以出现在其中,或者根本不允许使用。

为此,需要在主服务器配置中如此配置:

  AllowOverrideOptions

  在。

htaccess文件中,需要如此配置:

  Options+ExecCGI

  以使Apache允许此目录中CGI程序的执行。

  从网络访问CGI程序,浏览器中可能会发生四种情况:

  CGI程序的输出

  太好了!

这说明一切正常。

  CGI程序的源代码或者一个"POSTMethodNotAllowed"消息

  这说明Apache没有被正确配置以执行CGI程序,重新阅读configuringApache看看遗漏了什么。

  一个以"Forbidden"开头的消息

  这说明有权限问题。

参考Apacheerrorlog和下面的文件的权限。

  一个"InternalServerError"消息

  查阅Apacheerrorlog,可以找到CGI程序产生的出错消息"Prematureendofscriptheaders"。

对此,需要检查下列各项,以找出不能产生正确HTTP头的原因。

  文件的权限

  记住,服务器不是以你的用户身份运行的,就是说,在服务器启动后,拥有的是一个非特权用户的权限-通常是``nobody''或者``www''-而需要更大的权限以允许文件的执行。

通常,给予``nobody''足够的权限以执行文件的方法是,对文件赋予everyoneexecute权限:

  基于PERL的配置

  先用perl-v命令检查是否已安装了perl,如果不能出现版本号,先安装perl

  进入apache配置文件,如果要运行perl写的cgi程序,写上:

ScriptAlias/cgi-bin/"cgi-bin所在目录",linux的cgi-bin目录默认在/var/www/cgi-bin/;如果要运行。

pl文件,则加上:

AddHandlercgi-script.pl

  修改/etc/http/conf.d/perl.conf文件,将以下内容前的#号去掉

  Alias/perl/var/www/perl

  

  Sethandlerperl-script

  Perresponsehandlermodperl:

:

registry

  Perloptions+parseheaders

  ptions+ExecCGI

  

  基于JSP的配置

  jakarta-tomcat-4.0下载地址:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1