2017年3月13日 星期一

centOS、Fedora、Redhat安裝最新版cacti 1.0.4



  安裝環境為Fedora25 Workstation指令或路徑或有不同處請自行判斷,不過我覺得都大同小異,畢竟os是同出師門。

1、安裝完全新OS後先安裝必要軟體:
yum install httpd php php-snmp php-xml php-session php-sockets php-process   php-mbstring php-pcre php-json php-openssl php-gd php-gmp php-zlib mysql mysql-server net-snmp rrdtool

2、安裝Cacti,目前release版本為1.0.4:
yum install cacti

3、安裝完畢先開啟所有服務:
systemctl start httpd
systemctl enable httpd
systemctl enable snmpd
systemctl start snmpd
systemctl start mariadb
systemctl enable mariadb
start為立即開啟,enable為重開機後自動開啟服務

4、設定mysql:
mysql_secure_installation 
會出現叫你輸入正確的root密碼,此時直接按enter後會叫你改root密碼,此密碼為登入mysql的密碼,可以跟OS的root密碼不一樣,之後會問是否要刪除匿名使用者、是否不允許遠端用root登入資料庫、是否要移除測試用資料庫,就請自行判斷。
結束後登入資料庫
mysql -u root -p  
輸入完密碼後登入資料庫,然後建立cacti資料庫
MariaDB [(none)]> create database cacti;
建立完後建立一個使用者可以存取cacti資料庫
MariaDB [(none)]> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti';
以上為建立一個cacti使用者密碼為cacti可以對cacti資料庫做存取
最後重新讀取權限
MariaDB [(none)]> flush privileges;
之後要把cacti的資料庫table匯入到新建立好的cacti資料庫
mysql -u root -p -A cacti < /usr/share/doc/cacti/cacti.sql 

5、設定cacti DB設定檔:
vi /etc/cacti/db.php
把username及password改成自己建的使用者名稱及密碼

6、更改PHP的時區,重要!不改有可能抓不到資料
vi /etc/php.ini在module settings裡可以找到[Date]修改這一行date.timezone =Asia/Taipei

7、設定snmp設定檔:
vi /etc/snmp/snmpd.conf
增加一從或是把註解拿掉
#       sec.name  source          community
#com2sec notConfigUser  default       public
com2sec notConfigUser  127.0.0.1       public
community這一項是當要收snmp會有類似密碼的值,值相同才會收資料,public為預設

把group   notConfigGroup v2c           notConfigUser註解拿掉
#       groupName      securityModel securityName
#group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
這一行一定要做,參考了各blog都沒寫到這一段,這一段拿掉代表用snmp第二版收資料,不把註解拿掉加設備一定是snmp error。

把原systemview改成all
#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""      any       noauth    exact  all none none

把這一行的註解拿掉
##           incl/excl subtree                          mask
view all    included  .1                               80
之後所有服務重開一遍

8、設定httpd設定檔
vi /etc/httpd/conf,d/cacti.conf
加入require all granted代表允許所有連線連入
設定防火牆
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
























9、設定排程
vi /etc/cron.d/cacti
把註解拿掉即可
10、開啟網頁連線127.0.0.1/cacti進入設定初始化





























接下來這個問題是1.0.4版才會碰到的問題
























首先增加cacti這個帳號可以對mysql select的權限
進入資料庫下grant select on mysql.time_zone_name to cacti@localhost;
























mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u <使用者名稱> -p mysql

11、增加資料夾權限
cd /usr/share/
chown -R apache:apache cacti
cd /usr/share/cacti
chown -R 777 resoure

之後一直下一步後就會進入登入畫面
預設帳密為admin

                                                                                                                By Johnny