apache2.2.17+tomcat6.0.18+jk1.2.31

本文详细介绍了Apache HTTP Server的安装步骤、虚拟主机配置、URL到文件系统的映射及与Tomcat集成的方法。通过具体实例,展示了如何解决常见访问权限问题,并提供了详细的配置文件示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、安装APACHE HTTPD
下载httpd-2.2.17.tar.gz
解压:
$tar -zxvf httpd-2.2.17.tar.gz
$cd httpd-2.2.17
$./configure –prefix=/opt/dev_soft
$make
$mak install

2、配置虚拟主机
修改 conf/httpd.conf

去掉这行前面的注解:
#Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-vhosts.conf

修改conf/extra/httpd-vhosts.conf
cp httpd-vhosts.conf httpd-vhosts.conf.bak
vim httpd-vhosts.conf

修改ServerName和DocumentRoot后面的文字,改为实际的路径

NameVirtualHost *:80
<VirtualHost *:80>

ServerAdmin dingjun@myweb.com

DocumentRoot "/home/dingjun/workspace"

ServerName fin.man.myweb.net

ServerAlias fin.man.myweb.net

ErrorLog "logs/fin.man.myweb.net-error_log"

CustomLog "logs/fin.man.myweb.net-access_log" common

</VirtualHost>


3、启动
$bin/httpd -S
测试配置是否有语法错误

启动
$httpd -k start

4、访问
修改hosts
127.0.0.1 fin.man.myweb.net
http://fin.man.myweb.net
提示:

Forbidden
You don't have permission to access / on this server.

这是由于没有对目录/home/dingjun/workspace 赋访问权限引起的。
修改httpd.conf添加

<Directory "/home/dingjun/workspace">

Options Indexes FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>


注意虚拟机配置中的VirtualHost /DocumentRoot同Directory后的路径 。

Options Indexes(表示可以显示目录下文件列表)

Allow指令影响哪些主机可以访问服务器的一个区域。可以用主机名、IP地址、 IP地址范围或者其他环境变量中捕获的客户端请求特性来对访问进行控制。
这个指令的第一个参数总是from。随后的参数可以有三种不同形式。 如果指定Allow from all,则允许所有主机访问,需要 Deny和Order指 令像下面讨论的那样配置。 要只允许特定一部分主机或主机群访问服务器,host可以用下面任何一种格式来指定:
一个域名(部分)
例子:Allow from apache.org
允许名字与给定字符串匹配或者以该字符串结尾的主机访问。 只有完整的名字组成部分才被匹配,因此上述例子将匹配foo.apache.org而不能匹配fooapache.org。 这样的配置将引起服务器执行一个对客户IP地址的反查域名操作而不管HostnameLookups指 令是否设置
完整的IP地址
例子:Allow from 10.1.2.3
允许一个主机的一个IP地址访问。
部分IP地址
例子:Allow from 10.1
IP地址的开始1到3个字节,用于子网限制。
网络/掩码对
例子:Allow from 10.1.0.0/255.255.0.0
一个网络a.b.c.d,和一个掩码w.x.y.z。用于更精确的子网限制。
网络/nnn 无内别域间路由规格
例子:Allow from 10.1.0.0/16
同前一种情况相似,除了掩码由nnn个高位字节构成。
注意以上后三个例子完全匹配同一组主机。

Deny 指令
说 明:
控制哪些主机被禁止访问服务器
语 法:
Deny from all|host|env=env-variable [host|env=env-variable] ...
上 下文:
目录, .htaccess
覆 盖项:
Limit
状 态:
Base
模 块:
mod_access
这条指令允许基于主机名、IP地址或者环境变量限制对服务器的访问。 Deny指令的参数设置和Allow指 令完全相同。


