您的位置:首页 > 其它

Cacti中文版:安装及汉化说明(内含cacti中文版软件包)

2009-07-17 16:36 495 查看
开发环境:

1. Linux 2.6.17-gentoo-r8 #2 SMP sparc64 sun4u TI UltraSparc II (BlackBird) GNU/Linux

2. perl, v5.8.8 built for sparc-linux

3. PHP 5.1.6-pl6-gentoo (cli) (built: Nov 24 2006 06:04:31)

Copyright (c) 1997-2006 The PHP Group

Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

'./configure' '--with-apxs2=/usr/local/apache/bin/apxs'
'--with-mod_charset' '--enable-cli' '--enable-safe-mode'
'--enable-sigchild' '--enable-magic-quotes' '--enable-rpath'
'--enable-short-tags' '--enable-libgcc' '--enable-versioning'
'--enable-ipv6' '--with-pcre-regex' '--with-zlib' '--with-bz2'
'--enable-bcmath' '--enable-calendar' '--enable-ctype' '--enable-dba'
'--with-curl' '--enable-dio' '--with-regex' '--enable-zend-multibyte'
'--enable-zend-memory-manager' '--enable-memory-limit'
'--enable-inline-optimization' '--enable-xml' '--enable-wddx'
'--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm'
'--enable-sockets' '--with-mm' '--enable-shmop' '--enable-session'
'--with-readline' '--with-libedit' '--with-qtdom' '--enable-pcntl'
'--with-ncurses' '--with-mysql' '--with-mime-magic' '--with-mcrypt'
'--enable-mbstring' '--enable-mbregex' '--enable-java' '--with-iconv'
'--with-gd' '--enable-ftp' '--with-dom' '--with-mod_charset'
'--with-libmbfl'

4.mysql Ver 14.12 Distrib 5.0.26, for unknown-linux-gnu (sparc) using readline 5.1

./configure --with-big-tables --enable-thread-safe-client
--enable-assembler --enable-largefile --with-mysqlfs --with-isam
--with-extra-charsets=all

5.Apache/2.0.58

./configure --enable-shared=max

6.RRDtool 1.2.15

7.cjkuni-fonts中文字体,字体名ukai.ttf,下载地址

http://ftp.tw.debian.org/debian/pool/main/t/ttf-arphic-ukai/ttf-arphic-ukai_0.1.20060928.orig.tar.gz

安装说明:

1.php要求支持mbstring,mbstring需要libmbfl库,Cacti使用了pcre,所以在编译中一定要加入--with-
pcre-regex --with-mbstring
--with-libmbfl三项,都无需指定路径(切记).其它如gd,mysql等的支持当然不用说了.

2.RRDtool 1.2.15已经支持多字节语言了,我只修改了rrd_graph.c.将

行51: {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2,
TMT_HOUR,4, 0,"%d日(%H:%M)"},


53: {180, 24*3600, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,12, 0,"%d日(%H:%M)"},


55: {600, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"周%a(%d日)"},


56: {1200, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"%d日"},


57: {1800, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"周%a(%d日)"},


58: {2400, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"周%a(%d日)"},

行59: {3600, 0, TMT_DAY,1, TMT_WEEK,1, TMT_WEEK,1, 7*24*3600,"%V周"},

行60: {3*3600, 0, TMT_WEEK,1, TMT_MONTH,1, TMT_WEEK,2, 7*24*3600,"%V周"},

行3065: //setlocale(LC_TIME,"");

秆3066: #ifdef HAVE_MBSTOWCS

行3067: setlocale(LC_ALL,"zh_CN"); //zh_CN,zh_CN.GB2312,zh_CN.UTF-8都可以.

注:

1)Freebsd下最好使用zh_CN.UTF-8,详见/usr/share/locale/目录,此目录下有当前支持的locale文件,若无相关
zh_CN*,自行安装,使用locale -a命令可以查看当前系统支持的locale,经尝试使用zh_CN与zh_CN.GB2312都有问题。

另外在编译时,可能会有一个错误发生在生成rrdupdate.o时,是由于编译时没有指定
-c后参数,到src目录下手动编译一下,然后回到主目录,make继续即可, -c后的参数为
rrd_update.c.(rrdtool-1.2.15时的错误,freebsd6.1下)

