文件阿帕奇服务器配置方案

阿帕奇服务器  时间:2021-01-30  阅读:()

apach服务器配置大全(1)

201 1-09-1623:02:00 www hackbase com来源互联网

一、资料参考与准备 Apache软件包的组成 /etc/httpd/conf/*

一、资料参考与准备

Apache软件包的组成

/etc/httpd/conf/*

主配置文件位置

/etc/rc d/init d/httpd

启动脚本

/home/httpd/htmlhtml文档的主目录

/home/httpd/html/manual/*html格式的帮助文档

/home/httpd/icons/*

用在html网页中的图标文件

/usr/sbin/*

-/usr/sbin/htpasswd

建立和更新apache用户的程序

-/usr/sbin/httpdhttp服务器程序

/var/log/httpd/*

日志文件

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

ServerType standalone

#设置服务器的形式是单独启动s ta n da l o n e 还是借由互联网络伺服程序i n etd来启动。一般使用前者。

ServerRoot "/usr/local/apache"

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

PidFile logs/httpdpid

#程序启动时把父进程httpd的进程号process id存在这个文件中。这个文件名可以配合PidFi le指令加以改变。

ScoreBoardFi le logs/apache_status

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

#ResourceConfig conf/srm conf

#AccessConfig conf/access conf

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

Timeout300

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

KeepAl ive On

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

MaxKeepAl iveRequests 100

#设置支持续传功能的数目。数目越多则浪费的硬盘空间越多。设置为0则不止持续传。KeepAl iveTimeout 15

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

MaxRequestsPerChi ld 0

#设置同时间内chi ld process数目。

Ttesteads PerChild 50

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

#Listen 3000

#Listen 12345678:80

#允许使用其它的Port或IP访问服务器。此例中Port为3000 IP为12345678:80。#BindAddress*

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

#LoadModuleanon_auth_moduel modules/ApacheModuleAuthAnon dl l

……

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

#ExtendedStatus On

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

Port 80

#设置服务器使用的P o rt。

ServerAdminyou@youraddress

#设置服务器管理者的E-Ma i l地址。

#ServerNamenewhostname

#服务器的主机名。如果你有固定的IP地址则不需要设置。

DocumentRoot "/us r/local/apache/htdocs"

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

<D i re cto ry/>

Options Fol lowSymLinks

Al lowOverride None

</D i re cto ry>

#设置/目录的指令。具体地说明

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

None表示只能浏览

Fol lowSym Links允许页面连接到别处

ExecCGI 允许执行CGI 

MultiViews允许看动画或是听音乐之类的操作

Indexes允许服务器返回目录的格式化列表

Includes允许使用SSI。这些设置可以复选。

Al l 则可以做任何事但不包括MultiViews。

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

另外的参数有 Fi leInfo、AuthConfig、 Limit。

UserDirpubl ic_html

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

DirectoryIndex index htm l

#定义首先显示的文件。

AccessFi leName htaccess

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

#CacheNegotiatedDocs

定义代理服务器不要Cache你的页面。不建议使用。

UseCanonicalNameOn

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

二、安装与配置apache安装

$tar xvf httpd-* tar

$ /co nfi g u re--p refix=P R E F I X

$make Instal l

$make instal l

常用关键配置vi /etc/httpd/conf/httpd conf

Listen 80

Include conf d/*conf

ServerRoot "/etc/httpd"

DocumentRoot "/var/www/htm l"

ServerAdmin root@maixuanfei net

ServerName104563188:80

用户认证

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

@htpasswd–c/*/password xuanfei

创建认证组

@vi /*/g ro u pxuanfei-group:xuanfeixuanfei1

一。 基本的Apache用户认证方法

在httpd conf中加入下面的行

<>options indexes fol lowsymlinksal lowoverride authconfigorderal low,denyal lowfrom al l

<>

或者加到/etc/httpd/conf d/新建个文件名为。 conf结尾的配置文件〈D i rectory/hom e/ftp/pu b>

Options Indexes

Al lowOverride AuthConfigorderal low,denyal lowfrom al l

〈/D i re cto ry>

用在目录/home/ftp/pub下放文件。 htaccess 内容如下

authname"shared fi les"authtype basicauthuserfile/*/passwordrequire val id-user

#require groupxuanfei-group//接收组所以用户

#requirre userxuanfei //接收xuanfei单个用户

用随Apache来的程序htpasswd生成文件/etc/passwd,每行一个用户名密码只要能提供正确的用户名和密码对就允许登录访问这是针对任何地址来的请求都要求提供用户名和密码认证。

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

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

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

防火墙上的apache反向代理向LAN上的另一WWW服务器访问时需要认证而本地LAN上的用户不需认证。可以在httpd conf中放入

