通达OA2008从windows环境移植到linux中(centos5.5及以上版本)
OA系统拓扑图:
环境搭建(安装lamp环境)
1.安装xampp集成lamp包xampp-linux-1.6.8a.tar.gz
①安装:
tar xvfz xampp-linux-1.6.8a.tar.gz -C /opt
将服务器添加代理(方便上网安装软件)
vi /etc/yum.conf
在最后一行加入
proxy=http://192.168.3.139:808
安装vlock工具(安全需要)
yum install -y vlock
安装zip工具
yum install -y unzip zip
注意:
在64位的centos上安装的时候会报错:XAMPP is currently only availably as 32 bit application
这个是因为xampp默认不支持64位系统,需要安装兼容包
yum install -y glibc*i686
/opt/lampp/lampp start启动服务时继续报错:libgcc_s.so.1 must be installed for pthread_cancel to work
将centos5.5 32bit系统/lib/libgcc_s.so.1文件拷贝到64bit的的/lib目录下即可
发现无方法访问,原来是开启了防火墙
查看防火墙信息:
#/etc/init.d/iptables status
关闭防火墙服务:
#/etc/init.d/iptables stop
服务器时间调整
date -s 06/21/2014 将当前系统时间调整为2014年6月21日
date -s 18:39 将当前系统时间调整为18:39
hwclock -w 将系统时间写入硬件
②通过/opt/lampp/lampp security设置服务密码
a.修改php.ini文件运行上传最大文件大小(/opt/lampp/etc/php.ini)(如果不通过phpmyadmin本地执行sql文件,不需要设置该项)
①/opt/lampp/etc目录下的php.ini文件
upload_max_filesize
post_max_size
include_path = ".:/opt/lampp/htdocs/td"
.:/opt/lampp/htdocs/MYOA/webroot
upload_tmp_dir = /tmp
②/opt/lampp/phpmyadmin目录下的import.php文件
$memory_limit = 8 * 1024 * 1024;
b.修改apache的httpd.conf文件(/opt/lampp/etc/http.conf)将根目录指向OA的web目录
DocumentRoot "/opt/lampp/htdocs/MYOA/webroot"
修改允许通过非ssl通道访问
<Directory />
Options FollowSymLinks
AllowOverride None
#XAMPP
#Order deny,allow
Allow from all
</Directory>
c.编辑/opt/lampp/etc/my.cnf文件允许网络访问mysql
#skip-networking //注释掉该选项
2.准备通达OA2008 PHP程序
在windows中安装好通达OA,MYOA整个文件打包(2008不支持linux下的注册,所以要先破解)
修改MYOA/webroot/general/mytable下的文件名为英文避免乱码(一并修改mytable表中的MODULE_FILE字段文件名为对应的英文文件名)
打包myoa/webroot下的所有文件成webroot.zip,上传到/opt/lampp/htdocs/td目录中并解压
unzip webroot.zip
3.将td_oa数据库导出成sql文件(或者直接将整个数据库拷贝过去放在/opt/lampp/var/mysql目录下)
①/opt/lampp/bin/mysql -u root -p
创建数据库TD_OA;
use TD_OA;
source /opt/td_oa.sql;
②将表名全修改为大写,运行后拷贝生成的sql脚本语句在phpmyadmin中运行即可,修改所有TD_OA数据库表文件为777的权限(chmod 777 /opt/lampp/var/TD_OA/*.*)
==================================================
<?php
header('content-type:text/html;charset=utf-8');
//将数据库表名全部转换成大写
//连接数据库
$conn=mysql_connect('localhost:3336','root','myoa888');
if(!$conn) { print_r(mysql_error()); }
//选库
$sql='use td_oa';
mysql_query($sql) or die('select database error');
//设置字符集
$sql='set names utf8';
mysql_query($sql);
$sql = 'show tables';
$res = mysql_query($sql);
$tables = array();
while($row = mysql_fetch_row($res)){
$up = strtoupper($row[0]);
$sql = "alter table `".$row[0]."` rename `".$up."`";
echo $sql,'<br />';
}
?>
==================================================
③修改MYOA/inc/oa_config.php
if($ROOT_PATH=="") $ROOT_PATH="/opt/lampp/htdocs/MYOA/webroot/"; //-- 附件路径配置(Unix/Linux) -- //$ATTACH_PATH="/myoa/attachment/"; //$ATTACH_PATH2="/myoa/attach/"; $ATTACH_PATH="/opt/lampp/htdocs/MYOA/attachment/"; $ATTACH_PATH2="/opt/lampp/htdocs/MYOA/attach/";
//-- MYOA数据库配置 --
$MYSQL_SERVER="localhost:3336";
$MYSQL_USER="root";
$MYSQL_DB="TD_OA";
$MYSQL_PASS="pass";
4.安装ZendOptimizer
上传ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz到/opt目录
解压并安装
gzip -d ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
tar xvf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar
cd ZendOptimizer-3.3.0a-linux-glibc21-i386
sh install.sh
配置其中php.ini文件路径,如图
如果是64位的centos需要指定apache路径
mysql修改数据库名称直接可以用phpmyadmin
访问公告报错There is no 'root'@'127.0.0.1' registered,开启my.cnf文件网络访问即可
编辑/opt/lampp/etc/my.cnf文件允许网络访问mysql
#skip-networking //注释掉该选项
mysql修改数据库名称直接可以用phpmyadmin
功能加强:
①修改启动项,让mysql,apache服务随系统启动
方法一
vi /etc/rc.d/rc.local
在最后加入启动指令
web服务器设置
/opt/lampp/lampp startapache
/opt/lampp/lampp startftp
mysql数据库服务器
/opt/lampp/lampp startmysql
方法二
egrep :initdefault: /etc/inittab #查看系统默认启动级别
cd /etc/rc.d/rc3.d
ln -s /opt/lampp/lampp S99lampp
ln -s /opt/lampp/lampp K01lampp
后续工作
一、二次开发文件上传
1.JS文件上传(webroot\inc\js\custom文件上传)
2.自动计划任务上传(webroot\widget)
3.PHP插件上传(F:\23620131125\webroot\general\workflow\plugin\turn)
***4.会议室和车辆申请附件页面关闭(信息安全)
二、修改目录权限
chmod -R 777 /opt/lampp/htdocs/MYOA/attach
三、附件同步主要是针对发文(web1和web2)
MYOA\attach
四、单点登录文件同步
SSO文件夹
五、所有的视图都要重新建(表名改为了大写 考勤、运营平台)
alter table rtx_user rename RTX_USER
alter table ehr_user rename EHR_USER
六、优化
①开启eAccelerator加速器(加速PHP)
修改/opt/lampp/etc/php.ini:
;extension="eaccelerator.so"
;eaccelerator.shm_size="16"
;eaccelerator.cache_dir="/opt/lampp/tmp/eaccelerator"
;eaccelerator.enable="1"
;eaccelerator.optimizer="1"
;eaccelerator.check_mtime="1"
;eaccelerator.debug="0"
;eaccelerator.filter=""
;eaccelerator.shm_max="0"
;eaccelerator.shm_ttl="0"
;eaccelerator.shm_prune_period="0"
;eaccelerator.shm_only="0"
;eaccelerator.compress="1"
;eaccelerator.compress_level="9"
②在web和mysql数据库中分别添加计划任务检测mysql和apache服务是否正常运行如果没有正常运行则启动服务
③每天备份mysql数据库并删除15天以前备份
#关闭mysql数据库服务
service mysqld stop
#创建以当前日期为名称的目录
cd /backup/mysqlbak
time=$(date '+%Y%m%d')
mkdir $time
cp /data/mydata/TD_OA/*.* /backup/mysqlbak/$time
#备份完成后开启mysql数据库服务
service mysqld start
service vsftpd start
#删除15天以前的备份
find /backup/mysqlbak -type d -mtime +15 -exec rm -rf {} \;
#设置备份目录的权限,方便其他服务器备份
chmod -R 777 /backup/mysqlbak/ 计划任务:
# vim /etc/crontab
01 3 * * * mysql /usr/sbin/bakmysql
④/opt/lampp/etc/my.cnf文件修改优化(优化mysql)
====================================================================================================
OA系统由windows切换linux系统计划
1.发送邮件通知
各位同事:
大家好!6月21日晚上8点至6月22日下午3点OA系统将进行切割以改善性能,期间将暂停访问,请大家相互转告!
周六15:00前、周日15:00后正常服务,请周末加班的同事尽可能在服务时间使用,带来不便敬请谅解!
IT部
XX年-XX月-XX日
2.部署好linux web和linux mysql数据库
3.停止OA系统访问(关闭前端apache和数据库Mysql服务)
拷贝TD_OA成另外一份
4.切换数据库系统(前提是部署好linux web1和linux web2)
5.内网和外网IP切换:
6.测试
①局域网IP能否访问
②通过域名能否访问
③能否通过门户访问
④测试方案中的功能点