分类: LINUX
2006-11-28 00:10:09
开发环境:
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,下载地址
安装说明:
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使用的Plugin Architecture v1.1的中文使用的补丁.
|
|
cacti-0.8.6j的1分钟更新补丁(支持cmd.php,cactid)
|
|
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
chinaunix网友2008-07-05 11:17:29
请问博主, Cacti需要net-snmp,这块你怎么安装配置的? higkoo@tom.com http://higkoo.blog.sohu.com
chinaunix网友2008-07-05 11:17:26
请问博主, Cacti需要net-snmp,这块你怎么安装配置的? higkoo@tom.com http://higkoo.blog.sohu.com