インストールするアプリケーションおよび対象バージョン
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のインストールの完了です。