#!/bin/bash
#auto make install LAMP+Cacti
#by authors zhang #RRDtool define path variable
R_FILES=rrdtool-1.4..tar.gz
R_FILES_DIR=rrdtool-1.4.
R_PREFIX=/usr/src/rrdtool-1.4./ #Cacti define path variable
C_FILES=cacti-0.8.8b.tar.gz
C_FILES_DIR=cacti-0.8.8b
C_PREFIX=/usr/src/cacti-0.8.8b/ #httpd define path variable
H_FILES=httpd-2.2..tar.gz
H_FILES_DIR=httpd-2.2.
H_PREFIX=/usr/local/httpd #mysql define path variable
M_FILES=mysql-5.5..tar.gz
M_FILES_DIR=mysql-5.5.
M_PREFIX=/usr/local/mysql/ #php define path variable P_FILES1=libmcrypt-2.5..tar.gz
P_FILES_DIR1=libmcrypt-2.5.
P_PREFIX1=/usr/local/lib/ P_FILES2=mhash-0.9.9.9.tar.gz
P_FILES_DIR2=mhash-0.9.9.9
P_PREFIX2=/usr/local/lib/ P_FILES3=mcrypt-2.6..tar.gz
P_FILES_DIR3=mcrypt-2.6.
P_PREFIX3=/usr/local/lib/ P_FILES4=php-5.3..tar.gz
P_FILES_DIR4=php-5.3.
P_PREFIX4=/usr/local/php if [ -z "$1" ];then
echo -e "\033[36m请选择下面选项:\033[0m"
echo -e "\033[32m1)编译安装Apache服务器\033[1m"
echo "2)编译安装MySQL服务器"
echo "3)编译安装PHP服务器"
echo "4)配置index.php并启动LAMP服务"
echo "5)部署phpMyAdmin系统"
echo "6)安装RRDtool工具"
echo "7)安装Cacti监控服务"
echo "8)配置Cacti客户端"
echo -e "\033[31m使用: { /bin/sh $0 1|2|3|4|help}\033[0m"
exit
fi #auto install Apache
if [ $ -eq ];then
rpm -e httpd --nodeps
tar -zxvf $H_FILES &&cd $H_FILES_DIR ;./configure --prefix=$H_PREFIX --enable-so --enable-rewrite --enable-charset-lite --enable-cgi if [ $? -eq ];then
make &&make install
echo -e "\033[32mThe $H_FILES_DIR Server Install successfully!(Apache服务安装已完成!)\033[0m"
else
echo -e "\033[32mThe $H_FILES_DIR Server Install failed,please check...\033[0m"
exit
fi
fi #auto install Mysql
if [ $ -eq ];then
rpm -e mysql-server mysql --nodeps
tar -zxvf cmake-2.8..tar.gz -C /usr/src/ && cd /usr/src/cmake-2.8./;./configure
if [ $? -eq ];then
gmake &&gmake install
echo -e "\033[32mThe cmake Server Install successfully!(cmake编译安装完成!)\033[0m"
else
echo -e "\033[32mThe cmake Server Install failed,please check...\033[0m"
exit
fi
useradd -M -u -s /sbin/nologin mysql
cd /root
tar -zxvf $M_FILES -C /usr/src/;cd /usr/src/$M_FILES_DIR && cmake -DCMAKE_INSTALL_PREFIX=$M_PREFIX -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
if [ $? -eq ];then
make &&make install
echo -e "\033[32mThe mysql $M_FILES_DIR Install successfully!(MySQL服务安装已完成!)\033[0m"
else
echo -e "\033[32mThe mysql $M_FILES_DIR Install failed,please check...\033[0m"
exit
fi
chown -R mysql:mysql /usr/local/mysql/
cd /usr/src/$M_FILES_DIR
cp support-files/my-medium.cnf /etc/my.cnf
$M_PREFIX/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
cd /usr/src/$M_FILES_DIR
ln -s /usr/local/mysql/bin/* /usr/local/bin/
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld stop
service mysqld start
netstat -anpt | grep 3306
fi #PHP define path variable if [ $1 -eq 3 ];then
tar -zxvf $P_FILES1 -C /usr/src/;cd /usr/src/$P_FILES_DIR1/ && ./configure && make && make install && ln -s /$P_PREFIX1/libmcrypt.* /usr/lib/
cd /root/
tar -zxvf $P_FILES2 -C /usr/src/;cd /usr/src/$P_FILES_DIR2/ && ./configure && make && make install && ln -s /$P_PREFIX2/libmhash* /usr/lib/
cd /root/
tar -zxvf $P_FILES3 -C /usr/src/;cd /usr/src/$P_FILES_DIR3/ && export LD_LIBRARY_PATH=/$P_PREFIX3:$LD_LIBRARY_PATH && ./configure && make && make install
cd /root/
tar -zxvf $P_FILES4 -C /usr/src/;cd /usr/src/$P_FILES_DIR4/ && ./configure --prefix=$P_PREFIX4 --with-mcrypt --with-apxs2=$H_PREFIX/bin/apxs --with-mysql=$M_PREFIX --with-config-file-path=$P_PREFIX4 --enable-mbstring --enable-sockets
if [ $? -eq 0 ];then
make &&make install
echo -e "\033[32mThe $P_FILES_DIR4 Server Install successfully!(PHP安装已完成!)\033[0m"
else
echo -e "\033[32mThe $P_FILES_DIR4 Server Install failed,please check...\033[0m"
exit
fi
fi #配置并启动PHP
if [ $1 -eq 4 ];then
sed -i '/DirectoryIndex/s/index.html/index.php index.html/g' $H_PREFIX/conf/httpd.conf
echo "AddType application/x-httpd-php .php" >>$H_PREFIX/conf/httpd.conf
IP=`ifconfig eth0|grep "Bcast"|awk '{print $2}'|cut -d: -f2`
echo "You can access http://$IP/" cat >$H_PREFIX/htdocs/index.php <<EOF
<?php
phpinfo();
?>
EOF
fi ##PHP MyAdmin define path variable
if [ $1 -eq 5 ];then
tar -zxvf phpMyAdmin-4.2.5-all-languages.tar.gz
mv phpMyAdmin-4.2.5-all-languages/ /usr/local/httpd/htdocs/phpMyAdmin
cd /usr/local/httpd/htdocs/phpMyAdmin
cp config.sample.inc.php config.inc.php
if [ $? -eq 0 ];then
echo -e "\033[32mphpMyAdmin系统安装完成!\033[0m"
else
echo -e "\033[31mphpMyAdmin系统安装失败!\033[0m"
fi fi #RRDtool define path variable
if [ $1 -eq 6 ];then
yum -y install net-snmp net-snmp-utils
yum -y install cairo-devel zlib libxml2 libxml2-devel glib2 glib2-devel libpng libpng-devel freetype freetype-devel libart_lgpl pango pango-devel pear pear-devel perl-CPAN
tar -zxvf $R_FILES -C /usr/src/ && cd $R_PREFIX && ./configure --prefix=$R_PREFIX
if [ $? -eq 0 ];then
make &&make install
echo -e "\033[32mRRDtool工具安装完成!)\033[0m"
else
echo -e "\033[31mRRDtool工具安装失败!\033[0m"
exit
fi
fi #Cacti define path variable
if [ $1 -eq 7 ];then
tar -zxvf $C_FILES -C /usr/src/ && cp -r $C_PREFIX $H_PREFIX/htdocs/cacti
useradd cacti
chown -R cacti:cacti $H_PREFIX/htdocs/cacti/
echo "create database cacti default character set utf8;" | mysql -u root -p123.com
echo "grant all on cacti.* to 'cacti'@'localhost' identified by '123.com';" | mysql -u root -p123.com
mysql -u root -p cacti < $H_PREFIX/htdocs/cacti/cacti.sql
touch $P_PREFIX4/php.ini
sed -i 's/$database_username = "cactiuser";/$database_username = "cacti";/' $H_PREFIX/htdocs/cacti/include/config.php
sed -i 's/$database_password = "cactiuser";/$database_password = "123.com";/' $H_PREFIX/htdocs/cacti/include/config.php
sed -i 's/;date.timezone =/date.timezone =utc/' $P_PREFIX4/php.ini
if [ $? -eq 0 ];then
echo -e "\033[32mCacti部署完毕,数据库连接设置完成\033[0m"
else
echo -e "\033[31mCacti部署失败!\033[0m"
exit
fi
$H_PREFIX/bin/apachectl -t
$H_PREFIX/bin/apachectl restart
fi #Cacti客户端配置 if [ $1 -eq 8 ];then
yum -y install net-snmp lm_sensors
sed -i "s/com2sec notConfigUser default/com2sec notConfigUser 192.168.1.100/" /etc/snmp/snmpd.conf
sed -i 's/exact systemview none none/exact all none none/' /etc/snmp/snmpd.conf
sed -i 's/#view all included .1/view all included .1/' /etc/snmp/snmpd.conf
service snmpd restart
echo -e "\033[32msnmp服务重启完成\033[0m"
netstat -anpt | grep snmpd
fi #########################
###LAMP环境下实现
######访问地址:firefox http://192.168.1.1/cacti & # netstat -tnl
# /usr/local/httpd/bin/apachectl -t
#/usr/local/httpd/bin/apachectl start
#ps -ef | grep http
# echo -e "\033[32m配置完成,打开浏览器测试结果\033[0m" #phpMyAdmin测试:fireorx http://192.168.1.1/phpMyAdmin &

Cacti安装脚本Server端+客户端的更多相关文章

  1. zabbix server端与agent端源码安装 自定义监控项

    ZabbixServer的安装(只有源码装zabbix才能装支持java) 搭建自定义yum仓库并安装支持包 yum -y install createrepo #下载依赖关系命令 createrep ...

  2. Linux下安装SQL Server 2016(连接篇SQL Server on linux)

    连接数据库 (1)设置防火墙 要连接数据库,首先要打开防火墙上1433端口,也就是,增加tcp端口1433到公共区域,并且永久生效. [root@localhost Desktop]# firewal ...

  3. 手动为 Team Foundation Server 安装 SQL Server

    本主题中的步骤适用于安装 SQL Server 2012 企业版,你也可以使用安装标准版的相同步骤. 适用于 SQL 2014 的步骤与以上步骤也非常相似. 我们将在 TFS 所在的同一服务器上安装 ...

  4. SVN--下载、安装VisualSVN server 服务端和 TortoiseSVN客户端

    前言: 在http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html的博客中已经很详细地介绍了SVN的服务器--VisualS ...

  5. 详解zabbix安装部署(Server端篇)

    原文:http://blog.chinaunix.net/uid-25266990-id-3380929.html Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等 ...

  6. zabbix 3.2.2 server端(源码包)安装部署 (一)【转】

    环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...

  7. 详解zabbix安装部署(Server端篇) (转)

    Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员. 今天开始研究下Zabbix,使 ...

  8. zabbix 3.2.2 server端(源码包)安装部署 (一)

    环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...

  9. Centos6.5 Zabbix3 server端安装(一)

    一.准备阶段: 1.>关闭防火墙 /etc/init.d/iptables stop 2.>关闭selinux vim /etc/selinux/config SELINUX=disabl ...

随机推荐

  1. 洛谷P3928 SAC E#1 - 一道简单题 Sequence2

    提交地址 题目背景 小强和阿米巴是好朋友. 题目描述 小强喜欢数列.有一天,他心血来潮,写下了三个长度均为n的数列. 阿米巴也很喜欢数列.但是他只喜欢其中一种,波动数列. 阿米巴把他的喜好告诉了小强. ...

  2. 4.词法结构-JavaScript权威指南笔记

    今天是第二章.所谓词法结构(lexical structure),就是写代码中最基本的东西,变量命名,注释,语句分隔等,这是抄书抄的... 1.字符集,必须是Unicode,反正Unicode是ASC ...

  3. Servlet中的初始化参数、上下文参数、以及@Resource资源注入

    配置初始化参数.上下文参数.以及使用@Resource注解进行资源注入,目的是为了降低代码的耦合度.当项目需求进行变更的时候,不需要反复更改源代码,只需更改web.xml文件即可. 一:Servlet ...

  4. eclipse中安装lombok插件

    一:下载lombok 下载地址:https://projectlombok.org/downloads/lombok.jar 或者访问官网下载  https://projectlombok.org/ ...

  5. 前端js优化方案(二)持续更新

    由于上篇篇幅过长,导致编辑出了问题,另开一篇文章继续: (4)减少迭代次数,最广为人知的一种限制循环迭代次数的模式被称为“达夫设备(Duff`s Device)” Duff`s Device的理念是: ...

  6. jenkins只能同时构建2个Job怎么办?

    在jenkins 构建任务时,同时只能构建2个,如果两个没有job没有结束,构建第3个就会不执行: 提示: pending—Waiting for next available executor on ...

  7. Microsoft Exchange本地和Exchange Online可以与第三方服务共享

    很多人都知道Office 365中的Microsoft Exchange本地和Exchange Online可以与第三方服务共享您的个人数据?例如,在Exchange电子邮件中找到的任何地图地址都会发 ...

  8. LR脚本示例之参数_变量介绍

    Action(){ char *url = "127.0.0.1:1080"; char arr_url[1024]; //将url变量的值复制给p_url1参数 lr_save_ ...

  9. 似水流年 ? Chrome调试大全

    http://www.360doc.com/content/12/1107/20/7851074_246467307.shtml   作为一名前端开发者,打交道最多的可能是和浏览器.市面上各种浏览器多 ...

  10. BandwagonHost 5个数据中心/机房Ping速度测试亲自体验

    我们选择Bandwagonhost服务器的原因之一在于有5个数据中心,而且与众多其他VPS不同之处在于可以自己后台切换机房和IP,这样我们 在遇到不满意的速度时候,可以自己切换其他机房更换,而且对于有 ...