在Linux环境下,Cacti的操作系统环境比较容易安装,不论Linux是何版本,都要确认以下的软件是否在Linux操作系统中。
Httpd PHP PHP-MySQL PHP-SNMP MySQL Net-SNMP
本书的操作系统版本是RedHat Enterprise 5.6,在安装操作系统时,为了后续的软件调试方便,选择完全安装,也就是说,Cacti所需的软件环境,大部分都已经在原生的操作系统中了,不需要额外安装。
1.PHP的安装配置
通过php –m命令确认PHP都加载了哪些模块,如图2-20所示。
无论怎样,都要确保PHP环境中已经加载了如下模块。
MySQL SNMP XML Session Sockets LDAP (如果后续需要LDAP认证,则需要用到该模块) GD (有些插件可能会用到)
从图2-20中,大家可能会感到奇怪,为什么GD模块没有被加载上呢?其实主要原因是采用了系统自带的PHP程序,默认配置下,不会自动加载GD模块,需要手动独立添加模块来加载该模块。
目前大部分的操作系统已经将这个工作做得极为简化,以我们手中的操作系统为例,只要安装光盘中的php-gd-5.1.6-27.el5_5.3.x86_64.rpm安装包即可,系统会自动加载文件,如果所用的环境不支持这种方式,也不要着急,下面介绍一种纯粹手动添加模块的方法。
以安装tidy模块为例,需要先通过网络下载tidy的安装包,通常就是源码包,对这个源码包进行解压、编译、安装,请参考配置脚本2-10的内容。
配置脚体2-10 编译安装tidy程序包
#tar zxvf tidy-cvs_20070326.tar.bz2 #cd tidy-cvs_20070326 #./configure --prefix=/usr/local/tidy #make #make install
进入PHP源程序目录中的ext目录,这里存放着各个扩展模块的源代码,选择需要的模块,如tidy模块。执行phpsize程序来生成安装所需的编译文件,注意,phpsize在PHP安装目录的bin目录下,如“/usr/local/php5/bin/phpsize”。运行时,可能会报错,phpsize执行的错误输出如日志记录2-2所示。
日志记录2-2 phpsize执行的错误输出
#Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script
这时候,需要安装autoconf,此软件放在操作系统的安装光盘中,通常以RPM包方式保存,安装光盘中的autoconf程序即可。完成上述操作后,需要生成配置文件,并编译生成模块,参考配置脚本2-11。
配置脚体2-11 phpsize的编译命令
/usr/local/php5/bin/phpsize ./configure--with-tidy=/usr/local/tidy--with-php-config=/usr/local/php5/bin/php-config make make install tidy.so被复制到PHP对应的目录php.ini中,设置扩展目录“extension_dir="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/”,添加扩展模块引用“extension = tidy.so”。
至此模块添加完成。
2.Apache的安装配置(Httpd)
1)开始配置Web服务,找到存放Httpd配置文件的路径,通常该路径
是/etc/httpd/conf/httpd.conf,使用vi命令对它进行编辑,请参考配置脚本2-12。
配置脚体2-12 修改Apache的配置文件
# Load config files from the config directory "/etc/httpd/conf.d". Include conf.d/*.conf #在文件中添加以下的行: LoadModule php5_module modules/libphp5.so AddHandler php5-script .php AddType text/html .php DirectoryIndex index.php
2)重新启动Apache Httpd服务即可。
按照Windows部分的介绍,手动创建一个测试文件,名为test.php,在该文件中输入配置脚本2-13的内容。
配置脚体2-13 修改test.php的配置文件
<php
phpinfo();
>
3)打开浏览器,在地址栏中输入http://localhost/test.php,弹出如图2-21所示的页面,说明Apache+PHP的环境已经配置成功了。
3.MySQL的安装配置
在Linux操作系统下配置MySQL比较简单,系统已经安装好了MySQL程序,只需要设置如配置脚本2-14所示的超级用户root的密码,之后重启MySQL服务即可。
配置脚体2-14 设置root用户的密码
#mysqladmin --user=root password somepassword
#mysqladmin --user=root --password reload
4.RRDTool的安装配置
在Linux环境下安装RRDTool软件很简单,从官方网站下载RRDTool的RPM安装包,安装即可。
这里需要注意一下,作者在安装RRDTool软件的过程中发现该软件在安装过程中不断报错,我们在尝试了很多次之后,发现一个比较可行的解决方案,请参考配置脚本2-15。
配置脚体2-15 安装RRDTool软件
#首先确保操作系统中已经安装了libart模块
#tar zxvf libart_lgpl-2.3.17.tar.gz #cd libart_lgp-2.3.17 #./configure #make #make install #cp -r /usr/local/include/libart-2.0 /usr/include #如果在安装这个软件时报错,则 #安装cgilib-0.5.tar.gz #tar zxvf cgilib-0.5.tar.gz #cd cgilib-0.5 #make #cp libcgi.a /usr/local/lib #cp cgi.h /usr/include #如果仍然报错,则 #安装libart_lgpl-devel这个包 #yum install libart_lgpl-devel #如果还报错configure: error: Please fix the library issues listed above and try again,则 #安装pango-devel和cairo-devel这两个开发包 #yum install pango-devel* cairo-devel*
以上问题都解决之后。记住!需要把rrdtool、rrdtool-devel、perl-rrdtool这3个包在同一时间使用rpm命令安装,来排除它的依赖性问题。
5.建立Cacti用户
如配置脚本2-16所示,需要在Linux操作系统中建立Cacti用户以保证整体系统的安全性,毕竟没有哪个实际的生产环境会让你用root用户“胡作非为”的。
配置脚体2-16 建立Cacti用户
[root@cacti ~]# useradd -g root -G adm cacti [root@cacti ~]# passwd cacti Changing password for user cacti. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
至此,基于Linux操作系统的Cacti基础环境已经配置成功了,下面开始安装Cacti主体程序。