〈D i re cto ry/h o m e/ftp/p u b>

Options Indexes Fol lowSymLinks

Al lowOverride AuthConfigorderdeny,al lowdenyfrom 1045631

〈/D i re cto ry>

且在/hom e/ftp/pu b/htaccess中放入

AuthName"shared fi les"

AuthType Basic

AuthUserFile/etc/passwdrequire val id-usersatisfyany

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

如有一目录/home/ftp/pu b/host,有三个用户us er1,us er2,us er3都需要用户名和密码进入/home/ftp/pub但仅user1 ,user2能进入/home/ftp/pub/host则

放下面的行到httpd conf

〈D i rectory/hom e/ftp/pu b>

Options Indexes

Al lowOverride AuthConfigorderal low,denyal lowfrom al l

〈/D i re cto ry>

〈D i re cto ry/h o m e/ftp/p u b/hos t>

Options Indexes

Al lowOverride AuthConfigorderal low,denyal lowfrom al l

〈/D i re cto ry>

且看/hom e/ftp/pu b/htaccess为

AuthName"shared fi les"

AuthType Basic

AuthUserFile/etc/passwdrequire val id-user

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

AuthName"shared fi les"

AuthType Basic

AuthUserFile/etc/passwd

AuthGroupFi le/etc/hostgrouprequire groupmanager

且文件/etc/passwd内容为user1:passwd1user2:passwd2user3:passwd3

且文件/etc/hostgrou p内容为manager:user1 user2

虚拟目录

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

Al ias/xuanfei /home/xuanfei

设置虚拟目录属性

Options Indexes MultiViews

当没有主页时以是否显示文件及文件夹

Al lowOverride None

Order al low,deny

Al low from all

虚拟主机设置

简介这里说的虚拟主机是指在一台机器上仅运行一个httpd后台程序支持多个Apache服务器如在公司财务部门有一台web服务器名为accountxuanfei net,同时又想为host部门建立网站 网站内容也放在该机器上通过hostxuanfeinet访问这就要用到虚拟主机设置。

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

一、基于IP的虚拟主机

这种方式需要在机器上设置IP别名象上面的例子在一台机器的网卡上绑定多个IP地址去服务多个虚拟主机。

若该机器的IP地址为1045632 accountxuanfei net ,首先你要设置IP别名假设用1045634作为其别名IP 。加下面的行到/etc/rc d/rc local 确保每次启动后自动运行。

#/sbin/ifconfig eth0:01045634 netmask 2552552550 broadcast\104563255up

#/sbin/routeadd-host 1045634 eth0:0

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

<VirtualHost 1045634>

ServerAdmin root@xuanfei net

DocumentRoot/home/httpd/hostxuanfei net

ServerNamehostxuanfeinet

ErrorLog/var/log/httpd/hostxuanfei net/error_log

TransferLog/var/log/httpd/hostxuanfei net/access_log

</VirtualHost>

然后分别创建目录

/home/httpd/hostxuanfei net,

/var/log/httpd/hostxuanfei net

,放相应的网站内容到目录/home/httpd/hostxuanfei net下即可并确保你内部的DNS指定hostxuanfeinet的A记录到IP地址1045634 。

注这种基于IP的虚拟主机有一个缺点就是你需要更多的IP地址去服务各自的虚拟主机如果你仅仅有一个IP地址那么你将可以考虑用基于名字的虚拟主机方案。

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

它的优势就是不需要更多的IP地址容易配置不需要其它软硬件现代的浏览器大多都支持这种方式。与基于IP的虚拟主机一样你需要编辑文件/etc/httpd/conf/httpd conf

NameVirtualHost 1045632

<VirtualHost 1045632>

ServerAdmin root@xuanfei net

DocumentRoot/home/httpd/hostxuanfei net

ServerNamehostxuanfeinet

ErrorLog/var/log/httpd/hostxuanfei net/error_log

TransferLog/var/log/httpd/hostxuanfei net/access_log

</VirtualHost>

<VirtualHost 1045632>

ServerAdmin root@xuanfei net

DocumentRoot/home/httpd/testxuanfei net

ServerNametestxuanfei net

ErrorLog/var/log/httpd/testxuanfei net/error_log

TransferLog/var/log/testxuanfei net/access_log

</VirtualHost>

注 你需要加NameVirtualHost指示在最前面下面依次为各个虚拟主机为了让它工作你需要把hostxuanfei net, testxuanfei net的DNS

都指向IP地址1045632

