Cacti

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406910/65b35941-be91-a407-c89a-0c386d81b658.png)

 インストールするアプリケーションおよび対象バージョン
CentOS7.7.1908(x86_64)
Cacti:1.2.10
Plugin:thold
PHP:7.2.29
MariaDB：10.4.12
Apache:2.4.6 

Cactiの環境構築
Cactiを構築する手順を表記します。
Cactiを構築する上で必要となるパッケージをインストールします。
その後、各サーバのセットアップをします。

CentOSにログイン
CentOSにログインした状態から開始します。
管理者権限を持つアカウントにてログインください。

 

 Remiリポジトリの有効化
以下コマンドを入力し、Remiリポジトリの有効化を実施します。
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y

 


yum-utilsのインストール
以下コマンドを入力し、パッケージをインストールします。
yum install yum-utils -y

 

remi-php72リポジトリを有効化
以下コマンドを入力し、remi-php72リポジトリを有効にします。
yum-config-manager --enable remi-php72

 









httpdのインストール
以下コマンドを入力し、パッケージをインストールします。
yum install -y httpd

 

mariadb関連のレポジトリの設定
以下コマンドを入力し、mariadb関連のレポジトリの設定をします。
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

 









mariadb関連パッケージのインストール
以下コマンドを入力し、パッケージをインストールします。
yum install -y mariadb-server mariadb-client

 

phpの関連パッケージのインストール
以下コマンドを入力し、パッケージをインストールします。
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

 








Cactiに使用されるパッケージのインストール
以下コマンドを入力し、パッケージをインストールします。
yum install -y rrdtool git net-snmp net-snmp-utils

 

/tmpフォルダへの移動
/tmpフォルダに移動します。
cd /tmp

 









Cactiの本体パッケージのダウンロード
以下コマンドを入力し、パッケージをダウンロードします。
wget https://www.cacti.net/downloads/cacti-latest.tar.gz

 

cactiパッケージの解凍
ファイルを解凍します。
tar -zxvf cacti-latest.tar.gz

 









解凍したcactiパッケージの移動
解凍したファイルを/var/www/html/cactiへ移動します。
mv -v cacti-1.2.10 /var/www/html/cacti

 

Httpdの起動
httpdプロセスを起動します。
systemctl start httpd

 









httpdの有効化
httpdプロセスを有効化します。
systemctl enable httpd

 

mariadbの有効化
mariadbプロセスを有効化します。
systemctl enable mariadb

 









mariadbの起動
mariadbプロセスを起動します。
systemctl start mariadb

 

mariadbの初期設定
mariadbの初期設定を施します。
/usr/bin/mysql_secure_installation

 









現在のパスワードを聞かれますが、設定がないため、何も入力せず、Enterを押します。
 

Unixソケット認証にスイッチするか聞かれるため「Y」を押しEnterを押します。

 
















Rootパスワードを設定するか聞かれるので「Y」を押し、Enterを押します。

 

パスワードを入力します。

 















誰でもログインできる状態なので禁止するために
「Y」を押し、Enterを押します。

 

リモートrootによるログインをできなくするため「Y」を押し、Enterを押します。

 














Testというデータベースを削除するため「Y」を押し、Enterをクリックします。

 

上記設定を反映するために「Y」を押し、Enterを押します。

 















mariadbの初期設定が完了します。

 

server.cnfファイルの編集
server.cnfファイルを編集します。
vim /etc/my.cnf.d/server.cnf

 












以下のように設定します。

[mariadb-10.4]

character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
join_buffer_size = 28M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 218M
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_buffer_pool_instances = 3G
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000
innodb-buffer-pool-size=1907M



 


















mariadbの再起動
mariadbプロセスを再起動します。
systemctl restart mariadb

 

Timezone tableの作成
Timezone tableの作成をします。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

 









mariadbへのログイン
mariadbにログインします。
mysql -u root -p

 

以下のような画面が表示されたら接続ができています。

 












cactiデータベースの作成
cactiというデータベースが作成されていなければデータベースを作成するコマンドを入力します。
create database if not exists cacti;

 

cactiデータベースへの移動
cactiデータベースに移動します。
use cacti;

 









cacti.sqlのインポート
cacti.sqlをcactiデータベースへインポートします。
source /var/www/html/cacti/cacti.sql;

 

cactiユーザの作成
cactiユーザを作成します。
CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'cacticacti';

 









cactiユーザでのcactiデータベースへのアクセス許可
cactiユーザがcactiデータベースに接続できるように権限を付与します。
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'localhost';

 

cactiユーザでのタイムゾーンテーブルへのアクセス許可
cactiユーザにTimezone tableのアクセス権を付与します。
GRANT SELECT ON mysql.time_zone_name TO 'cacti'@'localhost';

 









mariadbの文字コード変更
mariadbの文字コードをutf8mb4に変更します。
ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 

