1 システム要件

本ドキュメントは Backlog プロフェッショナル (1.9.0) がインストールされており、 その環境はBacklog プロフェッショナル インストールガイド システム要件 を満たしている事を前提とします。

2 HTTPS での運用

HTTPS で Backlog を運用するためには、事前にSSLのサーバ証明書を準備頂く必要があります。 証明書の発行については、ご利用する証明書発行機関の手順にしたがってください。 以下では、HTTPS のポートは 443 で設定する事を前提とします。

2.1 HTTPS を有効化する

以下の手順でHTTPSを有効化します。

  • Backlogを停止します
  • ssl.conf を編集します
  • httpd.conf を編集します
  • モバイル版の httpd.conf を編集します
  • Backlog を起動します
  • スペースURLを変更します

モバイル版を利用していない場合は、Backlog の停止及び起動の手順から service backlog-mobile に関する手順は省略してください。

2.1.1 Backlog を停止します

次のコマンドを実行し停止します。

# service backlog-www stop
# service backlog-app stop
# service backlog-mobile stop
# service backlog-git stop
# service backlog-api stop

2.1.2 ssl.conf を編集します

/opt/backlog/httpd/conf/ssl.conf の下記部分を環境にあう設定に編集します。

 

[1] サーバ名

### PLEASE CHANGE ###
ServerName www.example.com:443
#####################
 

[2] 証明書およびサーバ鍵の場所

### PLEASE CHANGE ###
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
#####################
 

証明書によっては中間証明書の設置も必要な場合があります。証明書発行元のドキュメントもご確認ください。

2.1.3 httpd.conf を編集します

以下のコマンドにて、ssl.conf を読み込む設定を追加してください。

# cp -a /opt/backlog/httpd/conf/httpd.conf /opt/backlog/httpd/conf/httpd.conf.bak
# echo 'Include conf/ssl.conf' >> /opt/backlog/httpd/conf/httpd.conf

2.1.4 モバイル版の httpd.conf を編集します

モバイル版をご利用の場合は /opt/backlog/httpd-mobile/conf/httpd.conf の設定から以下のコメントアウトを外してください。

#PerlSetEnv HTTPS on
PerlSetEnv HTTPS on

2.1.5 Backlogを起動します

次のコマンドを実行し起動します。

# service backlog-app start
# service backlog-www start
# service backlog-mobile start
# service backlog-git start
# service backlog-api start

2.1.6 スペースURLを変更します

Backlogに管理者にてログイン後、「管理画面」→「スペースの編集」より、スペースのURLをHTTPSのものに変更してください。



2.2 HTTPSにリダイレクトする

HTTPSでの利用に限定したい場合、HTTP へのアクセスを HTTPS にリダイレクトする設定を行います。 /opt/backlog/httpd/conf/httpd.conf に以下の設定を追加してください。

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_USER_AGENT} !^Backlog\ HttpClient
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1 [R,L]

尚、Backlog は内部の API 呼び出しで HTTP でのアクセスを利用するため、Apache の設定で HTTP の利用そのものを停止することは出来ません。もしサーバ外部からの HTTP アクセスを制限したい場合はファイアーウォール等の設定で行うようにしてください。

3 ディレクトリ構成

Backlog プロフェッショナルは次のディレクトリ構成でインストールが行われます。

/opt/backlog
|– api-server
|– bin
|– data
| |– image
| |– git
| |– lucene
| | `– index
| |– share
| | `– dav
| `– svn
|– git-server
|– httpd
|– httpd-mobile
|– licenses
|– licenses-mobile
|– perl
|– perl-mobile
|– perl-git
|– scripts
|– serf
|– subversion
`– tomcat

4 ログの管理

ログの管理には Apache に付属する rotatelogs や OS に付属する logrotate を利用します。 これらの詳細についてはご利用環境で提供されているドキュメントを参照してください。

4.1 ログファイルの保存ディレクトリ

Backlog を構成する各種のミドルウェアは以下のディレクトリに保存されています。

  • httpのログ

    /opt/backlog/httpd/logs

  • tomcatのログ

    /opt/backlog/tomcat/logs

  • モバイル版httpのログ

    /opt/backlog/httpd-mobile/logs

  • Gitサーバのログ

    /opt/backlog/git-server/logs

  • API v2サーバのログ

    /opt/backlog/api-server/logs

4.2 Apache のログをローテートする

/opt/backlog/httpd/conf/httpd.conf に rotatelogs を利用した設定例をコメントアウトした状態で記載しています。 以下のように有効化してください。

# (119行目付近)
# 以下をコメントアウト
#ErrorLog logs/error_log
# 以下を有効に
ErrorLog "|/opt/backlog/httpd/bin/rotatelogs -l /opt/backlog/httpd/logs/error_log.%Y-%m-%d 86400"