在编译时,可能会有一个错误在sed 's,@''exec_prefix@,/usr/local/rrdtool,' >
cgi-demo.cgi.此时ctrl-c中止编译,到example目录下手运行sed
's,@''exec_prefix@,/usr/local/rrdtool,' cgi-demo.cgi.in >
cgi-demo.cgi,然后回到主目录,make继续即可.(rrdtool-1.2.18的错误,freebsd6.1下)

2)使用UTF-8时,请打上cacti-xxx-cn-***-utf8.patch补丁。若按以上修改了rrd_graph.c,确认此文件编码为utf-8。

3)建议使用1.2.15以上版本.^_^

3.如何生成cacti库

mysql>
create database
cacti default character set gb2312
;//
utf-8环境为 set utf8

mysql> set NAMES 'gb2312';
//
utf-8环境为 set utf8

mysql> use cacti;

mysql> source /你的路径/cacti.sql

(上述是为了在cacti.sql中的中文不会受影响)

因为为了更好的支持中文,并且少受环境影响我在Cacti的lib/adodb/drivers/adodb-mysql.inc.php文件中加入

行461: mysql_query("SET NAMES 'gb2312'");

使每次查询时都使用gb2312编码.(utf-8环境为Set Names 'utf8')

4.为了更好的支持中文,将Cacti中的ereg相关函数全部更新为mb_ereg相关函数.所以需要上述1的支持.

5.没有必要建立linux的中文环境,但一定要在系统中有支持中文的TrueType字体, 安装完成后, 在全局设置中加入此中文字体完整路径,图像即可正常显示中文.

6.由于本人近视严重,所以此版的默认字体大小为16px/14px,原始版为14px/12px/10px,用户可根据个人喜好自行修改.

7.加入了xml输出和输入中文支持,范例为
resource/snmp_queries/interface.xml,修改部分为lib/xml.php:(在测试apache2.0.58,php5.1.6中)

行48: if ($vals[$i]['value']) array_push($children, mb_convert_encoding($vals[$i]['value'],'GB2312','UTF-8'));

行56: array_push($children, mb_convert_encoding($vals[$i]['value'],'GB2312','UTF-8'));

行62: $children{($vals[$i]['tag'])} = mb_convert_encoding($vals[$i]['value'],'GB2312','UTF-8');

注意:在有些版本的php中,xml模块函数对于编码的处理可能是正确的,此时应改回来。即(在测试apache1.3.37,php4.4.4中)

行48: if ($vals[$i]['value']) array_push($children, $vals[$i]['value']);

行56: array_push($children,$vals[$i]['value']);

行62: $children{($vals[$i]['tag'])} = $vals[$i]['value'];

我想可能是xml的模块函数有所改进吧。

8.此汉化版本纯属答谢CU中关心,热爱Cacti的人们所做,如有翻译不当或错误之处,敬请谅解.]

软件包为最新版本(Cacti0.8.6j)的汉化版,(patch为rrdtool设置为zh_CN.UTF-8时使用)下载为:



文件:cacti-0.8.6j-cn.tar.gz
大小:1094KB
下载:下载


文件:cacti-0.8.6j-cn-utf8.patch.gz
大小:114KB
下载:下载
cacti使用的Plugin Architecture v1.1的中文使用的补丁.



文件:cacti-0.8.6j-cn-1min.diff.gz
大小:2KB
下载:下载


文件:cacti-0.8.6j-cn-utf8-1min.diff.gz
大小:2KB
下载:下载
9. 汉化版日志:

1)2006年11月6日在CU中戏言过两天提供一个汉化包.

2)2006年11月21日开始汉化工作,基于0.8.6h版,rrdtool 1.2.6.

3)2006年11月22日解决中文方式的库读写,重编php加入mbstring支持,解决页面显示中文显示问题.

4)2006年11月23日在汉化之余偶然看到台湾的某个论坛有人说rrdtool1.2.15版全面支持多字节语言,重建环境,使用rrdtool1.2.15.

5)2006年11月25日决定工作进程转向汉化并升级到版0.8.6i.

