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

②通过域名能否访问

③能否通过门户访问

④测试方案中的功能点

通达OA2008从windows环境移植到linux部署手册的更多相关文章

  1. Windows环境下使用Linux命令

    1.说明 如何在Windows环境下使用Linux命令, 这是一个屡见不鲜的问题, 而且已经有很多解决方法, 下面仅推荐几个我觉得好用的工具, 这些工具可能就是我们常用的软件, 而且已经在Window ...

  2. 如何在Windows环境下安装Linux系统虚拟机

    如何在Windows环境下安装Linux系统虚拟机 本篇经验写给想要入门学习C语言的小白们.Windows系统因为使用窗口图形化,操作简单,功能多样,所以我们在Windows环境下可以做到很多,但想要 ...

  3. 在Windows环境中学习Linux

    如何在Windows环境下学习Linux?方法如下: 方法一: 下载Cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,网上有很多安装教程,这里不多说. 方法二: 下载一个 ...

  4. Windows环境下写Linux sh脚本的一次挖坑和填坑

    最近在研究Docker集群和安装的时候,需要准备若干台机器.所以我为节约时间,打算批量复制VM机器,然后用sh脚本命令执行机器名称和IP等基础配置信息的修改. 具体操作:我在windows环境下,用N ...

  5. Windows环境下安装Linux

    怎样实现在现有的Windows系统上安装Linux,实现双系统启动

  6. windows环境redis主从安装部署

    准备工作 下载windows环境redis,我下载的是2.4.5,解压,拷贝一主(master)两从(slaveof).主机端口使用6379,两从的端口分别为6380和6381, 我本地索性用6379 ...

  7. windows环境下模仿Linux环境发起curl请求

    1.到官网下载curl工具包 2.在curl.exe目录中使用(使用方式1) 解压下载后的压缩文件,通过cmd命令进入到curl.exe所在的目录. 由于博主使用的是windows 64位 的系统,因 ...

  8. 将windows项目移植到linux上

    提要:由于项目使用java开发,移植中没有什么编译问题(移植很快,但小问题多) 1.移植过程中遇到的问题: (1).由于项目中使用了 1024以下的端口号,导致网络通信一直出错 原因:因为Linux要 ...

  9. Windows环境下搭建Linux虚拟机

    下载VMware workstation 和 CentOs 或者 redHat .Ubuntu

随机推荐

  1. HDU 3081 Marriage Match II (网络流,最大流,二分,并查集)

    HDU 3081 Marriage Match II (网络流,最大流,二分,并查集) Description Presumably, you all have known the question ...

  2. 洛谷P1247 取火柴游戏

    经典NIM游戏. 取XOR和即可. 注意输出方案时,找到大于异或和sum的,变为a[i] ^ sum即可. #include <cstdio> ; int a[N]; int main() ...

  3. (转)小谈keepalived vip漂移原理与VRRP协议

    背景:之前搭建过keepalived双机热备的集群,但对其中的原理不甚理解,看完就忘了,所有有必要深入的学习下. 简介 什么是keepalived呢?keepalived是实现高可用的一种轻量级的技术 ...

  4. springboot 读取 resource文件

    文件位置信息如图: import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; import ...

  5. JavaScript窗体Window.ShowModalDialog使用详解

    Javascript有许多内建的方法来产生对话框,如:window.alert(), window.confirm(),window.prompt().等. 然而IE提供更多的方法支持对话框.如: s ...

  6. vue2.0 keep-alive最佳实践

    1.基本用法 vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗 <keep-alive> <component> <!-- ...

  7. 解决Win8.1 IE11兼容性问题的方法

    装了64位win8.1企业版,IE11出现了一些兼容性问题,如个别网银网页兼容问题,还有office.迅雷.adobe reader.旋风等等插件不兼容不能加载的问题. 折腾了一天总算全部解决了,主要 ...

  8. VS2010程序崩溃,报错Unhandled exception at **.exe:0xC0000005: Access violation reading location 0x000000008899.

    最近被派到另外一个组支援,从而从Linux下开发暂转到Windows下开发,个人觉得Windows自己搞的一套并不那么完美,坑多. 网文可能出现的原因: 未处理的异常: 0xC0000005: 读取位 ...

  9. python中的位运算符

    按位运算符是把数字看作二进制来进行计算的.Python中的按位运算法则如下,下表中变量 a 为 60,b 为 13,二进制格式如下: a = 0011 1100 b = 0000 1101 ----- ...

  10. 网络编程基础【day09】:实现简单地ssh(四)

    本节内容 概述 简单ssh socket接收大数据的困惑 一.概述 我们用过linux的就知道什么是ssh,它是一种客户端和服务端交互返回的一个解决,输入一个命令,给我返回什么,接下来我们说一说,如何 ...