PageRenderTime 51ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/code/shell/setup_smokeping.sh

http://hm2k.googlecode.com/
Shell | 110 lines | 59 code | 32 blank | 19 comment | 0 complexity | 9e5b82a009133c8e449f19306210f68a MD5 | raw file
  1. ### Setup SmokePing on CentOS/RHEL/Fedora based systems
  2. # @see http://lzheng.blogspot.com/2007/02/install-smokeping-via-yum.html
  3. # @see http://slog.carlheaton.co.uk/index.php/2009/06/centos-5-3-smokeping-2-4-2-install-quick/
  4. # Install the prerequisites
  5. yum install rrdtool perl-CGI-SpeedyCGI fping
  6. # Get the latest SmokePing download
  7. wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.4.2.tar.gz
  8. tar xvzf smokeping-*.tar.gz
  9. rm -f smokeping-*.tar.gz
  10. # Move SmokePing to the right place
  11. mv smokeping-* /usr/local/smokeping
  12. chown -R `id -nu`:`id -ng` /usr/local/smokeping
  13. # Copy distributed files
  14. cp /usr/local/smokeping/bin/smokeping.dist /usr/local/smokeping/bin/smokeping
  15. cp /usr/local/smokeping/bin/tSmoke.dist /usr/local/smokeping/bin/tSmoke
  16. cp /usr/local/smokeping/etc/tmail.dist /usr/local/smokeping/etc/tmail
  17. cp /usr/local/smokeping/etc/basepage.html.dist /usr/local/smokeping/etc/basepage.html
  18. cp /usr/local/smokeping/etc/smokemail.dist /usr/local/smokeping/etc/smokemail
  19. cp /usr/local/smokeping/etc/smokeping_secrets.dist /usr/local/smokeping/etc/smokeping_secrets
  20. cp /usr/local/smokeping/etc/config.dist /usr/local/smokeping/etc/config
  21. cp /usr/local/smokeping/htdocs/smokeping.cgi.dist /usr/local/smokeping/htdocs/smokeping.cgi
  22. cp /usr/local/smokeping/htdocs/tr.cgi.dist /usr/local/smokeping/htdocs/tr.cgi
  23. # Configure SmokePing exec
  24. #use lib qw(/usr/pack/rrdtool-1.3.0-rp/lib/perl);
  25. sed -i 's#use lib qw(/usr/pack/rrdtool-1.3.0-rp/lib/perl);#use lib qw(/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/auto/RRDs);#g' /usr/local/smokeping/bin/smokeping
  26. sed -i 's#use lib qw(lib);#use lib qw(/usr/local/smokeping/lib);#g' /usr/local/smokeping/bin/smokeping
  27. sed -i 's#Smokeping::main("etc/config.dist");#Smokeping::main("/usr/local/smokeping/etc/config");#g' /usr/local/smokeping/bin/smokeping
  28. # Configure SmokePing CGI
  29. sed -i 's#use lib qw(/usr/pack/rrdtool-1.3.0-rp/lib/perl);#use lib qw(/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/auto/RRDs);#g' /usr/local/smokeping/htdocs/smokeping.cgi
  30. sed -i 's#use lib qw(/home/oetiker/checkouts/smokeping/trunk/software/lib);#use lib qw(/usr/local/smokeping/lib);#g' /usr/local/smokeping/htdocs/smokeping.cgi
  31. sed -i 's#Smokeping::cgi("/home/oetiker/checkouts/smokeping/trunk/software/etc/config.dist");#Smokeping::cgi("/usr/local/smokeping/etc/config");#g' /usr/local/smokeping/htdocs/smokeping.cgi
  32. # Setup directories
  33. mkdir -p /usr/local/smokeping/htdocs/img
  34. mkdir /usr/local/smokeping/var
  35. # Configure for Apache
  36. echo "AddHandler cgi-script cgi" >> /usr/local/smokeping/htdocs/.htaccess
  37. echo "Options ExecCGI Indexes FollowSymLinks" >> /usr/local/smokeping/htdocs/.htaccess
  38. echo "DirectoryIndex index.html smokeping.cgi" >> /usr/local/smokeping/htdocs/.htaccess
  39. # Set permissions for security and apache
  40. chmod 600 /usr/local/smokeping/etc/smokeping_secrets
  41. chmod 600 /usr/local/smokeping/etc/smokeping_secrets
  42. chown -R apache:apache /usr/local/smokeping/htdocs/
  43. chmod 755 /usr/local/smokeping/htdocs/
  44. chmod 755 /usr/local/smokeping/htdocs/*.cgi
  45. # Create the symbolic link for httpd document root
  46. ln -s /usr/local/smokeping/htdocs `grep -i '^DocumentRoot' /etc/httpd/conf/httpd.conf | cut -f2 -d'"'`/smokeping
  47. # Configuration
  48. sed -i 's#owner = Peter Random#owner = '`whoami`'#g' /usr/local/smokeping/etc/config
  49. sed -i 's#contact = some@address.nowhere#contact = '`whoami`@`hostname`'#g' /usr/local/smokeping/etc/config
  50. sed -i 's#mailhost = my.mail.host#mailhost = '`hostname`'#g' /usr/local/smokeping/etc/config
  51. sed -i 's#imgcache = /home/oetiker/public_html/smokeping-ms/cache#imgcache = /usr/local/smokeping/htdocs/img#g' /usr/local/smokeping/etc/config
  52. sed -i 's#imgurl = cache#imgurl = http://'`hostname`'/smokeping/img#g' /usr/local/smokeping/etc/config
  53. sed -i 's#datadir = /tmp/smokeping-ms/data#datadir = /usr/local/smokeping/var#g' /usr/local/smokeping/etc/config
  54. sed -i 's#piddir = /tmp/smokeping-ms/var#piddir = /usr/local/smokeping/var#g' /usr/local/smokeping/etc/config
  55. sed -i 's#cgiurl = http://some.url/smokeping.cgi#cgiurl = http://'`hostname`'/cgi-bin/smokeping.cgi#g' /usr/local/smokeping/etc/config
  56. sed -i 's#smokemail = /home/oetiker/checkouts/smokeping/trunk/software/etc/smokemail.dist#smokemail = /usr/local/smokeping/etc/smokemail#g' /usr/local/smokeping/etc/config
  57. sed -i 's#tmail = /home/oetiker/checkouts/smokeping/trunk/software/etc/tmail.dist#tmail = /usr/local/smokeping/etc/tmail#g' /usr/local/smokeping/etc/config
  58. sed -i 's#to = alertee@address.somewhere#to = '`whoami`@`hostname`'#g' /usr/local/smokeping/etc/config
  59. sed -i 's#from = smokealert@company.xy#from = smokeping@'`hostname`'#g' /usr/local/smokeping/etc/config
  60. sed -i 's#template = /home/oetiker/checkouts/smokeping/trunk/software/etc/basepage.html.dist#template = /usr/local/smokeping/etc/basepage.html#g' /usr/local/smokeping/etc/config
  61. sed -i 's#secrets=/home/oetiker/checkouts/smokeping/trunk/software/etc/smokeping_secrets.dist#secrets=/usr/local/smokeping/etc/smokeping_secrets#g' /usr/local/smokeping/etc/config
  62. sed -i 's#remark = Welcome to the SmokePing website of xxx Company. \\#remark = Welcome to the SmokePing website of '`hostname`'.\\#g' /usr/local/smokeping/etc/config
  63. # Configure targets
  64. sed -i 's#+ Test#+ Targets#g' /usr/local/smokeping/etc/config
  65. sed -i 's#++ James#++ Google#g' /usr/local/smokeping/etc/config
  66. sed -i 's#menu = James#menu = Google#g' /usr/local/smokeping/etc/config
  67. sed -i 's#title =James#title = Google#g' /usr/local/smokeping/etc/config
  68. sed -i 's/slaves = boomer slave2/#slaves = boomer slave2/g' /usr/local/smokeping/etc/config
  69. sed -i 's#host = james.address#host = www.google.com#g' /usr/local/smokeping/etc/config
  70. sed -i 's/++ MultiHost/#++ MultiHost/g' /usr/local/smokeping/etc/config
  71. sed -i 's/menu = Multihost/#menu = Multihost/g' /usr/local/smokeping/etc/config
  72. sed -i 's/title = James and James as seen from Boomer/#title = James and James as seen from Boomer/g' /usr/local/smokeping/etc/config
  73. sed -i 's|host = /Test/James /Test/James~boomer|#host = /Test/James /Test/James~boomer|g' /usr/local/smokeping/etc/config
  74. # Add to startup
  75. echo /usr/local/smokeping/bin/smokeping & >> /etc/rc.d/rc.local
  76. # Run
  77. /usr/local/smokeping/bin/smokeping &
  78. # Done!