2. バックエンドの選択 一覧へ 4. インストール方法(OpenSearch)
3. インストール方法(MySQL)
3.1. 必要なソフトウェア
SyLAS(MySQLバックエンド)を利用するためには、次のソフトウェアが必要です。
- WEBサーバ
- PHP 5.4以上
- mbstring拡張
- openssl拡張
- pdo/mysql拡張
- curl拡張
- rsyslog
- MySQL/MariaDB
- rsyslog
- rsyslog-mysqlモジュール
- MTA(Postfix等)
- postLDAPadminフレームワーク(
https://github.com/designet-inc-oss/postLDAPadmin
)
3.2. 環境について
本章では、次の環境での構築方法を解説します。
- OS
- Almalinux9
- WEBサーバ
- Apache HTTP Server 2.4(Almalinux標準パッケージ)
- PHP
- php-8.0.30(Almalinux標準パッケージ)
- php-mbstring-8.0.30(Almalinux標準パッケージ)
- php-pdo-8.0.30(Almalinux標準パッケージ)
- php-mysql-8.0.30(Almalinux標準パッケージ)
- php-mcrypt-8.0.30(EPELパッケージ)
- rsyslog
- rsyslog 8(Almalinux標準パッケージ)
- rsyslog-mysql(Almalinux標準パッケージ)
- DB
- mariadb-server-10.5.22(Almalinux標準パッケージ)
- MTA
- postfix-3.5.9(Almalinux標準パッケージ)
3.3. 必要なソフトウェアのインストール
3.3.1. EPELリポジトリのインストール
dnf
コマンドを利用して、EPELリポジトリをインストールします。
# dnf install -y epel-release
3.3.2. ソフトウェアのインストール
dnf
コマンドを利用して、Almalinuxの標準で利用できるパッケージをインストールします。
# dnf install -y httpd php php-common php-cli php-mbstring php-pdo php-mysqlnd php-mcrypt rsyslog rsyslog-mysql postfix mariadb-server
Note
rsyslogとpostfixは、OSインストールの際にインストール済かもしれません。
3.3.3. postLDAPadminフレームワークのインストール
SyLASは、postLDAPadminフレームワークを使って動作します。
そのため、まず次のURLから postLDAPadmin
のアーカイブをダウンロードします。:
https://github.com/designet-inc-oss/postLDAPadmin
必要なアーカイブは次の通りです。
- postLDAPadmin_frame
- postLDAPadmin_admin
- postLDAPadmin_user
- postLDAPadmin_lib
ダウンロード後、次のようにアーカイブを展開します。
# tar xzf postLDAPadmin_frame-*.tar.gz -C /usr/local
# tar xzf postLDAPadmin_admin-*.tar.gz -C /usr/local/postldapadmin/htdocs/admin
# tar xzf postLDAPadmin_lib-*.tar.gz -C /usr/local/postldapadmin/lib
3.3.4. SyLASのインストール
次のURLから SyLAS
のアーカイブをダウンロードします。:
https://github.com/designet-inc-oss/SyLAS
必要なアーカイブは次の通りです。
- sylas
ダウンロード後、次のようにアーカイブを展開します。
# tar xzf sylas-*.tar.gz -C /usr/local/postldapadmin
アーカイブ展開後のディレクトリ構成は次のようになります。
ディレクトリ | 説明 |
---|---|
/usr/local/postldapadmin/htdocs/admin/sylas/ | SyLASの公開ディレクトリ |
/usr/local/postldapadmin/tmpl/ | 画面テンプレート |
/usr/local/postldapadmin/lib/ | ライブラリディレクトリ |
/usr/local/postldapadmin/etc/ | 設定ファイル配置ディレクトリ |
ここまでの手順で、必要なソフトウェアが揃いました。 次の手順から、設定に入ります。
3.4. データベース設定
本章では、SyLASが利用するデータベースの設定を行います。
3.4.1. データベースのキャラクタ設定
MariaDBが扱うキャラクタ設定を変更します。
まず設定を配置するディレクトリを作成します。
# mkdir /usr/local/postldapadmin/etc/charsets
次に必要なファイルをコピーします。
# cd /usr/share/mysql/charsets/
# cp Index.xml latin1.xml /usr/local/postldapadmin/etc/charsets/
# cd /usr/local/postldapadmin/etc/charsets/
コピーしたIndex.xmlに、照合順序(latin1_ip_mac_ci)を追加します。 <charset name="latin1">の内側に、以下のように記載します。
<charset name="latin1">
(省略)
<collation name="latin1_ip_mac_ci" id="1000"/>
</charset>
latin1.xmlに、照合順序のソート順序を宣言します。同ファイル内のlatin1_swedish_ciと同一ですので、コピーして使えます。 <charset>の内側に以下を記載します。
<collation name="latin1_ip_mac_ci">
<map>
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
41 41 41 41 5C 5B 5C 43 45 45 45 45 49 49 49 49
44 4E 4F 4F 4F 4F 5D D7 D8 55 55 55 59 59 DE DF
41 41 41 41 5C 5B 5C 43 45 45 45 45 49 49 49 49
44 4E 4F 4F 4F 4F 5D F7 D8 55 55 55 59 59 DE FF
</map>
</collation>
latin1.xmlで、ctype配列を変更します。0x2Eと、0x3Aに相当する場所の変更が必要です。行列内、4行目の最後から2番めの要素と、5行目の最後から6番目の要素です。 "10" と記載されている箇所を、"01" と変更します。
<ctype>
<map>
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 `01` 10
84 84 84 84 84 84 84 84 84 84 `01` 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 20
10 00 10 02 10 10 10 10 10 10 01 10 01 00 01 00
00 10 10 10 10 10 10 10 10 10 02 10 02 00 02 01
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 10 01 01 01 01 01 01 01 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 10 02 02 02 02 02 02 02 02
</map>
</ctype>
最後に、MariaDBの設定変更を行います。次の内容で /etc/my.cnf.d/sylas.cnf
を作成します。
[mysqld]
character-sets-dir=/usr/local/postldapadmin/etc/charsets
ft_min_word_len=1
3.4.2. データベースの起動
データベースを起動します。
# systemctl start mariadb
必要に応じて、自動起動の設定を行ってください。
# systemctl enable mariadb
3.4.3. データベース操作ユーザの作成
データベース操作用のユーザを作成してください。
# mysql -u root -p
Enter password:
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON Syslog.* TO
syslog@localhost IDENTIFIED BY 'password';
> FLUSH PRIVILEGES;
Hint
必要に応じて事前にmysql_secure_installationなどのコマンドで、MariaDBのrootユーザのパスワード等の設定を行ってください。
Note
passwordは、任意のパスワードを設定してください。
3.4.4. ログ保存データベースの作成
SyLASのログ保存用のデータベースを作成します。
データベースの情報は、rsyslog-mysqlパッケージに含まれる mysql-createDB.sql
ファイルを利用します。
rpm -ql rsyslog-mysql | grep mysql-createDB
などのコマンドでパスを調べて利用してください。
mysql-createDB.sql
ファイルの内容を修正します。修正箇所は次の通りです。
CREATE TABLE SystemEvents
(
...
Message text CHARACTER SET latin1 COLLATE latin1_ip_mac_ci,
...
FULLTEXT INDEX(`Message`)
) ENGINE=MyISAM;
修正したファイルをリストアします。
# mysql -u root -p < mysql-createDB.sql_new
3.4.4.1. 設定情報保存用データベースの作成
SyLASに同梱されているファイルを利用して、テーブルを作成します。
# mysql -u syslog -p Syslog < /usr/local/postldapadmin/db/sylas.sql
Enter password:
3.5. ログの受信設定
3.5.1. ログ受信設定
次にrsyslogが外部からログを受信し、受信したログをMySQLに保存する設定を行います。
設定は /etc/rsyslog.conf
と /etc/rsyslog.d/mysql.conf
に行います。次は514ポート(TCP/UDP)でSyslogを受信し、MariaDBにログを保存する設定例です。
対象ファイル: /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24
$ModLoad imtcp
$InputTCPServerRun 514
$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24
- $AllowedSender にはUDP/TCPでのログ転送を許可するネットワークなどの設定を行ってください。
対象ファイル: /etc/rsyslog.d/mysql.conf
$ModLoad ommysql
*.* action(type="ommysql"
server="127.0.0.1"
db="Syslog"
uid="syslog"
pwd="password"
serverport="3306"
)
次に 共通設定 の手順に従って設定を行ってください。