上面的两种都将工作如果是在外部网段在互联网上提供WWW服务你可能没有足够的真实IP地址来支持多个虚拟主机便可用基于名字的虚拟主机方案若是在内部网段上你有较多的内部保留IP地址将没有太大的区别。NameVirtualHost 1 1 223344;在这个IP地址接收虚拟主机的服务

<VirtualHost 111.222.33.44>

ServerName www xuanfei1 com

DocumentRoot /www/xuanfei1

</VirtualHost>

<VirtualHost 11 .22.33.44>

ServerName www xuanfei2 com

DocumentRoot /www/xuanfei2

</VirtualHost>

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

<VirtualHost 111 .222.33.44:80>

ServerName www xuanfei1 com

DocumentRoot /www/xuanfei1

</VirtualHost>

<VirtualHost 11 .22.33.44:8080>

ServerName www xuanfei2 com

DocumentRoot /www/xuanfei2

</VirtualHost>

此种方法应用相对没那么方便所以相对应用也少点不同之处就是要在其域名或者IP后面添加其端口。

基于CGI的配置

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

ScriptAl ias

ScriptAl ias指令使Apache允许执行一个特定目录中的CGI程序。当客户端请求此特定目录中的资源时 Apache假定其中文件都是CGI程序并试图运行。

ScriptAl ias指令形如

ScriptAl ias/cgi-bin/ /usr/local/apache/cgi-bin/

如果Apache被安装到默认的位置默认的配置文件httpd.conf中则会有上述配置。ScriptAl ias指令定义了映射到一个特定目录的URL前缀与Al ias指令非常相似两者一般都用于指定位于DocumentRoot目录以外的目录其区别是ScriptAl ias又多了一层含义即其URL前缀中任何文件都被视为CGI程序。所以上述例子会指示Apache /cgi-bin/应该指向/usr/local/apache/cgi-bin/目录且视之为CGI程序。

举例如果有URL为http://www exam ple com/cgi-bin/test pl的请求Apache会试图执行/usr/local/apache/cgi-bin/test.pl文件并返回其输出。当然这个文件必须存在而且可执行并以特定的方法产生输出否则Apache返回一个出错消息。

ScriptAl ias目录以外的CGI

由于安全原因CGI程序通常被限制在ScriptAl ias指定的目录中如此管理员就可以严格地控制谁可以使用CGI程序。但是如果采取了恰当的安全方法措施则没有理由不允许其他目录中的CGI程序运行。比如你可能希望用户在UserDir指定的宿主目录中存放页面而他们有自己的CGI程序但无权存取cgi-bin 目录这样就产生了运行其他目录中CGI程序的需求。

用Options显式地允许CGI的执行

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

<Directory/usr/local/apache/htdocs/somedir>

Options+ExecCGI

</Directory>

上述指令使Apache允许CGI文件的执行。另外还必须告诉服务器哪些文件是CGI文件。下面的AddHandler指令告诉服务器所有带有cgi或pl后缀的文件是CGI程序

AddHandler cgi-script cgi pl

.htaccess文件

.htaccess文件是针对目录进行配置的一种方法。Apache在提供一个资源时会在此资源所在目录中寻找。 htaccess文件如果有则使其中的指令生效。Al lowOverride指令决定了。 htaccess文件是否有效它指定了哪些指令可以出现在其中或者根本不允许使用。为此需要在主服务器配置中如此配置

Al lowOverride Options

在。 htaccess文件中需要如此配置

Options+ExecCGI

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

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

CGI程序的输出

太好了这说明一切正常。

CGI程序的源代码或者一个"POST Method Not Al lowed"消息

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

一个以"Forbidden"开头的消息

这说明有权限问题。参考Apache errorlog和下面的文件的权限。

一个"Internal Server Error"消息

查阅Apache error log可以找到CGI程序产生的出错消息"Premature end of scrip theaders"。对此需要检查下列各项 以找出不能产生正确HTTP头的原因。

文件的权限

记住服务器不是以你的用户身份运行的就是说在服务器启动后拥有的是一个非特权用户的权限-通常是``n o b o dy' '或者``www' ' -而需要更大的权限以允许文件的执行。通常给予``nobody' '足够的权限以执行文件的方法是对文件赋予everyone execute权限

基于PERL的配置

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

进入apache配置文件如果要运行perl写的cgi程序写上ScriptAl ias/cgi-bin/ "cgi-bin所在目录" l inux的cgi-bin 目录默认在/var/www/cgi-bin/如果要运行。 pl文件则加上AddHandler cgi-script .pl

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

Al ias/perl /var/www/perl

<directory/var/www/perl>

Sethandler perl-script

Perresponsehandler modperl : :registry

Perloptions+parseheadersptions+ExecCGI

</d irectory>

