はじめに
- jenkis を apache のリバースプロキシ(mod_proxy)配下で動かしたい
参考
対処のサマリ
- 起動時の引数を修正して jenkins の起動パスを修正する
- 起動時の引数は
JENKINS_ARGSにて指定可能 Debian系は/etc/default/jenkinsに設定されている
デモ
jenkins 単体での起動
サマリの通り /etc/default/jenkins の JENKINS_ARGS にて --prefix= を指定して起動する。
Wheezy への jenkins インストール(余談)
念の為 Debian Wheezy へ jenkins のインストール手順をメモっておく。
sudo apt-get install openjdk-6-jdk wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - sudo echo "deb http://pkg.jenkins-ci.org/debian binary/" >> /etc/apt/sources.list sudo apt-get update && sudo apt-get -y install jenkins
/etc/default/jenkins の修正
--prefix=/ci を追加した。
--- jenkins.original 2013-10-31 21:37:06.061321601 +0000 +++ jenkins 2013-10-31 21:37:53.509322729 +0000 @@ -56,4 +56,4 @@ # --webroot=~/.jenkins/war # --prefix=$PREFIX -JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT" +JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --prefix=/ci"
起動
/etc/init.d/jenkins restart で再起動を行った後は http://xxx.xxx.xxx.xxx:8080/ci としてアクセスすることになる。

apache 経由
mod_proxy を有効にする
Debian 系の OS では以下のようにしてモジュールを有効にする。
sudo a2enmod proxy sudo a2enmod proxy_http
/etc/apache2/mods-enabled/proxy.conf を修正する
/etc/apache2/mods-enabled/proxy.conf に以下を追記する。
ProxyRequests Off ProxyPass /ci http://localhost:8080/ci ProxyPassReverse /ci http://localhost:8080/ci
再起動を行った後は http://xxx.xxx.xxx.xxx/ci としてアクセスしてみる。上記の例では jenkins 側のパス(/ci)と apache 側のパス(/ci)は一致させる必要があるので注意する。
アクセスする
http://xxx.xxx.xxx.xxx/ci としてアクセスしてみる。

最後に
- じぇじぇじぇ!