해당 파일들을 설치하기 전에 CentOS 시스템을 업데이트 합니다.
# sudo dnf -y update
1. 아파치 설치
apache Web Server 설치가능한 모듈 확인
# dnf module list | grep httpd
아파치 httpd 모듈의 상세정보 확인
# dnf module info httpd
apache 설치
# dnf module install httpd
#sudo systemctl enable --now httpd
--> CentOS 시스템이 재기동시 자동으로 실행될 수 있도록 시작 등록합니다.
# yum install -y httpd httpd-devel
2. MariaDB 설치
# yum install -y mysql mysql-server
# dnf info mariadb
# sudo dnf module install mariadb
# sudo systemctl enable --now mariadb
--> CentOS 시스템이 재기동시 자동으로 실행될 수 있도록 시작 등록합니다.
# mysql_secure_installation
--> 기본 보안 설정을 실시합니다.
MariaDB 설치 여부 와 설치 버전 등의 정보를 확인
# rpm -qi mariadb-server
3. PHP 설치
설치 가능한 PHP모듈 확인
# dnf module list | grep php
아래의 명령어로 PHP를 설치합니다. ( dnf 안 될 경우 yum 으로 설치를 해도 됩니다. )
# sudo dnf module install php
PHP 확장기능을 설치
# sudo dnf install php-mysqlnd
설치 후 아래의 명령어로 확장기능인 mysqlnd가 설치되어있는지 확인
# php -m | grep mysqlnd
# yum install -y php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-mysql
# yum install -y php-snmp
4. snmp, rrdtool 설치 ( 그래프를 보려면 rrdtool 설치 )
# yum install -y net-snmp-utils p net-snmp-libs php-pear-Net-SMTP
# yum install -y rrdtool
5. 기본적인 설치가 완료되었으니 해당 서비스를 할성화 합니다.
# service httpd start
# service mysqld start
# service snmpd start
6. 시스템 리부팅시 다시 시작을 해야 하기때문에 해당 3가지 서비스를 항상 부팅시 시작하도록 설정
( 나는 시스템 재기동시 수동으로 시작하시려면 그냥 넘어가면 되요.)
# chkconfig httpd on
# chkconfig mysqld on
# chkconfig snmpd on
이제 시스템에 Cacti를 설치하거나 직접 컴파일을 할 수 있습니다.
시간절약을 위하여 데디 리포지토리를 사용하여 Cacti 설치하도록 하겠습니다.
epel 추가 패키지 ( 설치된 CentOS 버전별로 맞추어서 설치를 하면 됩니다. )
CentOS 6 # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
CentOS 7 # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
CentOS 8 # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
7. 이제 Cacti 설치합니다.
# yum install cacti
인쟈.. MySQL 구성 ( MYSQL 서버 암호 설정 )
# mysqladmin -u root password MYPASSWORD
MYSQL 로그인
# mysql -u root -p
cacti 데이터베이스, cacti 사용자 이름 생성
create database cacti;
grant all on cacti.* to cacti@localhost identified by 'cacti';
flush privileges;
exit
# Cacti 설치에 필요한 파일을 가져옵니다. ( 해당 파일을 검색합니다. )
# rpm -ql cacti | grep cacti.sql
/usr/share/doc/cacti/cacti.sql
<-- 제 경우에는 위의 폴더에 있었습니다. 이 SQL파일을 DB로 가져옵니다.
# mysql -u cacti -p cacti < /usr/share/doc/cacti/cacti.sql
cacti 데이터베이스 구성파일 편집
# vi /etc/cacti/db.php
$database_default = "cacti";
$database_username = "cacti";
$database_password = "cacti";
위의 3가지 항목을 변경 후 저장합니다.
아파치 구성 변경 설정
# vi /etc/httpd/conf.d/cacti.conf
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
Require host localhost
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from localhost
</IfModule>
</Directory>
-> Allow from all ( 모든 IP주소에서 Cacti에 엑세스 할 수 있도록 localhost에서 허용에서 모두 허용으로 변경
-> Allow from 192.168.1.0/24 ( 특정범위의 IP주소만 접속하여 보안을 강화하는 것이 좋습니다.)
정하고 vi 종료
# service httpd restart
cron 5분마다 장치에서 데이터를 수집하지만, cronjob은 기본적으로 비활성화되어 있습니다.
# vi /etc/cron.d/cacti
#*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
에서 #를 제거하고 저장 후 vi 종료
## 인쟈 cacti 웹 설치 프로그램에서 엑세스 할 수 있습니다.