客户那边要求在内网上装个 Discuz 的论坛,正好以前整过段时间的 PHP ,于是让我来了。自己机器上装的是 Fedora+WinXP ,当时装 PHP 环境,那叫个简单,全是 yum 方式安装的,心里还想着呢,这要是太简单了,搞的时间太短了客户会不会感觉做的不好不安全以后会出什么问题呢?结果,按照原来的方法一试,命令不识别,神!查看了下生产机的版本, RHAS4 ,再看测试机, SUSE10 !神仙,还号称要做的和生产机一样,这怎么连系统都给装的不一样,咋整的,再看桌子上,呵呵, suse10 的的安装盘,还是带包装的,一个很明显有雀斑的外国妇女正在微笑,搞啥呢?这就是传说中的欧洲名门 SUSE ?可惜, SSH 上去的,也没机会看看它的图形界面是个啥样子了。没办法,还是手工装一遍吧,还好,生产机上安装时的 rpm 、 tar 包啥的还都有呢。
首先装 MySQL , rpm 方式安装,依赖这个依赖那个,还好依赖的包都在,安装它到是没有费什么事,然后是 Apache ,源码编译安装,因为还要整合 Reson ,因此执行 configure 时加上选项“ --enable-module=so ”,然后编译安装 PHP ,因为 rpm 安装的 MySQL ,指定 MySQL 时并不需要指定安装路径,但是还是报错了,当时也没有把错误记录下来,是个什么 celientmodule 找不到,差不多就是这个意思吧,后来知道了,是因为 64 位机的原因,要找的那个文件装在了 /usr/include/mysql/lib64 下,好像是这个位置,然后会有个 celientmodule.so.15.0.0 ,好像是这个文件,如果有人碰上同样的问题找到了这里,对不住了,我当时没有记录下来,然后把这个文件拷贝成 celientmodule.so 放到 /usr/lib/mysql 下,好像是这个目录吧,呵呵 ,然后再重新编译,就可以了。至此 SUSE+Apache+MySQL+PHP 环境搭建好了,然后还要整合 Resin ,继续。
因为以前整合过,所以这里还是比较简单的,只是有点问题,整合好了之后 .php 也会由 Resin 去解析,然后访问内网或 BBS 时就报 Server 太忙什么的了,怎么办呢, Resin3 的话就只需要在 app-default.xml 把有关 .php 的 mapping 注释掉就可以了,但是测试机器上已经有一个低版本的 Resin 在跑着一个应用了,用的是 jdk1.4 ,还不让我升级成 1.5 ,郁闷, Resin3 的话 1.4 还不行,而 Resin2 上也没有类似的 .php 的 mapping 设置,找针对 Resin2 的修改方法还不如改 Resin3 呢,直接修改 Resin3 的启动脚本,在最开始加上一句, export JAVA_HOME=/usr/local/java/jdk1.5 ,呵呵,这样就可以正常启动了。
OK ,至此 SUSE+Apache+MySQL+PHP+Resin 搞定!