Order 指令
说 明:
控制缺省的访问状态和Allow与Deny指令被评估的顺序。
语 法:
Order ordering
默 认值:
Order Deny,Allow
上 下文:
目录, .htaccess
覆 盖项:
Limit
状 态:
Base
模 块:
mod_access
Order指令控制缺省的访问状态和 Allow与Deny指 令被评估的顺序。 Ordering是以下几种范例之一:
Deny,Allow
Deny指 令在 Allow指 令之前被评估。缺省允许所有访问。 任何不匹配Deny指 令或者匹配 Allow指 令的客户都被允许访问服务器。
Allow,Deny
Allow指 令在 Deny指 令之前被评估。缺省禁止所有访问。 任何不匹配Allow指 令或者匹配 Deny指 令的客户都将被禁止访问服务器。
5、设置URL到文件系统的访问
日志文件没有放在应用程序目录中,如果通过http访问,可以通过路径别名的方式设置
<IfModule alias_module>


# Alias: Maps web paths into filesystem paths and is used to

# access content that does not live under the DocumentRoot.

# Example:

# Alias /webpath /full/filesystem/path

Alias /logs /home/dingjun/logs


</IfModule>


<Directory "/home/dingjun/logs">

Options Indexes FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>


6、把配置放在虚拟主机配置中,不做为全局的配置

#

NameVirtualHost *:80


<VirtualHost *:80>

ServerAdmin dingjun@myweb.com

DocumentRoot "/home/dingjun/workspace"

ServerName fin.man.myweb.net

ServerAlias fin.man.myweb.net

ErrorLog "logs/fin.man.myweb.net-error_log"

CustomLog "logs/fin.man.myweb.net-access_log" common

<Directory "/home/dingjun/workspace">

Options Indexes FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>

<Directory "/home/dingjun/logs">

Options Indexes FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>

Alias /logs /home/dingjun/logs

</VirtualHost>


7、与TOMCAT集成
下载JK2

tomcat-connectors-1.2.31-src/native$ ./configure –with-apxs=/opt/dev_soft/httpd-2.2.17/bin/apxs

$make
$make install
把jk下生成的配置文件移动到apache下

tomcat-connectors-1.2.31-src$ cp -r conf/ /opt/dev_soft/httpd-2.2.17/conf/jk


/opt/dev_soft/httpd-2.2.17/conf/jk$ mv conf/* ./
$ rmdir conf

即把uriworkermap.properties workers.properties.minimal

httpd-jk.conf workers.properties 放置到/opt/dev_soft/httpd-2.2.17/conf/jk目录下

8、修改httpd.conf
添加:
Include conf/jk/httpd-jk.conf

httpd-jk.conf内容如下:
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile conf/jk/workers.properties
JkLogFile logs/mod_jk.log


# Our JK log level (trace,debug,info,warn,error)

JkLogLevel info


# Our JK shared memory file

JkShmFile logs/mod_jk.shm
…略...
</IfModule>


修改workers.properties

worker.list=fin,jkstatus


#

# Defining a worker named ajp13w and of type ajp13

# Note that the name and the type do not have to match.

#

worker.fin.type=ajp13

worker.fin.host=localhost

worker.fin.port=8009


#

# Defining a load balancer

#


#worker.wlb.type=lb

#worker.wlb.balance_workers=ajp13w


#

# Define status worker

#


worker.jkstatus.type=status

修改uriworkermap.properties,重名名为 uriworkermap_fin.properties,内容如下:


/*.jsp=fin

/*.do=fin

/*.action=fin

在extra/httpd-vhost.conf增加一行,做为fin.man.myweb.net的私有映射文件
JkMountFile conf/jk/uriworkermap_fin.properties


<VirtualHost *:80>

ServerAdmin dingjun@myweb.com

DocumentRoot "/home/dingjun/workspace"

ServerName fin.man.myweb.net

ServerAlias fin.man.myweb.net

ErrorLog "logs/fin.man.myweb.net-error_log"

CustomLog "logs/fin.man.myweb.net-access_log" common

<Directory "/home/dingjun/workspace">

Options Indexes FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>

<Directory "/home/dingjun/logs">

Options Indexes FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>

Alias /logs /home/dingjun/logs

#uri map
JkMountFile conf/jk/uriworkermap_fin.properties
</VirtualHost>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值