读书频道 > 网站 > 网页设计 > Cacti实战
2.2.1 Windows Server平台的环境搭建
15-07-28    下载编辑
收藏    我要投稿   

本文所属图书 > Cacti实战

全书共12章,分为4篇:准备篇(1~2章):详细地介绍了Cacti的起源、发展、适用场景、架构、原理,以及它的安装、配置和更新;基础篇(3~5章):详尽地讲解了Cacti的三大流程、各项功能的操作使用,以及它的用户管理;立即去当当网订购

“原材料”准备好了,但距离Cacti成功运行还有一步之遥,必须正确、完整地安装配置Cacti所需的环境和服务,本节分为Windows和Linux两个平台来介绍安装和配置Cacti系统需要的基础环境和服务。

2.2.1 Windows Server平台的环境搭建

以Windows Server 2008 R2 Standard版本为例,基于IIS的Windows平台的Cacti环境配置流程如图2-1所示。


 

当然,在Windows平台上,可以使用Apache的Httpd组件来代替Windows自带的IIS组件,那么,基于Apache Httpd的Windows平台的Cacti环境配置流程如图2-2所示。


 

在图2-2中,可以发现一个叫作“APPServ”的模块,它是一个为用户打包好的,集成了Apache、PHP、MySQL的程序,有了它就不需要手动繁琐地安装和配置,“APPServ”部分也将在本章介绍。

下面进入Cacti基础环境配置的实战部分。

1.PHP的安装与配置

可以从http://windows.php.net/download/下载最新版的PHP安装程序,通常该程序是一个ZIP压缩包,本书把压缩包解压至E:\php。

这里需要注意一点,如果目前的环境使用Windows自带的IIS作为Web服务,则PHP程序需要下载Non-Thread-Safe(NTS)版本,这是一个“大坑”,选择错误的版本,会导致后续在配置PHP时,缺少相关的配置文件和功能模块,所以切记要选对版本。图2-3为PHP官方网站的声明截图。

如果目前的环境使用Apache的Httpd来作为Web服务,则PHP程序需要下载VC6版本,这也是一个“大坑”,选择错误,会导致Apache环境中的PHP模块加载不上,或者出现加载错误,切记要选择正确的版本。图2-4为PHP官方网站的声明截图。


 

同时,如果Apache选择集成了OpenSSL的版本,如httpd-2.0.65-win32-x86-openssl-0.9.8y之类的,则PHP要选择Thread Safe的版本;如果Apache选择no-ssl,如httpd-2.0.65-win32-x86-no_ssl,则PHP也必须选择no thread safe版本。

(1)Windows IIS环境下的PHP的安装配置

PHP软件的安装步骤和操作如表2-3所示。这里需要说明的是,对于软件的安装及配置,本书都将以类似于表2-3的表格形式呈现出来。


 

下面配置系统环境变量,依次选择“开始”→“控制面板→系统和安全→系统”,弹出如图2-5所示的界面。

选择“更改设置”,会弹出如图2-6所示的对话框。

点击“环境变量”按钮,弹出如图2-7所示的对话框。


  
 

 

在“环境变量”对话框中的“系统变量”列表框中选择“Path”选项,点击“编辑”按钮,弹出如图2-8所示的对话框。

在变量值的最后加入“;E:\php\;E:\php\extras\mibs”,千万不要忘记加入语句最前面的分号!

还需要注意一点,如果使用的是PHP 4版本,“E:\php\extras\mibs”路径应该设置为“E:\php\mibs”,如果使用的是PHP 5版本,则“E:\php\extras\mibs”保持不变。

下面修改PHP的配置文件内容,如果使用的是PHP 4或更早的版本,那么将配置脚本2-1中的内容,复制后粘贴到E:\php\php.ini.dist文件的最后即可,不要忘记把E:\php\php.ini.dist文件重命名为php.ini。

配置脚体2-1 修改PHP配置文件增加扩展功能

extension_dir = e:\php\extensions
extension=php_snmp.dll
extension=php_sockets.dll
cgi.force_redirect = 0

如果使用的是PHP 5或以前版本,将配置脚本2-2中的内容复制后粘贴到C:\php\php.ini.dist的最后即可,也不要忘记重命名文件为php.ini。

配置脚体2-2 修改PHP配置文件增加扩展功能

extension_dir = e:\php\ext
extension=php_mysql.dll
extension=php_snmp.dll
extension=php_sockets.dll
cgi.force_redirect = 0

