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

来源:互联网 发布:基于标签的分析算法 编辑:程序博客网 时间:2024/06/05 07:24
 
 

开发环境:
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 apache1.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)

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 机动车登记证丢了怎么办 b1驾照扣了9分怎么办 听力正常体检不过关怎么办 做完人流第二天同房了怎么办 医院的票据丢了怎么办 体检人体成分(脂肪缺乏)该怎么办 诊断出右下叶肺炎怎么办 做胸透穿钢圈内衣怎么办 预约不上留学体检怎么办 跨省离职后社保怎么办 开车到成都限号怎么办 月经量多怎么办吃什么 报驾校体检视力不达标怎么办 换驾驶证c1一只眼不合格怎么办 考驾照紧张腿抖怎么办 驾照该换了色弱怎么办 怀孕5个月感冒咳嗽怎么办 怀孕4个月喉咙痛怎么办 怀孕5个多月总是咳嗽尿失禁怎么办 怀孕7个月感冒了怎么办 怀孕7个月感冒喉咙痛怎么办 孕38周感冒咳嗽喉咙痛怎么办 嗓子痛咳嗽有痰怎么办 怀孕6个月了咳嗽怎么办 怀孕了咳嗽黄痰怎么办 科二5次没考过怎么办 交警开的罚单丢了怎么办 驾驶员从业资格证被水洗了怎么办 驾照考五次没过怎么办 学车每次考不过怎么办 年检超期3个月怎么办 年检超过3个月怎么办 工商执照年检时候忘记密码怎么办 个体工商营业执照年检过期怎么办 忘了审车时间怎么办 汽车年检超过时间了怎么办 星巴克金星会员到期怎么办 驾考学员证丢了怎么办 违章扣满12分怎么办 违章扣满12分后怎么办 东方时尚驾校科二考不过怎么办