オープンソース

一覧へ

5. 共通設定

本章では、ElasticSearch/MariaDBどちらのバックエンドを選択した場合でも、必要な設定の説明を行います。

5.1. ログ監視設定

5.1.1. rsyslogの設定

SyLASでログ監視をするためには、SyLASが作成するファイルをrsyslogの設定として読み込む必要があります。 ログ監視の設定(*.conf)をインクルードするようrsyslog.confの設定を変更します。

$ModLoad ommail
$IncludeConfig /etc/rsyslog.sylas.d/*.conf

ログ監視の設定ファイルは/etc/rsyslog.sylas.d/配下に作成されるので、あらかじめrsyslog.sylas.dのディレクトリを作成する必要があります。 また、webインタフェースから設定ファイルを作成できるようApacheの権限を与えます。

# mkdir -p /etc/rsyslog.sylas.d/
# chmod 775 /etc/rsyslog.sylas.d/
# chown root:apache /etc/rsyslog.sylas.d

SyLASは1つの監視設定に対して、/etc/rsyslog.sylas.d/配下に1つの設定ファイルを作成します。 全ての監視で共通となる項目は、baseファイルで設定します。 baseファイルは次のように設定します。

#### From ####
$ActionMailFrom syslog@example.com

#### Subject(DEFAULT) ####
$template default_mail_subject,"Syslog Warning"
$ActionMailSubject default_mail_subject

#### Body(DEFAULT) ####
$template default_mail_body,"[Host] %fromhost%\r\n\r\n[Message]\r\n%msg%"

各項目の説明は以下のとおりです。 デフォルトのFrom、Subject、Bodyは適宜変更してください。

  • $ModLoad
    • 指定されたモジュールをロードするための設定
    • 設定例: ommail
  • $ActionMailFrom
  • $template default_mail_subject
    • メール件名のテンプレートを設定
    • 設定例: "Syslog Warning"
  • $ActionMailSubject
    • メール件名として利用するテンプレートの指定
    • 設定例: default_mail_subject
  • $template default_mail_body
    • メール本文のテンプレートを設定
    • 設定例: "[Host] %fromhost%rnrn[Message]rn%msg%"

設定後、rsyslogを再起動してください。

# systemctl restart rsyslog

5.1.2. sudo設定

SyLASからrsyslogの監視設定を行った場合、rsyslogの再起動が必要になります。 そのためSyLASが動作するWEBサーバの実行ユーザで、rsyslogが再起動できるように、sudoの設定を行います

# visudo
(中略)
# 次の行をコメントに変更
# Defaults requiretty

# 次の行を追加
apache ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart rsyslog

5.2. PHP設定

SyLASはPHPで動作しています。SyLASの動作のために、次の設定を必要に応じて行ってください。

  • タイムゾーンの変更
  • メモリー制限の変更
  • セッション保存ディレクトリの変更

次は設定例です。:

session.save_path = "/usr/local/postldapadmin/htdocs/admin/sylas/tmp"
memory_limit = 256M
date.timezone = Asia/Tokyo

5.3. Webサーバの設定

最後にWebサーバの設定を行います。 次はApache HTTP Server 2.4の設定例です。 アクセス制御の設定などを環境に合わせて行ってください。

[/etc/httpd/conf.d/sylas.conf]:

<Directory "/usr/local/postldapadmin/htdocs">
    <IfModule mod_authz_core.c>
        # Apache 2.4
        Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order Deny,Allow
        Deny from all
        Allow from all
    </IfModule>

    DirectoryIndex index.php
    php_value include_path ".:/usr/local/postldapadmin/"
</Directory>

Alias /sylas/ /usr/local/postldapadmin/htdocs/

<Location /sylas/>
    SetEnv LOGNAME sylas
    SetEnv DOMAIN sylas
</Location>

設定のポイントは次の通りです。

  • Alias はSyLASの公開ディレクトリを/sylas/にマッピングしています
  • SetEnv LOGNAME sylas は、SyLAS操作時に出力するSyslogのプログラム名です。
  • SetEnv DOMAIN sylas は、SyLASインスタンスのIDです。

Hint

DOMAIN環境変数は、複数のSyLASを利用できるように使われます。これはシングルの場合も設定が必要です。なおこの設定の値が、SyLASの設定ファイルの配置ディレクトリのパスに影響を与えます。DOMAIN環境変数が sylas の場合、設定ディレクトリは、 /usr/local/postldapadmin/etc/sylas/ になります。環境変数の値が sylas2 の場合は /usr/local/postldapadmin/etc/sylas/ になります。

設定後、Apacheを再起動し設定を反映してください。

# systemctl restart httpd

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

# systemctl enable httpd
一覧へ