上面增加的内容主要是为了让PHP程序可以支持更多的扩展包,当然,这些扩展包可不是真的用来“扩展”的,它们是Cacti系统可以运行的必备组件。

注意,除了以上的修改内容以外,如果在配置文件中出现了“session.save_path=c:\tmp”这样的内容,就需要去掉它。

(2)Windows Apache环境下的PHP的安装配置

前面介绍了关于版本的问题,笔者在安装Cacti环境的过程中,版本几乎成了头号敌人,有时候报错原因非常诡异,根本找不到问题点,但是尝试着换一个软件版本,问题就解决了,我们真的不想大家还像我们以前一样,一点点地死磕版本。回到正题上来,如果使用Apache的Httpd作为Web服务器的话,则需要安装的PHP版本也要做出相应的改动,本书中使用的是php-5.2.10-Win32-VC6-x86,它可以兼容Apache httpd-2.0.65-win32-x86-openssl-0.9.8y版本的Web服务器。

PHP的安装过程,请参考如表2-4所示的内容。


 

PHP在Apache环境下的配置,与在Windows环境下没有什么区别。

首先需要更改系统的环境变量,然后修改PHP的配置文件,这两部分内容在前面已经介绍过,这里就不再赘述了。

2.IIS的安装与配置(也可以使用Apache,二者选其一)

IIS是Windows操作系统内置原生的Web程序,在使用它之前,需要进行一些配置,使IIS能够和PHP对接,协同工作。

首先确认操作系统已经正确安装了IIS功能,并且启用了CGI功能,如图2-9所示。


 

IIS 7.5为了易于PHP程序的安装,增设了PHP Manager模块。这个模块极大地简化了PHP的配置工作,只要简单安装,IIS就会自动完成相关配置,其下载地址为http://phpmanager.codeplex.com/releases/view/69115


 

下面讲解如何将IIS和PHP对接。

重新打开IIS的管理控制台,会发现多了一个叫作PHP Manager的图标,如图2-10所示。


 

双击“PHP Manager”图标,打开如图2-11所示的界面,会发现IIS服务中还没有加载PHP的相关支持程序,选择“Register new PHP version”。


 

在如图2-12所示的对话框中选择“php-cgi.exe”文件的保存路径,点击“确定”按钮,IIS会自动加载PHP的相关程序,如图2-13所示。


 


 

点击“Check phpinfo()”链接,弹出如图2-14所示的对话框,点击“确定”按钮,测试IIS和PHP的连通性。


 

如果弹出如图2-15所示的画面,则说明IIS和PHP已经成功对接了。


 

3.Apache的安装与配置(也可以使用IIS,二者选其一)

除了Windows原生的IIS组件可以作为Web服务器之外,Apache的Httpd也是一个很好的选择,它同样可以提供Web访问的服务。IIS和Apache两者选其一即可,作者不建议在同一个系统上安装两个Web服务器,这样会给后续的工作造成诸如“端口占用”的棘手问题。

这里选择httpd-2.0.65-win32-x86-openssl-0.9.8y版本的软件,按照之前在PHP安装配置部分关于版本选择的说明,这里需要选择PHP的对应版本是具有Thread safe功能的,并且是VC6版本的php-5.2.10-Win32-VC6-x86。

Apache的安装过程,请参考如表2-6所示的步骤说明。


 

下面需要配置Httpd的文件,Httpd的配置文件通常放在安装目录当中,名称为httpd.conf,当然,如果怕弄错配置文件,可以在开始菜单中找到正确的配置文件,如图2-16所示。


 

在介绍配置方法前,需要说明一点,因为版本不同,Apache的配置文件有几种不同的配置方案,下面分别介绍。

1)如果使用的是Apache 1.3.x和PHP 4版本,那么将配置脚本2-3中的内容加入配置文件中。

配置脚体2-3 Apache程序的配置脚本

LoadModule php4_module c:\php\sapi\php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php
DirectoryIndex index.html index.htm index.php

2)如果使用的是Apache 2.x和PHP 4版本,那么将配置脚本2-4中的内容加入配置文件中。
配置脚体2-4 修改PHP配置文件增加扩展功能

LoadModule php4_module c:\php\sapi\php4apache2.dll
AddType application/x-httpd-php .php
DirectoryIndex index.html index.htm index.php

3)如果使用的是Apache 2.x和PHP 5版本,那么将配置脚本2-5中的内容加入配置文件中。
配置脚体2-5 修改PHP配置文件增加扩展功能

