在centos+nginx上部署通达OA2010

去年写过一篇《将通达OA2009转移至LNMP平台》,如今通达2010版已经出来好几个月了,趁着这几天有些闲工夫,再次试验了一下,顺便也把我的测试机平台升级至centos5.5+nginx0.8.53+mysql5.0.91,部署过程大致和通达OA2009相同,这里就只记录一些新的内容了。

LNMP平台的搭建请继续参考此文:Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)

嗯,再更正一点,在webroot目录打包之前,不需要把\general\mytable目录下的所有以中文命名的模块全部改为英文了,上编文章之所以中文会白屏,其实还是编码的问题。

修改my.cnf,在其中加上如下一句:
lower_case_table_names=1

这句意思是让MySQL不区分大小写,终于可以抛弃之前要将数据库表名全部转换为大写的做法了。

中文分词scws-1.1.3 & php-scws安装:官方文档
2010版中的公告通知和新闻模块加了个不伦不类(个人认为哈)的关键字提取功能,需要安装此程序及php扩展模块

wget http://www.ftphp.com/scws/down/scws-1.1.3.tar.bz2
tar xvjf scws-1.1.3.tar.bz2
cd scws-1.1.3
./configure –prefix=/usr/local/scws
make & make install

cd phpext
/usr/local/php/bin/phpize
./configure –with-scws=/usr/local/scws –with-php-config=/usr/local/php/bin/php-config
make & make install

vi /usr/local/php/etc/php.ini

加入下面几句:

[scws]
;
; 注意请检查 php.ini 中的 extension_dir 的设定值是否正确, 否则请将 extension_dir 设为空,
; 再把 extension = scws.so 指定绝对路径。
;
extension = scws.so
scws.default.charset = gbk
scws.default.fpath = /usr/local/scws/etc

重新加载php

/usr/local/php/sbin/php-fpm reload

安装词典文件

直接将myoa/bin/scws目录中的两个文件拷贝至/usr/local/scws/etc

cp dict.xdb /usr/local/scws/etc
cp rules.ini /usr/local/scws/etc
chmod -R 755 /usr/local/scws/etc

很奇怪,这里一定要设定权限为755,要不然字典文件无法加载,官方文档里没有提到过,结果让我折腾半天..

oa2010

附两点可有可无的操作:

定时校正服务器时钟,每日5点15分自动与授时服务器同步
crontab -e
加入一行:
15 5 * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1

减小nginx编译后的文件大小
默认的nginx编译选项里居然是用debug模式(-g)的(debug模式会插入很多跟踪和ASSERT之类),编译以后一个nginx有好几兆。
去掉nginx的debug模式编译,编译以后只有几百k。

在 auto/cc/gcc,最后几行有:
# debug
CFLAGS=”$CFLAGS -g”
注释或删掉这几行,重新编译即可。

一个比较好的nginx讨论区:http://bbs.linuxtone.org/forum-22-1.html