0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

cactiをソースからインストールをしてみるの続き

Last updated at Posted at 2023-02-27

前回は各種ミドルウェアをインストールして終わったので、今回は起動とcactiの設定をしていこうと思います。

前回の記事は下記になります。
https://qiita.com/imaii/items/81c837431c9d07d6af43

mysqlの起動、初期化

テストなのでrootはパスなしで初期設定します。
cacti用のユーザを作成しましょう。

useradd -s /sbin/nologin mysql
chown -R mysql:mysql /opt/mysql-data
/opt/cacti/local/mysql/bin/mysqld --user=mysql --log-error-verbosity=3 --initialize-insecure

/opt/cacti/local/mysql/bin/mysqld_safe &
/opt/cacti/local/mysql/bin/mysql -uroot

#cacti用のユーザとDBを作成しましょう。
mysql> create user 'cacti'@'localhost' identified by 'cacti';
mysql> create database cacti;
mysql> quit

#初期のデータを投入しましょう。
/opt/cacti/local/mysql/bin/mysql -uroot < /opt/cacti/app/cacti/cacti.sql cacti

/opt/cacti/local/mysql/bin/mysql -uroot
mysql> GRANT ALL ON cacti.* TO 'cacti'@'localhost';

#パスワード認証方法を確認し、nativeに変更する
mysql> SELECT user, host, plugin FROM mysql.user;
mysql> ALTER USER 'cacti'@'localhost' IDENTIFIED WITH mysql_native_password;

#timezoneの確認をし、変更(SYSTEMだとエラーになる)する
mysql> show variables like '%time_zone%';
mysql> quit

chmod 755 /opt/mysql-data/
/opt/cacti/local/mysql/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql

/etc/my.cnfに初期値を記載しておきましょう。

/etc/my.cnf
[mysqld]
default-time-zone='Asia/Tokyo'

mysqlを再起動して、timezoneが変わっていることを確認する。

/opt/cacti/local/mysql/bin/mysqladmin shutdown
/opt/cacti/local/mysql/bin/mysqld_safe &

#合わせて、cactiのユーザでmysqlにログインし、cactiのテーブルが見えれるか確認をする
/opt/cacti/local/mysql/bin/mysql -u cacti

下記が出る場合は、
You must reset your password using ALTER USER statement before executing this statement

もう1回これ流しましょう。
mysql> alter user 'cacti'@'localhost' identified by 'cacti';
mysql> GRANT ALL ON cacti.* TO 'cacti'@'localhost';

その後、下記コマンドで確認しましょう。
mysql> show databases;
mysql> use cacti;
mysql> show tables;

ここら辺まででmysqlの起動確認終わりになります。

apache,phpの起動と設定

次に、apacheとphpの設定ファイルを修正しましょう。
主に下記です。

  • httpd.conf
  • (追加する場合は、)cacti用のconf
  • php-fpm.conf
  • php.ini
  • /opt/cacti/app/cacti/include/config.php(ここに接続情報が書いてある)

今回は、httpd.confをあまりいじらず、新規でcacti用のconfを作成する。
LoadModuleで下記2点有効になっていることと、httpd.confの最終行にIncludeを追加しましょう。

/opt/cacti/local/httpd/conf/httpd.conf
LoadModule proxy_module modules/mod_proxy.so	LoadModule proxy_module 
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

Include conf/cacti.conf

追加するcacti.confの中身です。
割と適当です。テストなので、all grantedにしてます。設定したいオプションがあれば書きましょう。
大事なのは、FilesMatchディレクティブです。php-fpm.confに書くので。

/opt/cacti/local/httpd/conf/cacti.conf
<VirtualHost *:80>
    ServerAdmin 好きなの入れてね!!
    ServerName サーバ名にしてね!!
    DocumentRoot /opt/cacti/app
    LogLevel debug
    ErrorLog "|/opt/cacti/local/bin/rotatelogs /opt/cacti/app/cacti/log/httpd-cacti.error_log_%Y%m%d 86400 540"
    CustomLog "|/opt/cacti/local/bin/rotatelogs /opt/cacti/app/cacti/log/httpd-cacti.access_log_%Y%m%d 86400 540" combined
    AddHandler cgi-script .cgi .pl
    <Directory "/opt/cacti/app">
        Require all granted
        <FilesMatch \.php$>
                SetHandler "proxy:unix:/var/run/php-fpm-product.sock|fcgi://localhost"
        </FilesMatch>
        DirectoryIndex index.php
        Options -Indexes
        AllowOverride all
        AddType application/x-httpd-php .php
    </Directory>
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddHandler cgi-script .cgi
    AddType application/x-httpd-php .php
