安装rrdtool
在mac上我使用port来安装第三方软件,为了方便,还是使用port来安装rrdtool。
sudo port install rrdtool
macport会安装相应的依赖,比如一些perl的模块RRD等。
但smokeping改为编译源代码来安装。
因为port会额外安装一个apache2,版本还是跟系统自带的apache一样,太不智能了,不想维护2个apache。
安装smokeping
下载smokeping的tar包,解压,编译、安装到/usr/local/smokeping
:
./configure --prefix=/usr/local/smokeping
// 根据configure执行结果,会提示执行脚本`build-perl-modules.sh`来下载需要perl模块
./build-perl-modules.sh /usr/local/smokeping/thirdparty
make
sudo make install
把smokeping目录设置为apache可读可写:
sudo chown -R _www:_www /usr/local/smokeping/
测试配置文件,根据报错来修改配置config文件
/usr/local/smokeping/bin/smokeping --check
安装mod_fastcgi(apache modules)
tar zxvf mod_fastcgi-2.4.6.tar.gz
cd mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile
//修改Makefile中,不同的系统不一样,换成你apache库的所在目录
top_dir = /usr/share/httpd
//在Makefile中增加一项:
CFLAGS = -arch x86_64
//运行
make
make install
其中编译出错,找不到cc:
popozhu ~/Downloads/mod_fastcgi-2.4.6$ make
/usr/share/apr-1/build-1/libtool --silent --mode=compile /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc -I/usr/local/include -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -I/usr/include/apache2 -I. -I/usr/include/apr-1 -c mod_fastcgi.c && touch mod_fastcgi.slo
env: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc: No such file or directory
make: *** [mod_fastcgi.slo] Error 1
做一个链接,搞定:
$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain
这就把mod_fastcgi.so安装到/usr/libexec/apache2
目录下.
修改apache配置
在配置文件/private/etc/apache2/httpd.conf
中,增加对fastcgi模块的加载:
LoadModule fastcgi_module libexec/apache2/mod_fastcgi.so
添加smokeping的根目录,在目录中启用fcgi,同时做一个alias:
<Directory "/usr/local/smokeping/htdocs/">
Allow from all
AllowOverride None
AddHandler cgi-script cgi
AddHandler fastcgi-script .fcgi
Options ExecCGI
</Directory>
Alias /smokeping "/usr/local/smokeping/htdocs/"
Alias /cache "/usr/local/smokeping/cache/"
重启apache:
popozhu /private/etc/apache2$ sudo apachectl restart
popozhu /private/etc/apache2$ ps -ef | grep httpd
0 30702 1 0 2:32下午 ?? 0:00.18 /usr/sbin/httpd -D FOREGROUND
70 30704 30702 0 2:32下午 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND
501 30706 42154 0 2:32下午 ttys001 0:00.00 grep httpd
使用smokeping的fcgi:
sudo cp /usr/local/smokeping/htdocs/smokeping.fcgi.dist /usr/local/smokeping/htdocs/smokeping.fcgi
在浏览器中查看smokeping的前端:
http://127.0.0.1/smokeping/smokeping.fcgi
启动后台fping程序:
sudo /usr/local/smokeping/bin/smokeping
– EOF –