6)2006年11月26日在手动比对1万多条更新信息后完成升级工作.

7)2006年11月27日完成最后的页面翻译及调试工作后发布版本.

8)2006年11月28日00:00:5分完成此文,由此耽误了汉化版于27日发布的任务,自嘲一下.

9)2006年11月29日更改翻译错误,加入了xml生成和读取的中文支持,xml文件格式范例为resource/snmp_queries/interface.xml.

10)2006年11月30日修改添加图像查看中一个有关安全的选项,修改了一些小错误.

11)2006年12月13日打上官方补丁.

12)2006年12月14日加入关于升级安装建议。

13)2006年12月15日修改了安装文档中的一些错误,对于它们给您带来的不便深感慊意。

14)2006年12月16日修改cacti.sql中的几处汉化错误,加入相关软件的我的编译选项.

15)2006年12月29日修改xml.php,将iconv替换为mb_convert_encoding.对于此处的问题做了测试,暂时没有好的方案适合所有平台.

16)2007年1月6日完成在freebsd上的测试(vmvare-ws6 freebsd6.1 apache 1.3.37 php4.4.4 mysql4.1.22).

17)2007年1月13日打上官方3个安全补丁,完成UTF-8版,在开发环境及vmvare-ws6 freebsd6.1 apache
1.3.37 php4.4.4 mysql4.1.22测试通过.修改安装文档。尽可能详细描述安装过程。

18)2007年1月22日升级为0.8.6j版.

19)2007年1月30日测试rrdtool-1.2.18,可以正常使用.

20)2007年2月2-15日打上官方3个补丁.

21)2007年6月5日加入Plugin Architecture v1.1的中文版补丁.(感谢"李寻欢"同学的帮助)

22)2007年6月19日更新安装包,测试rrdtool-1.2.23,开始plugin的支持工作.

10.升级安装建议

1)先用英文版升级看行不行,如果行,mysqldump -n cacti > bakcacti.sql 备份库.

vi bakcacti.sql 第一行加入 SET NAMES 'gb2312'; //UTF-8环境为SET NAMEs 'utf8'

grep -v '///*' bakcacti.sql | sed '/DROP TABLE/d' | sed "s/latin1
/gb2312/" > bakcacti2.sql

//UTF-8环境为"s/latin1/utf8/"

注意"s/latin1
/gb2312/"是为了替换原来的charset设置,

2)在mysql下

mysql>drop database cacti;

mysql>create database cacti default character set gb2312;

/
utf-8环境为 set utf8

mysql>source /你的路径/

bakcacti2.sql

3)tar -zxvf cacti-0.8.6i-cn-***.tar.gz

cp -pvR

cacti-0.8.6i-cn-***/* /你的cacti安装路径/

(UTF-8环境下还要打上

cacti-xxx-cn-***-utf8.patch补丁)

4)汉化库的备份及导入:

备份mysqldump -uroot -p cacti --default-character-set=gb2312 > cacti.sql

导入 (

utf-8环境为
--default-character-set=utf8)

mysql>set NAMES 'gb2312';

//UTF-8环境为SET NAMEs 'utf8'

mysql>use cacti;

mysql>source

/你的备份路径/cacti.sql

11.关于UTF-8
由于前面提供的都是以gb2312编码的cacti,用的locale为UTF-8,所以文件都得用iconv进行转换.
形式为iconv -f GB2312 -t UTF-8 输入文件 > 输出文件.
另外使用gb2312的地方改为UTF-8即可.

注:

1)iconv批量修改方式为在shell下运行
find cacti-xxxx -type d -exec mkdir -p utf/{} ';'
find cacti-xxxx -type f -exec iconv -f GB2312 -t UTF-8 {} -o utf/{} ';'

2)我已经提供关于UTF-8的补丁,此部分为编码转换参考,你可以轻松获得big5,big5-utf8的cacti汉化版本.



文件:cacti-plugin-0.8.6j-cn.diff.gz
大小:10KB
下载:下载


文件:cacti-plugin-0.8.6j-cn-utf8.diff.gz
大小:10KB
下载:下载
cacti-0.8.6j的1分钟更新补丁(支持cmd.php,cactid)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: