2013/07/15

JenkinsをApache経由でアクセス可能にする

Jenkinsを単独サービスでインストール後にApache経由でアクセス可能に設定を変更する手順について説明します。
インストール時に単独サービスとして起動する設定にすると、URLのプレフィックスの設定を変更する手段が管理コンソール上でみつからなかったので、設定ファイルを直接変更する必要があるようです。
ちょっといまいちですね。

前提条件

環境とかインストールの条件は以下の通りです。
  • OS:CentOS release 6.3 (Final)
  • Jenkins:1.522
  • インストール形式:RPM
条件が異なると設定ファイルの方法などことなる可能性があるのでご注意ください。

手順

手順の流れは以下の通りです。

  • Jenkinsの設定ファイルにURLのプレフィックスを設定
  • Jenkinsの再起動
  • Apacheの設定変更

Jenkinsの設定ファイルにURLのプレフィックスを設定

ここではURLを「http://Jenkinsサーバアドレス:8080/」形式から「http://Jenkinsサーバアドレス:8080/jenkins」形式に変更するという前提で説明します。
Jenkinsの設定ファイル/etc/sysconfig/jenkinsにURLのプレフィックスの設定を追加します。ファイルの最下段に以下の設定とおり設定を行います。

## Type:        string
## Default:     ""
## ServiceRestart: jenkins
#
# Pass arbitrary arguments to Jenkins.
# Full option list: java -jar jenkins.war --help
#
JENKINS_ARGS=""
## Type:        string
## Default:     ""
## ServiceRestart: jenkins
#
# Pass arbitrary arguments to Jenkins.
# Full option list: java -jar jenkins.war --help
#
JENKINS_ARGS="--prefix=/jenkins"

Jenkinsの再起動

Jenkinsの管理画面にある設定の再読み込みを行っても上記で変更したURLのプレフィックスは起動パラメータなので反映されないので再起動を行います。

# /etc/init.d/jenkins restart
設定が反映されているか確認します。
# ps -ef | grep jenkins
jenkins  25090     1 99 05:41 ?        00:00:32 /usr/bin/java ~略~ --handlerCountMaxIdle=20 --prefix=/jenkins
ブラウザから「http://Jenkinsサーバアドレス:8080/jenkins」形式でアクセスし正常に動作することを確認して下さい。

Apacheの設定変更

Apacheに以下のリバースプロキシの設定を行い再起動します。
<ifmodule mod_proxy.c>
ProxyPass /jenkins http://127.0.0.1:8080/jenkins
ProxyPassReverse /jenkins http://127.0.0.1:8080/jenkins
ProxyRequests Off


<proxy "http://127.0.0.1:8080/jenkins/*">
    Order deny,allow
    Allow from all
</proxy>
</ifmodule>

ブラウザから「http://Jenkinsサーバアドレス/jenkins」形式でアクセスし正常に動作することを確認して問題なければ設定完了です。

0 件のコメント:

コメントを投稿