<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Looki's Blog &#187; debian</title>
	<atom:link href="http://www.liaojun.com/tag/debian/feed" rel="self" type="application/rss+xml" />
	<link>http://www.liaojun.com</link>
	<description>Good Good Study,Day Day Up... </description>
	<lastBuildDate>Wed, 10 Nov 2010 05:02:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>将通达OA2009转移至LNMP平台</title>
		<link>http://www.liaojun.com/363.html</link>
		<comments>http://www.liaojun.com/363.html#comments</comments>
		<pubDate>Thu, 10 Sep 2009 10:32:51 +0000</pubDate>
		<dc:creator>Looki</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[LNMP]]></category>
		<category><![CDATA[通达OA]]></category>

		<guid isPermaLink="false">http://looki.cn/?p=363</guid>
		<description><![CDATA[LNMP=Linux+Nginx+Mysql+PHP（本文是部署在Debian5.0.2平台上）
Nginx 的中文维基：http://wiki.nginx.org/NginxChs
通达OA：http://www.tongda2000.com/download/index.php
具体如何搭建LNMP平台请参考此文：Nginx 0.7.x + PHP 5.2.10（FastCGI）搭建胜过Apache十倍的Web服务器（第5版）
下面主要记录如何将通达OA2009转移至LNMP平台，以及在Linux下的一些注意事项

1、去通达官网下载最新的OA2009安装包，找一台win主机一路next安装好后，停掉除office_task外的其它服务，在把webroot目录打包之前，记得先把\general\mytable目录下的所有以中文命名的模块全部改为英文，这会解决登录OA后桌面不显示的问题，在Apache下则没有这个问题。
2、将打包的webroot在Debian中解压，我是直接放到/home/wwwroot目录下了，注意设置好update、inc、logs和attachment目录的可写权限。
3、在win下将OA数据库整个导出，再在debian中导入，这里需要将所有的表名由小写转为大写，将下面这段代码存为table.php并放到wwwroot目录下运行之即可
&#60;?
 include_once(&#8220;inc/conn.php&#8221;);
 $connection = OpenConnection();
 $FILE_CONTENT=&#8221;";
 $TABLE_ARRAY = mysql_list_tables($MYSQL_DB);
  while($TABLE = mysql_fetch_row($TABLE_ARRAY))
    {
       $TABLE_NAME = $TABLE[0];
       $TABLE_NAME1 = strtoupper($TABLE_NAME);
       $query=&#8221;ALTER TABLE $TABLE_NAME RENAME $TABLE_NAME1;&#8221;;
       echo $query.&#8221;&#60;br&#62;&#8221;;
       exequery($connection,$query);
     }
 echo &#8220;OK!&#8221;;
?&#62;
4、修改inc/oa_config.php，有两处
//&#8211; 附件路径配置(Windows) &#8211;
//$ATTACH_PATH=$ROOT_PATH.&#8221;attachment/&#8221;;
//$ATTACH_PATH2=realpath($ROOT_PATH.&#8221;../&#8221;).&#8221;/attach/&#8221;;
 
//&#8211; 附件路径配置(Unix/Linux) &#8211;
//$ATTACH_PATH=&#8221;/myoa/attachment/&#8221;;
//$ATTACH_PATH2=&#8221;/myoa/attach/&#8221;;
$ATTACH_PATH=&#8221;/home/wwwroot/attachment/&#8221;;
$ATTACH_PATH2=&#8221;/home/wwwroot/attach/&#8221;;
//连接OfficeTask服务的地址和端口
$MYOA_TASK_ADDR = &#8220;192.168.1.8&#8243;; //这里填运行office_task的那台机子的IP
$MYOA_TASK_PORT = 2397;
另外还得在win主机上修改office_task的“定时任务关联地址”及“mysql主机”为debian的IP，并确保office_task能够正常连接到mysql数据库。至此好像是已经完成了，目前运行下来所有功能均正常使用，就天气预报没法显示，一直提示：“error:解析天气数据失败”，不知道是哪里的问题了。

 
5、一些注意事项
php.ini中要设置include_path=&#8221;.:/home/wwwroot&#8221;，要不然登录后会报Failed opening &#8216;inc/auth.php&#8217; for inclusion (include_path&#8230;..之类的错误
编译PHP时，在make之前特别注意，应该编辑Makefile文件 在 EXTRA_LIBS = &#8230;.. -lcrypt 这一行加上 -liconv 否则就会发生undefined reference to `libiconv_open&#8217;等一系列错误。
修改/usr/local/nginx/conf/nginx.conf [...]]]></description>
			<content:encoded><![CDATA[<p>LNMP=Linux+Nginx+Mysql+PHP（本文是部署在Debian5.0.2平台上）</p>
<p>Nginx 的中文维基：<a href="http://wiki.nginx.org/NginxChs" target="_blank">http://wiki.nginx.org/NginxChs</a></p>
<p>通达OA：<a href="http://www.tongda2000.com/download/index.php">http://www.tongda2000.com/download/index.php</a></p>
<p>具体如何搭建LNMP平台请参考此文：<a title=" Nginx 0.7.x + PHP 5.2.10（FastCGI）搭建胜过Apache十倍的Web服务器（第5版）" href="http://blog.s135.com/nginx_php_v5" target="_blank">Nginx 0.7.x + PHP 5.2.10（FastCGI）搭建胜过Apache十倍的Web服务器（第5版）</a></p>
<p>下面主要记录如何将通达OA2009转移至LNMP平台，以及在Linux下的一些注意事项</p>
<p><span id="more-363"></span></p>
<p>1、去通达官网下载最新的<a href="http://www.tongda2000.com/download/index.php" target="_blank">OA2009安装包</a>，找一台win主机一路next安装好后，停掉除office_task外的其它服务，<strong>在把webroot目录打包之前，记得先把\general\mytable目录下的所有以中文命名的模块全部改为英文，</strong>这会解决登录OA后桌面不显示的问题，在Apache下则没有这个问题。</p>
<p>2、将打包的webroot在Debian中解压，我是直接放到/home/wwwroot目录下了，注意设置好update、inc、logs和attachment目录的可写权限。</p>
<p>3、在win下将OA数据库整个导出，再在debian中导入，这里需要将所有的表名由小写转为大写，将下面这段代码存为table.php并放到wwwroot目录下运行之即可</p>
<blockquote><p>&lt;?<br />
 include_once(&#8220;inc/conn.php&#8221;);<br />
 $connection = OpenConnection();<br />
 $FILE_CONTENT=&#8221;";<br />
 $TABLE_ARRAY = mysql_list_tables($MYSQL_DB);<br />
  while($TABLE = mysql_fetch_row($TABLE_ARRAY))<br />
    {<br />
       $TABLE_NAME = $TABLE[0];<br />
       $TABLE_NAME1 = strtoupper($TABLE_NAME);<br />
       $query=&#8221;ALTER TABLE $TABLE_NAME RENAME $TABLE_NAME1;&#8221;;<br />
       echo $query.&#8221;&lt;br&gt;&#8221;;<br />
       exequery($connection,$query);<br />
     }<br />
 echo &#8220;OK!&#8221;;<br />
?&gt;</p></blockquote>
<p>4、修改inc/oa_config.php，有两处</p>
<blockquote><p>//&#8211; 附件路径配置(Windows) &#8211;<br />
//$ATTACH_PATH=$ROOT_PATH.&#8221;attachment/&#8221;;<br />
//$ATTACH_PATH2=realpath($ROOT_PATH.&#8221;../&#8221;).&#8221;/attach/&#8221;;<br />
 <br />
//&#8211; 附件路径配置(Unix/Linux) &#8211;<br />
//$ATTACH_PATH=&#8221;/myoa/attachment/&#8221;;<br />
//$ATTACH_PATH2=&#8221;/myoa/attach/&#8221;;<br />
$ATTACH_PATH=&#8221;/home/wwwroot/attachment/&#8221;;<br />
$ATTACH_PATH2=&#8221;/home/wwwroot/attach/&#8221;;</p></blockquote>
<blockquote><p>//连接OfficeTask服务的地址和端口<br />
$MYOA_TASK_ADDR = &#8220;192.168.1.8&#8243;; //这里填运行office_task的那台机子的IP<br />
$MYOA_TASK_PORT = 2397;</p></blockquote>
<p>另外还得在win主机上修改office_task的“定时任务关联地址”及“mysql主机”为debian的IP，并确保office_task能够正常连接到mysql数据库。至此好像是已经完成了，目前运行下来所有功能均正常使用，就天气预报没法显示，一直提示：“error:解析天气数据失败”，不知道是哪里的问题了。</p>
<p style="text-align: center;"><a href="http://looki.cn/wp-content/photos/200909/oa2009.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="ngg-singlepic ngg-none aligncenter" src="http://looki.cn/wp-content/photos/200909/oa2009.jpg" alt="oa2009" width="450" height="217" /></a></p>
<p> </p>
<p>5、一些注意事项</p>
<p>php.ini中要设置include_path=&#8221;.:/home/wwwroot&#8221;，要不然登录后会报Failed opening &#8216;inc/auth.php&#8217; for inclusion (include_path&#8230;..之类的错误</p>
<p>编译PHP时，在make之前特别注意，应该编辑Makefile文件 在 EXTRA_LIBS = &#8230;.. -lcrypt 这一行加上 -liconv 否则就会发生undefined reference to `libiconv_open&#8217;等一系列错误。</p>
<p>修改/usr/local/nginx/conf/nginx.conf 文件，在设定的虚拟主机字段内加上一句：charset gb2312;否则OA有个别页面会乱码。</p>
<p>============2009.9.27更新=========</p>
<p>天气及资讯问题圆满得到解决，原来是gbk编码的问题，看来通达是得考虑全面转为utf-8编码了，毕竟兼容性更好啊。</p>
<p>转换linux系统默认编码：vi /etc/sysconfig/i18n</p>
<p>将内容更改为：</p>
<blockquote><p>LANG=&#8221;zh_CN.GB18030&#8243;<br />
LANGUAGE=&#8221;zh_CN.GB18030:zh_CN.GB2312:zh_CN&#8221;<br />
SUPPORTED=&#8221;zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en&#8221;<br />
SYSFONT=&#8221;lat0-sun16&#8243;</p></blockquote>
<p>编辑php.ini：vi /usr/local/php/etc/php.ini，将default_charset 改为default_charset = &#8220;gb2312&#8243;，重启机器后，再登陆OA，右上角久违的天气预报终于正常显示了，打开今日资讯也不再显示一块白板了。</p>
<p>我的php编译参数</p>
<blockquote><p>./configure &#8211;prefix=/usr/local/php &#8211;with-config-file-path=/usr/local/php/etc &#8211;with-mysql &#8211;with-mysqli &#8211;with-iconv-dir=/usr/local &#8211;with-freetype-dir &#8211;with-jpeg-dir &#8211;with-png-dir &#8211;with-zlib &#8211;with-libxml-dir=/usr &#8211;enable-xml &#8211;disable-rpath &#8211;enable-discard-path &#8211;enable-safe-mode &#8211;enable-bcmath &#8211;enable-shmop &#8211;enable-sysvsem &#8211;enable-inline-optimization &#8211;with-curl &#8211;with-curlwrappers &#8211;enable-mbregex &#8211;enable-fastcgi &#8211;enable-fpm &#8211;enable-force-cgi-redirect &#8211;enable-mbstring &#8211;with-mcrypt &#8211;with-gd &#8211;enable-gd-native-ttf &#8211;with-openssl &#8211;with-mhash &#8211;enable-pcntl &#8211;enable-sockets &#8211;with-xmlrpc &#8211;enable-zip &#8211;enable-ftp &#8211;enable-exif &#8211;without-pear<br />
make ZEND_EXTRA_LIBS=&#8217;-liconv&#8217;<br />
make install</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.liaojun.com/363.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Debian学习笔记</title>
		<link>http://www.liaojun.com/362.html</link>
		<comments>http://www.liaojun.com/362.html#comments</comments>
		<pubDate>Tue, 08 Sep 2009 04:38:24 +0000</pubDate>
		<dc:creator>Looki</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[学习]]></category>

		<guid isPermaLink="false">http://looki.cn/362.html</guid>
		<description><![CDATA[最近在开始学习Linux，选了debian这个发行版来作为学习的平台，折腾了一周多的时间，得出一个结论：debian真的不适合给新手练手用啊&#8230;.不过我还是会坚持下去的，以下记录的都是我在使用过程中碰到问题，解决的方法都是在网上找到的，在这里汇总一下，方便自己以后查阅。

1、几个系统相关的常用命令
base-config 配置基本系统
apt-setup 配置Apt源.可选择列表或手工导入
apt-get update 系统软件包更新
apt-get upgrade 更新任何软件包并且自动升级成最新
apt-get dist-upgrade 更新软件包并解决软件依赖关系
apt-cache search keyword 查找指定软件包信息
apt-cache show package_name 周详显示指定软件包的信息
apt-get install 安装指定软件包
apt-get remove 移除指定软件包
2、时间不准
在新装Debian的时候，重启后就会进入base-config程序。
提示你是否设定时间为GMT，选否，时区选shanghai。
如果你选择失误，就会被时间的不准所困扰，下面是解决方案。
第一步#编辑文件/etc/timezone为以下内容
Asia/Shanghai
第二步# date MMDDhhmmCCYY
设定系统时间和硬件时间为MM/DD hh:mm, CCYY。
显示时间为本地时间而硬件时间使用UTC。
例1：设置时间为下午14点36分。
# date -s 14:36:00
Fri Nov 26 14：15：00 CST 1999
例2：设置时间为1999年11月28号。
# date -s 991128
Sun Nov 28 00：00：00 CST 1999
第三步# hwclock &#8211;utc &#8211;systohc
第四步# hwclock &#8211;show
附录：
UTC Universal Time Coordinated，世界标准时间
GMT Greenwich Mean Time，格林尼治时间
CST China standard Time ，中国标准时间
#date -u [...]]]></description>
			<content:encoded><![CDATA[<p>最近在开始学习Linux，选了debian这个发行版来作为学习的平台，折腾了一周多的时间，得出一个结论：debian真的不适合给新手练手用啊&#8230;.不过我还是会坚持下去的，以下记录的都是我在使用过程中碰到问题，解决的方法都是在网上找到的，在这里汇总一下，方便自己以后查阅。</p>
<p><span id="more-362"></span><br />
1、几个系统相关的常用命令</p>
<blockquote><p>base-config 配置基本系统<br />
apt-setup 配置Apt源.可选择列表或手工导入<br />
apt-get update 系统软件包更新<br />
apt-get upgrade 更新任何软件包并且自动升级成最新<br />
apt-get dist-upgrade 更新软件包并解决软件依赖关系<br />
apt-cache search keyword 查找指定软件包信息<br />
apt-cache show package_name 周详显示指定软件包的信息<br />
apt-get install 安装指定软件包<br />
apt-get remove 移除指定软件包</p></blockquote>
<p>2、时间不准</p>
<blockquote><p>在新装Debian的时候，重启后就会进入base-config程序。<br />
提示你是否设定时间为GMT，选否，时区选shanghai。<br />
如果你选择失误，就会被时间的不准所困扰，下面是解决方案。</p>
<p>第一步#编辑文件/etc/timezone为以下内容<br />
Asia/Shanghai</p>
<p>第二步# date MMDDhhmmCCYY<br />
设定系统时间和硬件时间为MM/DD hh:mm, CCYY。<br />
显示时间为本地时间而硬件时间使用UTC。</p>
<p>例1：设置时间为下午14点36分。<br />
# date -s 14:36:00<br />
Fri Nov 26 14：15：00 CST 1999</p>
<p>例2：设置时间为1999年11月28号。<br />
# date -s 991128<br />
Sun Nov 28 00：00：00 CST 1999</p>
<p>第三步# hwclock &#8211;utc &#8211;systohc<br />
第四步# hwclock &#8211;show</p>
<p>附录：<br />
UTC Universal Time Coordinated，世界标准时间<br />
GMT Greenwich Mean Time，格林尼治时间<br />
CST China standard Time ，中国标准时间</p>
<p>#date -u 显示标准时间<br />
四 3月 10 03:51:56 UTC 2005</p>
<p>#date 显示本地时间<br />
四 3月 10 11:52:54 CST 2005</p></blockquote>
<p>3、Debian启动时直接进字符界面</p>
<blockquote><p>装完debian后的default runlevel是2，进入/etc/rc3.d目录，把S30gdm重命名为K30gdm。（K表示禁止启动，S为允许启动）</p></blockquote>
<p>4、Debian中设置Apache、MYSQL开机自动启动</p>
<blockquote><p>1.设置Apache：首先把apachectl拷贝到/etc/init.d目录下，并改名为apache2<br />
# cp /自己的安装目录/apache/bin/apachectl /etc/init.d/apache2<br />
然后进入/etc/rc2.d目录，这是debian默认的启动级别。<br />
建立连接指向/etc/init.d/apache2<br />
# cd /etc/rc2.d<br />
# ln -s /etc/init.d/apache2 S20apache2<br />
重新启动系统后，apache自动启动。<br />
2.设置MYSQL：首先拷贝mysql.server到/etc/init.d目录下命名为mysql<br />
# cp /自己的安装目录/mysql/share/mysql/mysql.server /etc/init.d/mysql<br />
然后进入/etc/rc2.d目录，这是debian默认的启动级别。建立连接指向/etc/init.d/mysql<br />
# cd /etc/rc2.d<br />
# ln -s /etc/init.d/mysql S20mysql<br />
重新启动系统后，mysql就自动启动了。</p></blockquote>
<p>5、debian字符界面显示中文</p>
<blockquote><p>apt-get install zhcon<br />
zhcon &#8211;utf8 &#8211;drv=vga<br />
加上此参数启动zhcon就不会黑屏了</p></blockquote>
<p>6、./configure的问题</p>
<blockquote><p>错误： C compiler cannot create executables<br />
原因：<br />
解决：sudo apt-get gcc libc6-dev</p>
<p>错误：checking for C compiler default output&#8230; configure: error: C compiler cannot create</p>
<p>executables<br />
原因：<br />
解决：sudo apt-get install libc6-dev</p>
<p>错误：configure: error: C++ preprocessor &#8220;/lib/cpp&#8221; fails sanity check<br />
原因：gcc的组件没装全<br />
解决：apt-get install build-essential</p>
<p>错误： Can&#8217;t find X includes. Please check your installation and add the correct paths!<br />
原因：没有X的包含文件<br />
解决：安装xlibs-dev即可</p>
<p>错误： Qt (&gt;= Qt 3.0) (headers and libraries) not found. Please check your installation!<br />
原因：查找提供qt的lib&amp;&amp;headers的软件包,并安装之<br />
解决：apt-get install libqt3-headers libqt3-mt-dev</p>
<p>错误：in the prefix, you&#8217;ve chosen, are no KDE headers installed. This will fail.<br />
So, check this please and use another prefix!<br />
原因：install a KDE application in a Gnome environment。<br />
解决：which basically means its going to want to install a lot of KDE specific packages to</p>
<p>work. This &#8216;configure:error&#8217;<br />
is due to it expecting you to be running KDE and again refers to some &#8216;headers&#8217;.<br />
sudo apt-get update<br />
sudo apt-get install kdelibs4-dev kdelibs4c2a</p>
<p>错误：./admin/cvs.sh: 585: autoconf: not found<br />
原因：<br />
解决：apt-get install autoconf</p>
<p>错误： *** GTK &gt;= 2.4.0 not installed! ***<br />
原因：没装GTK<br />
解决：apt-get build-dep gedit</p>
<p>错误：heching for gtk-config&#8230; no<br />
checking for GTK &#8211; version = 1.2.0&#8230; no<br />
*** The gtk-config script installed by GTK could not be found<br />
*** If GTK was installed in PREFIX, make sure PREFIX/bin is in<br />
*** your path, or set the GTK_CONFIG enviroment variable to the<br />
*** full path to gtk-config.<br />
configure: error: Cannot find GTK: Is gtk-config in path?<br />
原因：<br />
解决：sudo apt-get install libgtk1.2-dev</p>
<p>问题：eclipse中encoding不支持中文<br />
解决：编辑/var/lib/locales/supported.d/local，加一行zh_CN.GBK GBK，执行sudo locale-gen</p>
<p>错误：gnome.h: No such file or directory</p>
<p>错误： No package &#8216;libpanelapplet-2.0&#8242; found<br />
原因：<br />
解决：sudo apt-get install gnome-panel</p>
<p>问题：eva不弹出输入法<br />
解决：sudo apt-get install scim-qtimm</p>
<p>问题：No package &#8216;gtk+-2.0&#8242; found<br />
No package &#8216;gtksourceview-1.0&#8242; found<br />
No package &#8216;libgnomeui-2.0&#8242; found<br />
No package &#8216;libglade-2.0&#8242; found<br />
No package &#8216;libgnomeprintui-2.2&#8242; found<br />
解决：sudo apt-get install libgtk2.0-dev libgtksourceview-dev libgnomeui-dev libglade2-dev</p>
<p>libgnomeprint2.2-dev</p>
<p>问题：No package &#8216;libpanelapplet-2.0&#8242; found<br />
解决：sudo apt-get install libpanelappletmm-2.6-dev</p>
<p>===================</p>
<p>编译mysql时候,No curses/termcap library found 错误<br />
./configure 后,出现 “checking for termcap functions library… configure: error: No curses/termcap library found”错误,发现是没有安装curses/termcap库,<br />
#apt-get install libncurses5-dev</p></blockquote>
<p>7、解决Debian中由于&#8221;Starting MTA&#8230;&#8221;造成启动慢的问题</p>
<blockquote><p>出现这种情况的原因:<br />
MTA(message transfer agent,默认装的是Exim) 在启动时会进行DNS lookups(DNS查找) 操作,而如果是拔号上网或是像我用Reijie的话,系统会尝试进行网络连接(即使是连接失败),这将会尝试很长一段时间,所以造成启动慢的问题. ( 这里有详细的解释: Exim 4 for Debian 中的 2.1.1.10. Keep number of DNS queries minimal (Dial-on-Demand) )</p>
<p>解决办法:<br />
1. 编辑文件: /etc/exim4/update-exim4.conf.conf , 找到 dc_minimaldns 字段,并设置为:dc_minimaldns=&#8217;true&#8217;;<br />
2. 重新设置 exim. 运行:sudo dpkg-reconfigure exim4-config<br />
到时选择 Yes 即可。</p>
<p>如果用不到邮件路由，可以用sysv-rc-conf或者rcconf禁用掉exim服务即可</p>
<p>apt-get remove exim4 删除MTA邮件服务器，提高启动速度.<br />
apt-get remove netatalk 删除不必要的 Appletalk（Netatalk是Linux上提供Appletalk网络协议服务的服务器。能够令Linux“伪装”成为苹果机服务器,提供文档及打印服务）</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.liaojun.com/362.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

