LoginSignup
5

More than 5 years have passed since last update.

JenkinsをApache経由で表示する

Posted at

はじめに

業務でJenkinsを使用しているのですが、「ポートって8080じゃないとダメなの?」と言われ、「確かに8080である必要は・・・ない」という話になりました。
そこで、80ポートで表示してみようというところからApache経由で表示するにはどうしたらいいのだろうと考え、この機会に「Apache経由でJenkinsを表示しようぜ」ということになりました。

セットアップ環境

セットアップの環境は次のとおりです。

分類 項目 バージョン
OS CentOS 7.3
MW httpd 2.4.6
MW Jenkins 2.140
MW OpenJDK 1.8.0_181

Jenkinsのセットアップ

Jenkinsをセットアップします。セットアップはyumで行います。
yumでインストールするためにJenkinsのリポジトリを取得する必要があります。

# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
# yum install jenkins

Javaがインストールされていなければ、Javaのインストールが必要です。

# yum install java

Jenkinsのサービスを起動します

# systemctl start jenkins
# systemctl enable jenkins

Webブラウザから "http://IPアドレス:8080" にアクセスします。
画面に表示される内容に従って、設定を行います。

リバースプロキシの設定をする

JenkinsのURLを変更します。

# vi /etc/sysconfig/jenkins
・・・・
#以下の行を修正
JENKINS_ARGS="--prefix=/jenkins”
・・・・

httpdをインストールします。

# yum install -y httpd

リバースプロキシの設定をします

# cat /etc/httpd/conf.d/jenkins.conf
ProxyPass           /jenkins http://localhost:8080/jenkins nocanon
ProxyPassReverse    /jenkins http://localhost:8080/jenkins
ProxyRequests       Off
AllowEncodedSlashes NoDecode

<Proxy http://localhost:8080/jenkins*>
  Order deny,allow
  Allow from all
</Proxy>

httpdを起動します

# systemctl start httpd
# systemctl enable httpd

Webブラウザから "http://IPアドレス:8080" にアクセスします。
Jenkinsにログインし、Jenkinsの管理をクリックします。
管理画面からシステムの設定をクリックします。
JenkinsのURLを "http://IPアドレス:8080/jenkins" に変更します。

Jenkinsを再起動します。

# systemctl restart jenkins

Webブラウザから "http://IPアドレス/jenkins" にアクセスし、Jenkinsの画面が表示されれば、設定は完了です。

注意点

リバースプロキシの設定をする中で、私がぶつかった問題を下記にまとめます。

SELinuxが有効だとJenkinsが表示されない

"http://IPアドレス/jenkins" にアクセスするとJenkinsの画面が表示されない場合があります。
その時は、SELinuxが有効になっている可能性があるので、SELinuxを無効にしてみましょう。

# setenforce 0
# getenforce 
Permissive
# systemctl restart httpd

Jenkinsにアクセスするとリバースプロキシの設定がおかしいと怒られる。

Jenkinsの管理をクリックすると、
リバースプロキシの設定がおかしいようです」とアラートが出ていました。
下記のURLの記事の通り、JenkinsのURLを "http://IPアドレス/jenkins" に変更したらアラートは
出なくなりました。
「Jenkins says my reverse proxy setup is broken」でもう一つ確認すべき場所

まとめ

Jenkinsのページにも簡単にまとめられていたので、簡単にリバースプロキシを設定することができた。
リバースプロキシ自体の設定も複雑なものではないので、また機会があれば設定してみようと思いました。

参考記事

「Jenkins says my reverse proxy setup is broken」でもう一つ確認すべき場所
Apache モジュール mod_proxy

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5