LoadModule php5_module c:\php\php5apache2.dll
AddType application/x-httpd-php .php
DirectoryIndex index.html index.htm index.php

按照不同的Apache版本配置好之后,测试Apache和PHP两个组件之间的连通性。在E:\httpd\Apache2\htdocs目录中手动创建一个测试文件,名称可以是test.php,在这个文件中输入配置脚本2-6中的内容。

配置脚体2-6 修改PHP配置文件增加扩展功能

<php
phpinfo();
>

打开浏览器,在地址栏中输入http://localhost/test.php。看看是否有输出,也许会没有输出,仅仅是一个空白页,这通常情况下是由权限问题、环境变量设置问题、模块加载造成的。首先需要查看Apache的错误日志,这里通过一个比较复杂的例子来说明。

当查看日志记录2-1时,发现Apache启动时已经成功加载了PHP模块,但是输出了错误。
日志记录2-1 Apache的日志记录

PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_mssql.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_oci8.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_pdo_mssql.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_pdo_oci.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_pdo_oci8.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_pdo_pgsql.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_pdo_sqlite_external.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_pgsql.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_pspell.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\PHP\\ext\\php_sybase_ct.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0

这是为什么呢?查询相关手册得知,原来在安装PHP程序时,选择了完全安装,但是这些链接库是有相互依赖关系的,造成了冲突,那么怎么解决呢

很简单,手动修改PHP配置文件,将日志中提到的模块注释掉,如图2-17所示。


 

重启Apache服务,Bingo!测试成功。


 

4.MySQL的安装与配置

MySQL是负责整体Cacti系统的元数据存储的部分,下面介绍它在Cacti系统环境中的安装配置参考表2-7的内容。



 

安装好MySQL之后,不一定只在本地对它进行维护,也有一些场景要通过另外一台设备远程连接,但是MySQL默认的属性不允许远程连接,这就需要对它进行修改,请参考配置脚本2-7中的内容。

配置脚体2-7 开启MySQL数据库实例的远程连接

#mysql -u root –p
#输入root密码
#mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码’ WITH GRANT OPTION;

然后重启MySQL服务即可。

5.AppServ的安装与配置(傻瓜安装模式)

有人看到上面描述的安装配置过程,估计是要晕掉的,Cacti的安装环境这么麻烦,算了,算了,不用了!

其实这些配置过程都非常基础,但工作量比较大。有没有什么简便快速的方法可以让Web服务器运行起来呢?有的,那就是AppServ。这是一个能够帮助用户快速搭建Web环境的软件包。

可以从官方网站上下载,然后点击安装程序,进行安装。安装过程请参考表2-8中的内容。


 

程序安装结束之后还没有完,还记得我们曾经做过的那些配置么?对,如果使用AppServ来快速构建Web环境,一样也逃不了修改配置文件的命运,还是老老实实修改配置吧,正好让我们一起再复习一遍。

1)Apache的配置:添加配置脚本2-8中的语句到httpd.conf文件中。

配置脚体2-8 Apache的配置

LoadModule php5_module c:\php\php5apache2.dll
AddType application/x-httpd-php .php
DirectoryIndex index.html index.htm index.php

2)PHP的配置:添加配置脚本2-9中的语句到php.ini文件中。

配置脚体2-9 PHP的配置

extension_dir = E:\AppServ\php5\ext
extension=php_mysql.dll
extension=php_snmp.dll
extension=php_sockets.dll
cgi.force_redirect = 0

重启AppServ服务,输入http://localhost/phpinfo.php进行测试,如图2-19所示。


 

安装配置完成。下一步就是配置MySQL数据库。这一点请参考上面的MySQL部分,这里不再赘述了。

6.RRDTool的安装与配置

从官方网站RRDTool:http://www.cacti.net/downloads/rrdtool/win32/下载RRDTool的程序包,这个程序包不用安装,下载完成后解压缩,将解压出来的文件中的所有文件复制到“C:/cacti”路径下即可。

7.Net-SNMP的安装与配置

在Net-SNMP的官方网站http://net-snmp.sourceforge.net/下载最新版本的Win64安装文件,并将它安装到“E:/net-snmp”路径下。这个过程没有什么难点,注意将安装路径修改正确即可。

至此,已经将在Windows平台上构建Cacti系统的环境准备好了。在正式安装Cacti主体程序之前,还需要学习如何在Linux平台上搭建基础环境。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站