目次

サイトのログ設定

さっくりとした手順

  1. Apacheの設定ファイルを編集し、redmineの稼働ディレクトリにログを流すようにします。
  2. rsyslogを編集して日ごとにログを設定します。
  3. Redmineのプラグインをインストールして、管理画面からログを閲覧できるようにします。

Apache設定ファイルのバックアップを取ります。

  • Apacheバーチャルサイトの設定ファイル格納ディレクトリに移動
cd /etc/apache2/sites-available && pwd

/etc/apache2/sites-available にいることを確認します

  • 設定ファイルバックアップ
sudo cp -pi redmine.conf /path/to/backup/directory/redmine.conf.$(date +%Y%m%d)

任意のバックアップディレクトリを指定します。

  • バックアップ確認
diff -u /path/to/backup/directory/redmine.conf.$(date +%Y%m%d) redmine.conf

差分が無いことでバックアップの取得を確認します。

/var/log配下にシンボリックリンクを張ります。

  • ディレクトリ移動
cd /var/log && pwd

/var/logにいることを確認します

  • シンボリックリンク作成
sudo ln -sf /home/www-data/redmine/log/ redmine

ログの格納場所は自分の環境に合わせます。

  • リンク作成確認
ls -l redmine

Redmineのログディレクトリに向き先があることを確認します

Apache設定ファイルを編集します。

  • ファイル編集

/etc/apache2/sites-available/redmine.conf

を教義・信仰に従ったエディタで編集してください。(要管理者権限)

追記内容
    CustomLog /home/www-data/redmine/log/access.log combined 
    ErrorLog /home/www-data/redmine/log/error.log
    # Redmineが配置されているディレクトリ/logに合わせます

# 追記箇所は
# <VirtualHost *:443>
#    ServerName [ドメイン名] の下
# CustomLog /home/www-data/redmine/log/access.log combined 
# ErrorLog /home/www-data/redmine/log
#
# 常時SSL化しているため、HTTP通信のアクセスログは設定しません

差分を確認します。

diff -u /path/to/backup/directory/redmine.conf.$(date +%Y%m%d) redmine.conf
差分
 <VirtualHost *:443>
     ServerName Redmineドメイン名
+    CustomLog /home/www-data/redmine/log/access.log combined
+    ErrorLog /home/www-data/redmine/log/error.log
+

設定を反映します。

  • 構文確認
sudo apache2ctl configtest

Syntax OKを確認します。

  • Webサービス再起動
sudo systemctl restart apache2.service

ログが流れることを確認します。

tail -f /home/www-data/redmine/log/access.log

このコマンドを発行し、何回かRedmineサイトにアクセスし、ログが正常に出ていることを確認します。

ログローテーション設定

  • 【】内は自分の環境に合わせます。
cat <<- __EOF__ | sudo tee -a /etc/logrotate.d/redmine
【/var/log/redmine/】*.log {
        daily
        missingok
        notifempty
        copytruncate
        rotate 10
        compress
        su www-data www-data
}
__EOF__

これで、

  • 日ごとにログをローテーションする
  • 10世代保存
  • ローテーション時に保存
  • ログが書かれていなくても処理を続行

などの処置を行います。

動作確認

 sudo logrotate -dv /etc/logrotate.d/redmine

エラーがないことを確認します