#LogLevel debug
LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

# 以下をコメントアウト
#CustomLog logs/access_log combined
# 以下を有効にCustomLog "|/opt/backlog/httpd/bin/rotatelogs -l /opt/backlog/httpd/logs/access_log.%Y-%m-%d 86400" combined

4.3 Tomcat のログをローテートする

/opt/backlog/tomcat/bin/catalina.sh に rotatelogs を利用した設定例をコメントアウトした状態で記載しています。 以下のように有効化してください。

# (386行目付近)
# 以下をコメントアウト
# >> "$CATALINA_OUT" 2>&1 "&"
# 以下を有効に
2>&1 | /opt/backlog/httpd/bin/rotatelogs -l "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d 86400 &

4.4 Git サーバのログをローテートする

logrotate を利用してローテートを行います。/etc/logrotate.d/backlog-git に以下のファイルを追加します。

/opt/backlog/git-server/logs/httpd.log
/opt/backlog/git-server/logs/rpc.log
/opt/backlog/git-server/logs/hook-worker-backlog.log
/opt/backlog/git-server/logs/hook-worker-webhook.log
/opt/backlog/git-server/logs/hook-worker-diskusage.log
/opt/backlog/git-server/logs/sshd.log
{
  sharedscripts
  postrotate
    service backlog-git restart
  endscript
}

4.5 API v2 のログをローテートする

/opt/backlog/scripts/backlog-api に rotatelogs を利用した設定例をコメントアウトした状態で記載しています。 以下のように有効化してください。

# (49行目付近)
# 以下をコメントアウト
# >> ${LOGS_DIR}/play.log 2>&1 &"
# 以下を有効に
2>&1 | /opt/backlog/httpd/bin/rotatelogs -l ${LOGS_DIR}/play.log.%Y-%m-%d 86400 &"

5 バックアップ

5.1 バックアップ

以下の二点についてバックアップを定期的に取得することをおすすめします。

  • データベースのダンプ
  • /opt/backlog/data 以下のデータ領域ディレクトリ

データベースのダンプについて、MySQLの場合は mysqldump、PostgreSQLの場合はpg_dumpなどが利用可能です。

5.2 データ領域

Backlog の利用するデータは、データベースデータに加え、以下のディレクトリに各々保存されています。

  • 画像ファイル領域

    /opt/backlog/data/image

  • インデックス検索ファイル領域

    /opt/backlog/data/lucene

  • 「ファイル共有」機能で管理されるファイル領域

    /opt/backlog/data/share/dav/プロジェクト名

  • 「Subversion」機能のリポジトリ領域

    /opt/backlog/data/svn/プロジェクト名

  • 「Git」機能のリポジトリ領域

    /opt/backlog/data/git/プロジェクト名

6 不要なサービスの停止

6.1 モバイル用サービス

Backlogをイントラネット内で利用される場合など、モバイル版が必要ない・利用しない場合は、backlog-mobile サービスを停止することができます。

# service backlog-mobile stop
# chkconfig backlog-mobile off

6.2 Git サービス

Git に関連する機能を利用しない場合は、backlog-git サービスを停止することができます。

# service backlog-git stop
# chkconfig backlog-git off

6.3 API v2 サービス

API v2 を利用しない場合、backlog-api サービスを停止することができます。
API v2 の詳細については、Nulab Developers を参照ください。

# service backlog-api stop
# chkconfig backlog-api off

7 インストール後の再設定

インストール後に、次の設定値を再設定することができます。

  • SMTPサーバ
  • データベースの再設定(データベースの種類の変更は行えません)

7.1 設定ツールの起動

Backlogパッケージ(backlog-app)に同封している設定ツールを使用して、Backlogアプリケーションの再設定を行います。

次のコマンドを実行して、設定ツールを起動してください。

# /opt/backlog/bin/config.sh

8 利用するポート番号

以下のポート番号を利用してサービスを公開しますので、iptables 等を利用されている場合は、下記のポート番号への外部からのアクセスを許可してください。

HTTP用ポート 8969 ( 環境設定で指定された場合はそのポート番号 )
Git SSH用ポート 8972

上記以外で以下のポート番号をBacklog内部的に利用します。
5701, 8905, 8970, 8971, 8973, 8974, 8975, 18969

  • Linuxは、Linus Torvalds氏の日本およびその他の国における登録商標または商標です。
  • Red Hatは米国およびその他の国におけるRed Hat, Incの登録商標または商標です。
  • MySQLとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • その他記載されている会社名および商品名は各社の登録商標または商標です。

Author: Backlog Support <support@backlog.jp>

Date: 2015-12-15 16:57:12 JST