SonarQubeの公開ポート番号を変更する

SonarQubeをデフォルト設定でインストールした場合、9000番ポートとなり、公開する上でちょっと面倒な場合があります。普通の80番ポートで公開するにはいくつか選択肢があります。

  1. SonarQubeの設定を変更する
  2. mod_proxyを使う
  3. mod_proxy_ajpを使う

1. SonarQubeの設定を変更する

sonar.properties でポート番号を設定できます。

sonar.web.port=9000

デフォルトで9000となっており、任意の番号に変更できます。

2. mod_proxyを使う

apache等のHTTPサーバが稼働していれば、mod_proxyを使うことができます。

ProxyPass        / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/

サーバのルートではなくコンテキストパスを設定したい場合は、sonar.propertiesに以下の設定を追加します。

sonar.web.context=/sonar

/sonarは任意のパスを設定可能です。Apache側の設定も合わせて変更が必要ですのでお忘れなく。

3. mod_proxy_ajpを使う

SonarQube 4.3はAJPにも対応しています*1。デフォルトでは無効化されているため、sonar.propertiesに設定を追加します。

sonar.ajp.port=9009

sonar.propertiesでの設定に合わせて、Apache側にAJPの設定を追加します。

ProxyPass        / ajp://localhost:9009/
ProxyPassReverse / ajp://localhost:9009/

CentOS 6.5であれば、httpdをインストールするだけで環境が整うので、mod_proxyやmod_proxy_ajpの追加インストールは不要です。

*1:3.7系では元々対応していたのですが、4系で削られてしまいました。このチケットで再度有効にされました