</IfModule>

</VirtualHost>

apacheと繋げるようのPHPの設定ファイルをいじりましょう。
上でメモったlistenとソケットの値があっていれば大丈夫です。
それ以外は適当です。

/opt/cacti/local/php/etc/php-fpm.conf
[global]
error_log = /var/log/php-fpm.log
log_level = notice
[product]
user = cacti
group = cacti
listen = /var/run/php-fpm-$pool.sock
listen.owner = cacti
listen.group = cacti
listen.mode = 0666
pm = static
pm.max_children = 10
access.log = /opt/cacti/app/cacti/log/php-fpm.access.log
fpm.access.log_%Y%m%d 86400 540"
slowlog = /opt/cacti/app/cacti/log/php-fpm.slowlog.log
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
php_admin_value[error_log] = /opt/cacti/app/cacti/log/php-fpm.errors.log

cacti内のinclude/config.php

/opt/cacti/app/cacti/include/config.php

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = '127.0.0.1';
$database_username = 'cacti';
$database_password = 'cacti';
$database_port     = '3306';
$database_retries  = 5;
$database_ssl      = false;
$database_ssl_key  = '';
$database_ssl_cert = '';
$database_ssl_ca   = '';
$database_persist  = false;

sudo apachectl start
sudo php-fpm start

ここまで来れば、http://<サーバのIP or apacheで設定したホスト名>/cactiでログイン画面が出てくる。

ブラウザの操作

image.png

ただ、これで終わりじゃありません!
ここから初期のインストールウィザードが走りますので、画面に従いましょう。

初期パスはadmin:adminなのでログインしてからパスワードを変更しましょう。

同意して言語を決めると、インストールチェックが入ります。

image.png

各ミドルウェアの設定少なくね?と思ったあなた。正解です。ここでチェックされたものに関しては、各種ファイルを修正しましょう。見てもらいたかったので、少なくしてます。
例えば、PHPであればphp.iniです。PHPのモジュールが必要だったら再ビルド・・・はめんどくさいのでそれはしないようにビルドはしてます。

PHPで指示があった値に書き換えましょう。
書き換えたら、php-fpm restartで再起動しましょう。

/opt/cacti/local/php/lib/php.ini
memory_limit = 1024MB
max_execution_time = 60

MySQLで指示があった値に書き換えましょう。その1

mysql -uroot
mysql> GRANT SELECT ON `mysql`.`time_zone_name` TO `cacti`@`localhost`;

MySQLで指示があった値に書き換えましょう。その2
雑に/etc/my.cnfを書き換えましょう。書き換えたら、mysqladmin shutdown -> mysqld_safe &で起動させましょう。

/etc/my.cnf
[mysqld]
default-time-zone='Asia/Tokyo'
collation_server=utf8mb4_unicode_ci
character_set_server=utf8mb4
max_heap_table_size=500MB
tmp_table_size=500MB
innodb_buffer_pool_size=8GB
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_buffer_pool_instances=8
innodb_io_capacity=5000
innodb_io_capacity_max=10000

#character_set_client=utf8mb4は書かなくて大丈夫です。書くと起動しません。

ここら辺を修正して、ブラウザをリロードすると先へ進めると思います。

番外編

これの直し方がわからなかった・・・gdはenableにしてるのに・・・
ただオプションなので、今回はスルーさせてもらいました。

image.png

続き。
あとは画像をペタペタします。

初めての場合は、New Primary Serverを選択して、Next
image.png

問題ないことを確認して、Next
image.png

spineだけ空っぽだったのでパス入れときましょう。(後で変更可)
image.png

pollerの注意点が書いてあります。確認したらチェック入れて、Next
image.png

pollerの設定など。ScanModeは自分は手動でやる予定だったので、OFFにしました。
image.png

確認して、Ne(ry
image.png

確認して、(ry
image.png

確認(ry
image.png

おめでとうございます!!!
image.png

あとは、Create -> NewDeviceでデバイスを登録したりして、cactiを使い始めれます!
image.png

良きcacti生活を! 

次ぐらいに、こういう使い方も出来ますよー的なのを書いてみようかな。と思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?