MariaDB は標準のリポジトリだと 5.x が入ります。Cacti の GUI画面でのチェックで文句を言われてしまいますので、10.1 Stable を入れることにします。
10.2 Stableが最新ですが、Spineをコンパイルする際にmysqlclient ではまりました。mariadb-connector-c をインストール等々し頑張ってみましたが自力解決はできませんでした。Spine を使わないなら10.2 Stableでもok)
EPELリポジトリの追加
# yum -y install epel-release
MariaDBのリポジトリ追加
https://downloads.mariadb.org/mariadb/repositories/
にアクセスし、1.Choose a Distro → 2.Choose a Release → 3.Choose a Version で表示された内容で
# vi /etc/yum.repos.d/mariadb.repo
を作成します。
自分が選んだのはこんな感じです。
# MariaDB 10.1 CentOS repository list - created 2017-12-19 06:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
cacti と MariaDB と php のインストール
# yum install cacti MariaDB-server MariaDB-client php
php の設定
# vi /etc/php.ini
// 692行目
default_charset = "UTF-8"
// 878行目
date.timezone = "Asia/Tokyo"
MariaDBの設定
文字コードの指定
# vi /etc/my.cnf.d/server.cnf
[mysqld]
character-set-server=utf8
MariaDB の起動と有効化
# systemctl start mariadb.service
# systemctl enable mariadb.service
MariaDBの初期設定
※rootパスワードの設定以外はEnterでok(デフォルト値を使用)
# mysql_secure_installation
cacti用のデータベースを作成(パスワードを hogehoge で説明)
# mysql -u root -p
create database cacti;
grant all privileges on cacti.* to cactiuser@localhost identified by 'hogehoge';
grant super on *.* to cactiuser@localhost; ← cacti.sql の読み込みでエラーが出るときの対処用
exit
cactiuserのパスワードをconfigファイルに反映
# vi /usr/share/cacti/include/config.php
$database_password = "hogehoge";
テーブル等の作成 (cacti-1.1.27はあなたのバージョンで置き換え)
# mysql -u cactiuser -p cacti < /usr/share/doc/cacti-1.1.27/cacti.sql
2018/01/30追記
--- ここから ---
1.1.27 のときは問題なかったのですが、1.1.28 で入れ直してみたらエラーが出るようになりました。
ERROR 1227 (42000) at line 6: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
対処方法をデータベース作成に追記してあります
--- ここまで ---
cronの有効化 (先頭の '#' を削除)
# vi /etc/cron.d/cacti
念のため cronの再起動
# systemctl restart crond.service
apacheの設定
# vi /etc/httpd/conf/httpd.conf
// 95行目 (変えなくていいかも?)
ServerName centos7.foo.com:80
// 164行目:ディレクトリ名のみでアクセスできるファイル名を追記
DirectoryIndex index.html index.cgi index.php
# vi /etc/httpd/conf.d/cacti.conf
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
# Require host localhost
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from localhost
</IfModule>
</Directory>
Require host localhost → Require all granted に変更
apacheの起動と有効化
# systemctl start httpd.service
# systemctl enable httpd.service
とりあえずここまで。残すは Spineのコンパイルと cacti の初期設定。