centos7一键安装cacti_1.2.16版本

#!/bin/bash
#hanzb自学一键搭建cacti
#本安装方案适合centos7版本,采用LAMP。
#把脚本放置到系统里面,需要chmod +x 脚本名  赋予权限,然后bash 脚本即可或者./脚本

cd
setenforce 0         
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux  
yum install wget -y
yum install ntpdate -y  
systemctl start ntpdate 
systemctl enable ntpdate
ntpdate ntp1.aliyun.com
echo "59 23 * * *    ntpdate ntp1.aliyun.com" > /var/spool/cron/root
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
yum install yum-utils -y
yum-config-manager --enable remi-php72
yum install -y httpd
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
touch /etc/httpd/conf.d/cacti.conf
cat <<EOF> /etc/httpd/conf.d/cacti.conf
<VirtualHost *:443>
        DocumentRoot "/var/www/html/cacti"
        Alias /cacti    /var/www/html/cacti
        <Directory /var/www/html/cacti/>
                <IfModule mod_authz_core.c>
                        Allow from all
                        Require all granted
                </IfModule>
        </Directory>
</VirtualHost>
EOF
yum install -y php php-common php-bcmath php-cli 
php-mysqlnd php-gd php-gmp php-intl 
php-json php-ldap php-mbstring 
php-pdo php-pear php-snmp php-process 
php-xml php-zip
sed -i 's/;date.timezone =/date.timezone = Asia/shanghai/g' /etc/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 800M/g' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 60/g' /etc/php.ini
yum install -y rrdtool
yum install -y net-snmp net-snmp-utils
mv autocacti/cacti-latest.tar.gz /tmp/
cd /tmp
#此处因为我自己已经提前下载好包,所以注释掉了wget,没有下载的可以去掉#。
#wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar -zxvf cacti-latest.tar.gz
mv -v cacti-1.2.16 /var/www/html/cacti
chown -R apache:apache /var/www/html/
cd
#下一步有些版本不需要,可能会报错,但是不会影响结果。
#mv -v /var/www/html/cacti/include/config.php-dist /var/www/html/cacti/include/config.php  2>/dev/null
sed -i "s/$database_username = 'cactiuser';/$database_username = 'cacti';/g" /var/www/html/cacti/include/config.php
sed -i "s/$database_password = 'cactiuser';/$database_password = 'cacti';/g" /var/www/html/cacti/include/config.php
#从Cacti 1.2.16开始,您可以选择使用传统的Crontab条目,或者使用可选的cactid单位文件和服务器来运行您的Cacti轮询器。
cat <<EOF> /etc/cron.d/cacti
*/5 * * * * apache php /var/www/html/cacti/poller.php &>/dev/null
EOF
touch /etc/sysconfig/cactid
cp -p /var/www/html/cacti/service/cactid.service /etc/systemd/system
systemctl enable cactid
systemctl start cactid
systemctl status cactid
yum install -y autoconf automake libtool dos2unix help2man openssl-devel mariadb-devel net-snmp-devel
openssl-devel mariadb-devel net-snmp-devel

mv autocacti/cacti-spine-latest.tar.gz /tmp/
cd /tmp
#此处因为我自己已经提前下载好包,所以注释掉了wget,没有下载的可以去掉#。
#wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tar -zxvf cacti-spine-latest.tar.gz
cd cacti-spine-1.2.16/
./bootstrap
./configure --with-reentrant
make
make install
chown root:root /usr/local/spine/bin/spine
chmod +s /usr/local/spine/bin/spine
mv -v /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
sed -i "s/DB_User       cactiuser/DB_User       cacti/g" /usr/local/spine/etc/spine.conf
sed -i "s/DB_Pass       cactiuser/DB_Pass       cacti/g" /usr/local/spine/etc/spine.conf
cat << EOF >/etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.1/centos7-amd64/
gpgkey =  http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
EOF
cd

#初始化mariadb密码为123456.创建数据库cacti,账号密码同为cacti。
yum -y install MariaDB-server MariaDB-client 
systemctl enable mariadb
systemctl start mariadb
echo -e "
y
123456
123456
y
n
y
y
" | /usr/bin/mysql_secure_installation
mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -uroot -p123456 mysql
mysql -uroot -p123456 -e 'create database if not exists cacti;use cacti; source /var/www/html/cacti/cacti.sql;' 
mysql -e "CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'cacti';" -uroot -p123456
mysql -e "GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'localhost';"  -uroot -p123456
mysql -e "GRANT SELECT ON mysql.time_zone_name TO 'cacti'@'localhost';" -uroot -p123456
mysql -e 'ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;' -uroot -p123456
mysql -e 'FLUSH PRIVILEGES;' -uroot -p123456
#mysql -ucacti -pcacti  cacti --default-character-set=utf8 < /var/www/html/cacti/cacti.sql

cat <<EOF>>/etc/my.cnf.d/server.cnf
character_set_serve =utf8mb4
character_set_clien =utf8mb4
max_allowed_packe=16777216
tmp_table_size=60M
join_buffer_size=120M
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_buffer_pool_size=1000M
innodb_additional_mem_pool_size=80M
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000
max_heap_table_size=60M
collation_server=utf8mb4_unicode_ci
log-error                      = /var/log/mysql/mysql-error.log
log-queries-not-using-indexes  = 1
slow-query-log                 = 1
slow-query-log-file            = /var/log/mysql/mysql-slow.log
EOF
systemctl restart httpd
systemctl restart mariadb
#插件包我也提前下载好了,没有下载的可以去官网下载 #安装插件 cd
/root/autocacti tar -zxvf plugin_cycle-4.1.tar.gz tar -zxvf plugin_monitor-2.5.tar.gz tar -zxvf plugin_syslog-3.1.tar.gz tar -zxvf plugin_thold-1.5.2.tar.gz mv -v plugin_cycle-4.1 /var/www/html/cacti/plugins/cycle mv -v plugin_monitor-2.5 /var/www/html/cacti/plugins/monitor mv -v plugin_syslog-3.1 /var/www/html/cacti/plugins/syslog mv -v plugin_thold-1.5.2 /var/www/html/cacti/plugins/thold mv -v /var/www/html/cacti/plugins/syslog/config.php.dist /var/www/html/cacti/plugins/syslog/config.php cd
原文地址:https://www.cnblogs.com/hanRR/p/14311542.html