通达OA2008从windows环境移植到linux部署手册

通达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能否访问

②通过域名能否访问

③能否通过门户访问

④测试方案中的功能点


posted @ 2015-11-24 11:55  reblue520  阅读(785)  评论(0编辑  收藏  举报