オープンソース

サーバー構築のデージーネットTOP > OSS情報 > デージーネットのOSS > SyLAS導入マニュアル

Top

4. インストール方法(MySQL)

4.1. 必要なソフトウェア

SyLAS(MySQLバックエンド)を利用するためには、次のソフトウェアが必要です。

  • WEBサーバ
  • PHP 5.4以上
    • mbstring拡張
    • openssl拡張
    • pdo/mysql拡張
    • curl拡張
  • rsyslog
  • MySQL/MariaDB
  • rsyslog
  • rsyslog-mysqlモジュール
  • MTA(Postfix等)
  • postLDAPadminフレームワーク( https://ja.osdn.net/projects/postldapadmin/releases/ )

4.2. 環境について

本章では、次の環境での構築方法を解説します。

  • OS
    • CentOS7
  • WEBサーバ
    • Apache HTTP Server 2.4(CentOS標準パッケージ)
  • PHP
    • php-5.4(CentOS標準パッケージ)
    • php-mbstring-5.4(CentOS標準パッケージ)
    • php-pdo-5.4(CentOS標準パッケージ)
    • php-mysql-5.4(CentOS標準パッケージ)
    • php-mcrypt-5.4(EPELパッケージ)
  • rsyslog
    • rsyslog 8(CentOS標準パッケージ)
    • rsyslog-mysql(CentOS標準パッケージ)
  • DB
    • mariadb-server-5.5(CentOS標準パッケージ)
  • MTA
    • postfix-2.10(CentOS標準パッケージ)

4.3. 必要なソフトウェアのインストール

4.3.1. EPELリポジトリのインストール

yum コマンドを利用して、EPELリポジトリをインストールします。

# yum install -y epel-release

4.3.2. ソフトウェアのインストール

yum コマンドを利用して、CentOSの標準で利用できるパッケージをインストールします。

# yum install -y  httpd php php-common php-cli php-mbstring php-pdo php-mysql php-mcrypt rsyslog rsyslog-mysql postfix mariadb-server

Note

rsyslogとpostfixは、OSインストールの際にインストール済かもしれません。

4.3.3. postLDAPadminフレームワークのインストール

SyLASは、postLDAPadminフレームワークを使って動作します。 そのため、まず次のURLから postLDAPadmin のアーカイブをダウンロードします。:

http://osdn.jp/projects/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

4.3.4. SyLASのインストール

次のURLから SyLAS のアーカイブをダウンロードします。:

https://ja.osdn.net/projects/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/ 設定ファイル配置ディレクトリ

ここまでの手順で、必要なソフトウェアが揃いました。 次の手順から、設定に入ります。

4.4. データベース設定

本章では、SyLASが利用するデータベースの設定を行います。

4.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

4.4.2. データベースの起動

データベースを起動します。

# systemctl start mariadb

必要に応じて、自動起動の設定を行ってください。

# systemctl enable mariadb

4.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は、任意のパスワードを設定してください。

4.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

4.4.4.1. 設定情報保存用データベースの作成

SyLASに同梱されているファイルを利用して、テーブルを作成します。

# mysql -u syslog -p Syslog < /usr/local/postldapadmin/db/sylas.sql
Enter password:

4.5. ログの受信設定

4.5.1. ログ受信設定

次にrsyslogが外部からログを受信し、受信したログをMySQLに保存する設定を行います。 設定は /etc/rsyslog.conf に行います。次は514ポート(TCP/UDP)でSyslogを受信し、MariaDBにログを保存する設定例です。:

$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

$ModLoad ommysql
*.warn :ommysql:127.0.0.1,Syslog,syslog,password
  • $AllowedSender にはUDP/TCPでのログ転送を許可するネットワークなどの設定を行ってください。
  • :ommysql:のオプションは、MySQLの接続IPアドレスアドレス,DB名,ユーザ名,パスワードです

次に 共通設定 の手順に従って設定を行ってください。

Top