1.搭建lamp環境php
配置apachehtml
[root@cacti-server ~]# yum -y install httpdmysql
[root@cacti-server ~]# systemctl start httpdlinux
[root@cacti-server ~]# systemctl enable httpdsql
[root@cacti-server ~]# firewall-cmd --permanent --add-service=http數據庫
successapache
[root@cacti-server ~]# firewall-cmd --reloadvim
success瀏覽器
配置mariadbbash
[root@cacti-server ~]# yum -y install mariadb-server mysql-devel
[root@cacti-server ~]# systemctl start mariadb
[root@cacti-server ~]# mysql_secure_installation
Set root password? [Y/n]
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
[root@cacti-server ~]# mysql -u root -p
MariaDB [(none)]> grant all privileges on *.* to test@localhost identified by 'RedHat'; 建立用於測試php和mariadb連通性的用戶
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
[root@cacti-server ~]# systemctl restart mariadb
[root@cacti-server ~]# systemctl enable mariadb
[root@cacti-server ~]# firewall-cmd --permanent --add-port=3306/tcp
success
[root@cacti-server ~]# firewall-cmd --reload
success
[server]
character_set_server = utf8mb4 collation-server = utf8mb4_unicode_ci back_log = 500 max_connections = 1500 max_connect_errors = 100000 table_open_cache = 5000 max_allowed_packet = 16M binlog_cache_size = 1M max_heap_table_size = 832M sort_buffer_size = 8M join_buffer_size = 64M thread_cache_size = 100 query_cache_size = 64M query_cache_limit = 2M ft_min_word_len = 4 thread_stack = 192K tmp_table_size = 64M innodb_large_prefix = ON transaction_isolation = REPEATABLE-READ innodb_doublewrite = OFF innodb_buffer_pool_size = 8G innodb_flush_method = O_DIRECT innodb_file_per_table innodb_thread_concurrency = 16 innodb_flush_log_at_trx_commit = 1 innodb_log_buffer_size = 8M innodb_log_file_size = 256M innodb_log_files_in_group = 2 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 innodb_flush_log_at_timeout = 3 innodb_io_capacity = 1500 innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_additional_mem_pool_size = 80M
配置php
[root@cacti-server ~]# yum install phpspine.conf.dist-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-snmp php-ldap php-fpm
[root@cacti-server ~]# vim /etc/php.ini
date.timezone =PRC 修改時區
[root@cacti-server ~]# vim /var/www/html/index.php 編輯測試頁面
<?php
$conn=mysql_connect('localhost','test','redhat');
if ($conn)
echo "database connect ok";
else
echo "database connect failure";
?>
<?php
phpinfo()
?>
[root@cacti-server ~]# systemctl restart httpd
測試
2.安裝配置cacti
下載軟件
[root@cacti-server ~]# cd /usr/local/src/
[root@cacti-server src]# wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz
[root@cacti-server src]# tar zxvf cacti-0.8.8f.tar.gz
[root@cacti-server src]# mv cacti-0.8.8f /var/www/html/cacti
建立cacti數據庫和cacti用戶,賦予權限
[root@cacti-server ~]# mysql -u root -p
MariaDB [(none)]> create database cacti default character set utf8;
MariaDB [(none)]> grant all privileges on cacti.* to cacti@localhost identified by 'redhat';
MariaDB [(none)]> flush privileges;
把cacti.sql導入數據庫
[root@cacti-server cacti]# mysql -ucacti -predhat cacti < /var/www/html/cacti/cacti.sql
編輯config.php和global.php
[root@cacti-server cacti]# vim /var/www/html/cacti/include/config.php|global.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "redhat";
$database_port = "3306";
$database_ssl = false;
安裝rrdtool以生成圖像
[root@cacti-server src]# yum -y install rrdtool rrdtool-devel rrdtool-php rrdtool-perl
[root@cacti-server src]# yum -y install gd gd-devel php-gd ---rrdtool繪製圖像須要的圖形庫
安裝snmp服務
[root@cacti-server cacti]# yum -y install net-snmp net-snmp-utils php-snmp net-snmp-libs
編輯配置文件
[root@cacti-server ~]# vim /etc/snmp/snmpd.conf
41 com2sec notConfigUser 127.0.0.1 public
62 access notConfigGroup "" any noauth exact all none none
85 view all included .1 80
[root@cacti-server ~]# systemctl restart snmpd.service
[root@cacti-server ~]# systemctl enable snmpd.service
受權目錄權限
[root@cacti-server ~]# useradd -r -M cacti
[root@cacti-server ~]# chown -R cacti /var/www/html/cacti/rra/
[root@cacti-server ~]# chown -R cacti /var/www/html/cacti/log/
配置一個抓圖的計劃任務
[root@cacti-server ~]# crontab -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php >> /tmp/cacti_rrdtool.log
瀏覽器訪問cacti管理頁面進行安裝
報錯
MySQL TimeZone Support ERROR: Your Cacti database login account does not have access to the MySQL TimeZone database. Please provide the Cacti database account "select" access to the "time_zone_name" table in the "mysql" database, and populate MySQL's TimeZone information before proceeding
**bash環境下執行 mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
mysql環境下
mysql> use mysql;
mysql> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;
mysql> flush privileges;**
xampp環境下
ln -s opt/lampp/var/mysql/mysql.sock /var/lib/mysql/
mysql_tzinfo_to_sql /usr/share/zoneinfo | /opt/lampp/bin/mysql -uroot -p mysql