基于JSP的配置jakarta-tomcat-4.0下载地址http://jakarta apache org/tom cat/

安装步骤

JDK:

1 将安装程序复制到/usr/local目录下

2执行命令

./j2sdk-1_4_2_01-l inux-i586.bin

解压后得到目录j2sdk-1 .4.2_01 将目录名改为j2sdk-1 .4.2不然后面的操作会无效。

3依次执行下列命令ln-sj2sdk-1 .4.2jdkln-sjdk/jre jre

4设置环境变量vi /etc/profile

加入如下内容export JAVA_HOME=/usr/local/jdkexport CLASSPATH=$JAVA_HOME/l ib/dt.jar:$JAVA_HOME/l ib/tools.jar

PATH=$PATH:/usr/local/j2sdk1 .4.2/bin

5测试JDK是否安装成功cd/etcjavac

如果出现关于javac的使用说明表示安装成功。

TOMCAT:

1 将安装程序复制到/usr/local目录下

2执行命令tar-zxvf jakarta-tomcat-5.0.19.tar.gz

解压后得到目录jakarta-tomcat-5.0.19

3设置环境变量vi /etc/profile

加入如下内容export TOMCAT_HOM E=foo/tomcat

4进入/usr/local/jakarta-tomcat*/binvi shutdown.sh

添加export JAVA_HOM E=/usr/jdkexport PATH=$PATH:$JAVA_HOME/bin export CLASS PATH=$JAVA_HO ME/l ib执行

./startu p.sh start

启动tomcat服务器

5测试是否安装成功

用浏览器浏览http://localhost:8080

如果出现tomcat的欢迎页面表示安装成功。

Apache和tomcat的整合

安装和配置mod_jk2

#cp etc/httpd/conf.d/jk2.conf/etc/httpd/conf.d/

#cp usr/l ib/httpd/modules/*/usr/l ib/httpd/modules/

#cp–a usr/share/doc/mod_jk2/ /usr/share/doc/mod_jk2/

#cp–a var/www/manual/mod_jk2/ /var/www/manual/mod_jk2/b、

编辑mod_jk2配置文件#vi /etc/httpd/conf/workers2.properties在末尾加入以下语句[uri :/*.jsp] worker=ajp13: localhost:8009 c  、配置Tomcat Tomca t默认的主目录/usr/local/tomcat/webapps/ROOT/需要设置和Apache的主目录一致

编辑Tomcat主配置文件

3G流量免费高防CDN 50-200G防御

简介酷盾安全怎么样?酷盾安全,隶属于云南酷番云计算有限公司,主要提供高防CDN服务,高防服务器等,分为中国境内CDN,和境外CDN和二个产品,均支持SSL。目前CDN处于内测阶段,目前是免费的,套餐包0.01一个。3G流量(高防CDN)用完了继续续费或者购买升级包即可。有兴趣的可以看看,需要实名的。官方网站: :点击进入官网云南酷番云计算有限公司优惠方案流量3G,用完了不够再次购买或者升级套餐流量...

Sharktech:无限流量服务器丹佛,洛杉矶,荷兰$49/月起,1Gbps带宽哦!

鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主打高防产品,独立服务器免费提供60Gbps/48Mpps攻击防御。机房提供1-10Gbps带宽不限流量服务器,最低丹佛/荷兰机房每月49美元起,洛杉矶机房最低59美元/月起。下面列出部分促销机型的配置信息。机房...

火数云 55元/月BGP限时三折,独立服务器及站群限时8折,新乡、安徽、香港、美国

火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...

阿帕奇服务器为你推荐
天气预报哪个好用哪个最准确分小时的那种天气预报app,哪个准确方便使用江门旅游景点哪个好玩的地方江门有哪些旅游景点,江门哪里好玩朗逸和速腾哪个好速腾和朗逸哪个更好?等额本息等额本金哪个好等额本金和等额本息哪个划算?如果想在5-10年内还清贷款哪类更划算一些?炒股软件哪个好网上买卖股票软件哪个好用游戏盒子哪个好lol游戏盒子哪个好红茶和绿茶哪个好红茶和绿茶 那个更好电动牙刷哪个好有人懂电动牙刷吗?飞利浦的好用还是欧乐B好用网络机顶盒哪个好现在用什么网络机顶盒最好?如何增加百度收录如何提高百度收录率?
美国加州vps 西部数码vps 如何注册网站域名 拜登买域名批特朗普 免费名片模板 主机合租 lol台服官网 昆明蜗牛家 in域名 闪讯官网 双线空间 97rb 带宽测试 开心online 碳云 gotoassist wannacry勒索病毒 西部主机 西安电信测速网 dmz主机 更多