mariadbの設定反映
設定を反映させます。
FLUSH PRIVILEGES;

 









mariadbからのログアウト
mariadbから抜けます。
exit;

 

php.iniの編集
php.iniを編集します。
vi /etc/php.ini

 









; date.timezone = を探します。

 

「; date.timezone =」を「date.timezone = Asia/Tokyo」へ変更します。

 















memory_limit = 128Mを探します。

 

「memory_limit = 400M」を「memory_limit = 400M」へ変更します。

 















max_execution_time = 30を探します。

 

「max_execution_time = 30」を「max_execution_time = 60」へ変更します。

 















;max_input_vars = 1000を探します。

 

「;max_input_vars = 1000」を「max_input_vars = 10000」へ変更します。

 















config.phpの編集
config.phpを編集します。
vi /var/www/html/cacti/include/config.php

 

以下は、編集前の設定値です。

 












以下のように設定を変更します。
$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'cacticacti';
$database_port     = '3306';
$database_ssl      = false;
$database_ssl_key  = '';
$database_ssl_cert = '';
$database_ssl_ca   = '';


 
























cactiファイルの作成
cactiファイルを作成します。
vi /etc/cron.d/cacti

 

cactiファイルの保存
編集できないので一度保存します。

 










cactiファイルの編集
再度以下コマンドを入力します。
vi /etc/cron.d/cacti

 

以下コマンドを入力します。
5分間毎にポーリングする設定です。
*/5 * * * * apache php /var/www/html/cacti/poller.php &>/dev/null

 









cactiファイル公開に於けるユーザ権限の変更
apacheユーザに/var/www/html/cacti/のフォルダのアクセス権を付与します。
chown  -R apache:apache /var/www/html/cacti/

 

mariadbの再起動
mariadbプロセスを再起動します。
systemctl restart mariadb

 









httpdの再起動
httpdプロセスを再起動します。
systemctl restart httpd.service

 

cactiプラグインtholdのダウンロード
Cactiのメール通知機能のプラグインであるtholdのダウンロードをします。

git clone https://github.com/Cacti/plugin_thold.git thold

 


以上により、Cactiの環境構築が完了です。

 

Cactiのインストール

ブラウザへのアクセス
ブラウザにアクセスします。
ここでは、192.168.0.212というOSのアドレスを使用します。
http://[IPアドレス]/cactiのパスにアクセスします。

 

Cactiのログイン画面
Cactiのログイン画面が表示されます。

 






Cactiへのログイン
ユーザアカウントはadmin
初期パスワードはadminとなります。

 

パスワードの設定
新しいパスワードを設定する必要があるためパスワードを設定します。

 










アグリーメント画面の表示
ライセンスアグリーメント画面が表示されます。
チェックを入れてBeginをクリックします。

 


プリチェック画面の表示
インストール前のプリチェックが行われます。エラーがある場合は、エラー内容が記述されます。
※ここではエラーがあります。

 








プリチェックのエラー画面
下部のエラーはCPUやメモリの容量によって、容量のサイズが変わる可能性があります。

 

エラーの修正
CentOS画面に戻ります。
server.cnfを編集します。
vim /etc/my.cnf.d/server.cnf

 









該当項目をエラー内容の通りの容量へ変更します。

 

mariadbの再起動
mariadbプロセスを再起動します。
systemctl restart mariadb

 












プリチェックの通過
ブラウザ画面戻り、再度画面を更新します。
全てのプリチェックが通ったら以下の画面が表示されます。
Nextをクリックします。

 

インストールタイプ画面の表示
インストールタイプ画面が表示されます。
Nextをクリックします。

 








ディレクトリの許可チェック画面の表示
ディレクトリの許可チェック画面が表示されます。
Nextをクリックします。

 

クリティカルバイナリロケーションとバージョンの画面の表示
クリティカルバイナリロケーションとバージョンの画面が表示されます。
Nextをクリックします。

 









ホワイトリストの検証画面の表示
ホワイトリストの検証画面が表示されます。

 


下部にスクロールします。
チェックをクリックし、Nextをクリックします。

 










デフォルトプロファイル画面の表示
デフォルトプロファイル画面が表示されます。
Nextをクリックします。

 

テンプレートセットアップ画面の表示
テンプレートセットアップ画面が表示されます。
注意：ここでは、確実に以下のチェックを外してください。外さないとCactiのインストールが41％から進まず、無限ループになります。
Nextをクリックします。

 








データベースのセットアップ画面の表示
データベースのセットアップが表示されます。
Nextをクリックします。

 

インストール最終確認画面の表示
インストール最終確認画面が表示されます。
チェックを選択し、Installをクリックします。


 








インストールの開始
インストールが始まります。

 

インストールの終了
インストールが完了したら、Get Startedをクリックします。

 











Cactiメニュー画面の表示
Cactiのメニュー画面が表示されましたら、インストールが完了です。

 
	


以上により、Cactiのインストールの完了です。