Bước 1: Chuẩn bị CentOS
- Cập nhật gói yum mới nhất cho CentOS
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
# yum -y install epel-release
- Cập nhật CentOS
# yum update -y
- Cập nhật thời gian cho hệ thống
# yum install ntp -y
# chkconfig ntpd on # CentOS 6.x
# systemctl enable ntpd.service # CentOS 7.x
# ntpdate pool.ntp.org
# service ntpd start
hoặc systemctl start ntpd
Tắt Selinux
# setenforce 0
hoặc
# vi /etc/sysconfig/selinux
- Khởi động lại server
# shutdown -r now hoặc reboot
Bước 2: Cài đặt MariaDB/MySQL
Đối với phiên bản Cacti 1.1.x đòi hỏi phải sử dụng MySQL >=5.6 hoặc MariaDB >10.0.0
* Cài đặt MySQL 5.7
Cập nhật gói cài đặt MySQL
# rpm -Uvh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
Cài đặt MySQL
# yum install mysql-community-server
Khởi động và cho phép mysql khởi động cùng hệ thống
# systemctl start mysqld.service # CentOS 7.x
# service mysqld start # CentOS 6.x
# systemctl enable mysqld.service # CentOS 7.x
# chkconfig mysqld on # CentOS 6.x
Lấy password tạm thời của MySQL
# grep "A temporary password" /var/log/mysqld.log
Cập nhật lại mật khẩu root
# mysql_secure_installation
# mysql -u root -p
* Cài đặt MariaDB 10.2.9
Tham khảo thêm
Hướng dẫn cài đặt MariaDB 10.x trên CentOS 7.x
Hướng dẫn cài đặt MariaDB 10.x trên CentOS 6.x
Bước 3: Cài đặt PHP
- Tích hợp gói Remi cho CentOS
* CentOS 6.x
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-6.rpm
* CentOS 7.x
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Kích hoạt gói PHP
#yum -y install yum-utils
* PHP 5.4
# yum install -y nginx php-fpm php
* PHP 5.5
# yum-config-manager --enable remi-php55
* PHP 5.6
# yum-config-manager --enable remi-php56
* PHP 7.0
# yum-config-manager --enable remi-php70
* PHP 7.1
# yum-config-manager --enable remi-php71
* PHP 7.2
# yum-config-manager --enable remi-php72
=>
# yum install -y php
Cài đặt moudle PHP hỗ trợ cacti
Với MySQL
yum install -y php-mysql mysql-devel php-pear php-common php-gd php-devel php-mbstring php-cli php-posix php-ldap
Với MariaDB
yum install -y php-mysql mariadb-devel php-pear php-common php-gd php-devel php-mbstring php-cli php-posix php-ldap
Một số gói khác
yum install -y autoconf automake libtool dos2unix wget help2man
gcc glibc glibc-common gd gd-devel xinetd openssl-devel unzip cmake make libxslt-devel libjpeg-devel
Bước 4: Cài đặt Apache/Nginx
Bài viết sẽ hướng dẫn cài đặt Apache. Cacti với Nginx tham khảo tại link
# yum -y install httpd httpd-devel
Khởi động dịch vụ Apache
# systemctl start httpd.service # CentOS 7.x
# service httpd start # CentOS 6.x
Cấu hình apache tự khởi động
# systemctl enable httpd.service # CentOS 7.x
# chkconfig httpd on # CentOS 6.x
Cho phép Apache chạy qua iptables/firewall
* CentOS 7.x
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload
* CentOS 6.x
# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# iptables-save
# service iptables restart
Bước 5: Cài đặt các gói hỗ trợ Cacti
- Cài đặt SNMP
# yum -y install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils php-snmp php-gmp php-pear-Net-SMTP
# /etc/init.d/snmpd start # CentOS 6.x
# chkconfig snmpd on # CentOS 6.x
# systemctl start snmpd.service # CentOS 7.x
# systemctl enable snmpd.service # CentOS 7.x
- Cài đặt Rdtool
# yum install -y rrdtool rrdtool-devel
Bước 6: Cài đặt Cacti 1.1.x
https://www.cacti.net/downloads/
- Tải source code mã nguồn cacti
# cd /var/www/html
# wget https://www.cacti.net/downloads/cacti-1.1.x.tar.gz
# tar -xzvf cacti-1.1.x.tar.gz
# mv cacti-1.1.x cacti
Tạo Crond và quyền thực thi
adduser -d /var/www/html/cacti -s /sbin/nologin cacti
echo "*/1 * * * * cacti /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null 2>&1" >> /etc/cron.d/cacti
cd /var/www/html/cacti
chown -R cacti.apache rra log resource scripts cache
chmod -R 775 rra log resource scripts cache
- Khởi tạo database
# mysql -u root -p
create database cacti_db;
GRANT ALL ON cacti_db.* TO cacti_user@localhost IDENTIFIED BY 'zwm=4}Jyd';
flush privileges;
\q
Cập nhật timezone cho MySQL và php
# vi /etc/php.ini
date.timezone =Asia/Ho_Chi_Minh
error_log = syslog
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
hoặc
# mysql -u root -p
GRANT ALL ON mysql.time_zone_name TO cacti_user@localhost IDENTIFIED BY 'zwm=4}Jyd';
Import database cacti
# mysql -u root -p cacti_db < /var/www/html/cacti/cacti.sql
- Cấu hình chuỗi kết nối database
# cd /var/www/html/cacti
# vi include/config.php
$url_path = '/';
# vi include/global.php
- Cấu hình Apache/Nginx cho Cacti
vi /etc/httpd/conf.d/cacti.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/cacti
ServerName your domain
ServerAlias www.your_domain
ErrorLog /var/www/html/error.log
CustomLog /var/www/html/access.log common
</VirtualHost>
Khởi động lại dịch vụ Apache
# apachectl configtest
# systemctl restart httpd.service # CentOS 7.x
# service httpd restart # CentOS 6.x
- Truy cập link http://your_ip_server/cacti hoặc http://your_domain/cacti
Nhấn Accept GPL License Agreement -> Chọn Next
Kiểm tra timezone MySQL và PHP
Tương thích module PHP
Nhấn Next để tiếp tục
Chọn loại cacti cần cài đặt -> Nhấn Next
Nhấn Next để tiếp tục
Kiểm tra phân quyền file
Chọn template để cài đặt
Nhấn Finish và chờ trong giây lát
Đăng nhập với username và password: admin
Thay đổi mật khẩu
Giao diện chính cacti
Khởi tạo Graph
Chọn Management -> Devices
Chọn Tree
Nhấn Graph
Đồ thị
Bước 7: Tích hợp một số gói hỗ trợ khác
* Sử dụng spine thay thế cho cmd.php
Cài đặt spine
Download tại đây
https://www.cacti.net/downloads/spine/
# wget https://www.cacti.net/downloads/spine/cacti-spine-1.1.x.tar.gz
# tar -xvf cacti-spine-1.1.x.tar.gz
# cd cacti-spine-1.1.x
# ./configure
# make
# make install
# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
# vi /usr/local/spine/etc/spine.conf
# /usr/local/spine/bin/spine
# chmod +s /usr/local/spine/bin/spine
* Hỗ trợ gửi mail
# yum install libio-socket-ssl-perl libnet-ssleay-perl perl
# yum install 'perl(Net::SSLeay)' 'perl(IO::Socket::SSL)'
Xem thêm video
Chúc bạn thành công !
- Cập nhật gói yum mới nhất cho CentOS
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
# yum -y install epel-release
- Cập nhật CentOS
# yum update -y
- Cập nhật thời gian cho hệ thống
# yum install ntp -y
# chkconfig ntpd on # CentOS 6.x
# systemctl enable ntpd.service # CentOS 7.x
# ntpdate pool.ntp.org
# service ntpd start
hoặc systemctl start ntpd
Tắt Selinux
# setenforce 0
hoặc
# vi /etc/sysconfig/selinux
- Khởi động lại server
# shutdown -r now hoặc reboot
Bước 2: Cài đặt MariaDB/MySQL
Đối với phiên bản Cacti 1.1.x đòi hỏi phải sử dụng MySQL >=5.6 hoặc MariaDB >10.0.0
* Cài đặt MySQL 5.7
Cập nhật gói cài đặt MySQL
# rpm -Uvh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
Cài đặt MySQL
# yum install mysql-community-server
Khởi động và cho phép mysql khởi động cùng hệ thống
# systemctl start mysqld.service # CentOS 7.x
# service mysqld start # CentOS 6.x
# systemctl enable mysqld.service # CentOS 7.x
# chkconfig mysqld on # CentOS 6.x
Lấy password tạm thời của MySQL
# grep "A temporary password" /var/log/mysqld.log
Cập nhật lại mật khẩu root
# mysql_secure_installation
# mysql -u root -p
* Cài đặt MariaDB 10.2.9
Tham khảo thêm
Hướng dẫn cài đặt MariaDB 10.x trên CentOS 7.x
Hướng dẫn cài đặt MariaDB 10.x trên CentOS 6.x
Bước 3: Cài đặt PHP
- Tích hợp gói Remi cho CentOS
* CentOS 6.x
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-6.rpm
* CentOS 7.x
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Kích hoạt gói PHP
#yum -y install yum-utils
* PHP 5.4
# yum install -y nginx php-fpm php
* PHP 5.5
# yum-config-manager --enable remi-php55
* PHP 5.6
# yum-config-manager --enable remi-php56
* PHP 7.0
# yum-config-manager --enable remi-php70
* PHP 7.1
# yum-config-manager --enable remi-php71
* PHP 7.2
# yum-config-manager --enable remi-php72
=>
# yum install -y php
Cài đặt moudle PHP hỗ trợ cacti
Với MySQL
yum install -y php-mysql mysql-devel php-pear php-common php-gd php-devel php-mbstring php-cli php-posix php-ldap
Với MariaDB
yum install -y php-mysql mariadb-devel php-pear php-common php-gd php-devel php-mbstring php-cli php-posix php-ldap
Một số gói khác
yum install -y autoconf automake libtool dos2unix wget help2man
gcc glibc glibc-common gd gd-devel xinetd openssl-devel unzip cmake make libxslt-devel libjpeg-devel
Bước 4: Cài đặt Apache/Nginx
Bài viết sẽ hướng dẫn cài đặt Apache. Cacti với Nginx tham khảo tại link
# yum -y install httpd httpd-devel
Khởi động dịch vụ Apache
# systemctl start httpd.service # CentOS 7.x
# service httpd start # CentOS 6.x
Cấu hình apache tự khởi động
# systemctl enable httpd.service # CentOS 7.x
# chkconfig httpd on # CentOS 6.x
Cho phép Apache chạy qua iptables/firewall
* CentOS 7.x
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload
* CentOS 6.x
# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# iptables-save
# service iptables restart
Bước 5: Cài đặt các gói hỗ trợ Cacti
- Cài đặt SNMP
# yum -y install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils php-snmp php-gmp php-pear-Net-SMTP
# /etc/init.d/snmpd start # CentOS 6.x
# chkconfig snmpd on # CentOS 6.x
# systemctl start snmpd.service # CentOS 7.x
# systemctl enable snmpd.service # CentOS 7.x
- Cài đặt Rdtool
# yum install -y rrdtool rrdtool-devel
Bước 6: Cài đặt Cacti 1.1.x
https://www.cacti.net/downloads/
- Tải source code mã nguồn cacti
# cd /var/www/html
# wget https://www.cacti.net/downloads/cacti-1.1.x.tar.gz
# tar -xzvf cacti-1.1.x.tar.gz
# mv cacti-1.1.x cacti
Tạo Crond và quyền thực thi
adduser -d /var/www/html/cacti -s /sbin/nologin cacti
echo "*/1 * * * * cacti /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null 2>&1" >> /etc/cron.d/cacti
cd /var/www/html/cacti
chown -R cacti.apache rra log resource scripts cache
chmod -R 775 rra log resource scripts cache
- Khởi tạo database
# mysql -u root -p
create database cacti_db;
GRANT ALL ON cacti_db.* TO cacti_user@localhost IDENTIFIED BY 'zwm=4}Jyd';
flush privileges;
\q
Cập nhật timezone cho MySQL và php
# vi /etc/php.ini
date.timezone =Asia/Ho_Chi_Minh
error_log = syslog
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
hoặc
# mysql -u root -p
GRANT ALL ON mysql.time_zone_name TO cacti_user@localhost IDENTIFIED BY 'zwm=4}Jyd';
Import database cacti
# mysql -u root -p cacti_db < /var/www/html/cacti/cacti.sql
- Cấu hình chuỗi kết nối database
# cd /var/www/html/cacti
# vi include/config.php
$url_path = '/';
# vi include/global.php
- Cấu hình Apache/Nginx cho Cacti
vi /etc/httpd/conf.d/cacti.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/cacti
ServerName your domain
ServerAlias www.your_domain
ErrorLog /var/www/html/error.log
CustomLog /var/www/html/access.log common
</VirtualHost>
Khởi động lại dịch vụ Apache
# apachectl configtest
# systemctl restart httpd.service # CentOS 7.x
# service httpd restart # CentOS 6.x
- Truy cập link http://your_ip_server/cacti hoặc http://your_domain/cacti
Nhấn Accept GPL License Agreement -> Chọn Next
Kiểm tra timezone MySQL và PHP
Tương thích module PHP
Nhấn Next để tiếp tục
Chọn loại cacti cần cài đặt -> Nhấn Next
Nhấn Next để tiếp tục
Kiểm tra phân quyền file
Chọn template để cài đặt
Nhấn Finish và chờ trong giây lát
Đăng nhập với username và password: admin
Thay đổi mật khẩu
Giao diện chính cacti
Khởi tạo Graph
Chọn Management -> Devices
Chọn Tree
Nhấn Graph
Đồ thị
Bước 7: Tích hợp một số gói hỗ trợ khác
* Sử dụng spine thay thế cho cmd.php
Cài đặt spine
Download tại đây
https://www.cacti.net/downloads/spine/
# wget https://www.cacti.net/downloads/spine/cacti-spine-1.1.x.tar.gz
# tar -xvf cacti-spine-1.1.x.tar.gz
# cd cacti-spine-1.1.x
# ./configure
# make
# make install
# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
# vi /usr/local/spine/etc/spine.conf
# /usr/local/spine/bin/spine
# chmod +s /usr/local/spine/bin/spine
* Hỗ trợ gửi mail
# yum install libio-socket-ssl-perl libnet-ssleay-perl perl
# yum install 'perl(Net::SSLeay)' 'perl(IO::Socket::SSL)'
Xem thêm video
Chúc bạn thành công !
No comments: