Shell's Home

Nov 29, 2005 - 1 minute read - Comments

debian上配置基于apache2的resin

别的不说了,先用debian自带的apt安装apache2,记得安装dev部分,还有libapr0,libapr-dev,libapr0-dev。千万别忘记安装后面的部分,否则你在下面编译的时候就要出现问题。

拿到resin,放在目标目录下面,然后tar -jxvf。完成后用ln -s做一个链接上去,使用resin的名字,这样可以方便的替换版本。然后在主目录下面运行./configure,make一下。一般来说,会出不少错误,最后生成一个libresin.so放到libexec下面,并且更新了resin的主执行程序。这个so很具有迷惑性,开始贝壳就被他骗了。这个so貌似是resin在本地平台下的加速程序,而不是嵌入到apache系列服务器中的整合插件。其中最大的差异是没有caucho_module导出符号,在apache加载的时候肯定会失败。

跑到src/c/plugins/apache2下面运行make。可能会报错,可能没有。贝壳这里报了错,不过贝壳运行configure的时候没有加任何参数,也许加了参数就正常了。如果不正常,出错的代码可能分别是httpd.h找不到或者apr_time.h找不到。运行vi Makefile,看到有INCLUDE的目录吗?那里面要包含/usr/include/apache2和/usr/include/apr-0两个目录,没有就肯定出错。好了,修改然后重新make。得到的文件是mod_caucho.so。将它cp到$RESIN_HOME/libexec下面,这个动态库导出了caucho_module符号。

在/etc/apache2/httpd.conf里面编辑一下,添加这个内容。

LoadModule caucho_module /usr/resin/libexec/mod_caucho.so
<IfModule mod_caucho.c>
    CauchoConfigFile ......../resin.conf
    <Location /caucho-status>
        SetHandler caucho-status
    </Location>
</IfModule>

在/usr/resin/conf/resin.conf里面,添加这些内容。

<doc-dir>/var/www/htdocs</doc-dir>
<war-dir id='/var/www/htdocs'/>

在/etc/apache2/sites-available/default中可能要修改如下配置。

DocumentRoot /var/www/htdocs/
<Directory /var/www/htdocs/>

然后注销

RedirectMatch ^/$ /apache2-default/

OK,这样就基本完成了整个系统的整合配置。