LoginSignup
9
9

More than 5 years have passed since last update.

ubuntu13.10にJenkins+Nginxをインストールしたメモ

Last updated at Posted at 2014-04-10

概要

ubuntu Server 13.10 にJenkinsとNginxをインストールしました。
インターネット上に公開するのでBasic認証もかけました。

手順

各種インストール

$ sudo apt-get install jenkins
$ sudo apt-get install nginx
$ nginx -v
$ nginx version: nginx/1.4.1 (Ubuntu)

Nginxのconfigを編集

$ sudo vi /etc/nginx/sites-enabled/default 

serverディレクティブの末尾に以下を追加する。

server {

    # ...省略...

    location /jenkins {
        proxy_pass http://localhost:8080;
    }
}

Nginxを起動しようとすると怒られる

$ sudo service nginx start
sudo: unable to resolve host <hostname>

のIPアドレスが解決できないのでhostsを修正する。

$ sudo vi /etc/hosts
#127.0.0.1  localhost # コメントアウト
127.0.0.1   <hostname>.localhost    <hostname>

Jenkinsの設定

$ sudo vi /etc/default/jenkins 

末尾に--prefix=/jenkins を追加する。

JENKINS_ARGS="$JENKINS_ARGS --preferredClassLoader=java.net.URLClassLoader --prefix=/jenkins"
$ sudo service jenkins restart

トラブルシューティング

接続できない場合、ポートの状態をnmapで確認する。

$ sudo apt-get install nmap

$ nmap localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2014-04-11 00:24 JST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00022s latency).
rDNS record for 127.0.0.1: CI01.localhost
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
8080/tcp open  http-proxy

$ nmap xxx.xxx.xxx.xxx

Starting Nmap 6.40 ( http://nmap.org ) at 2014-04-11 00:25 JST
Nmap scan report for xxx.xxx.xxx.xxx
Host is up (0.00036s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

localhostのみ8080がopenされ、外部(xxx.xxx.xxx.xxx)には80のみopenされていることがわかります。

私の場合は、Nginxの設定ファイル/etc/nginx/site-enable/defaultがあるのに、別の設定ファイル/etc/nginx/conf.d/default.confを作って、そっちにproxy設定を書いていたのでserverディレクティブ全体が上書きされてしまっていたと思われます。

Basic認証をかける

パスワードファイルを作成する。

$ sudo apt-get install apache2-utils

$ cd /etc/nginx
$ sudo htpasswd -c htpasswd <username>
$ sudo vi /etc/nginx/sites-enabled/default 

locationディレクティブに以下を追加する。

server {

    # ...省略...

    location /jenkins {
        proxy_pass http://localhost:8080; # 追加
        auth_basic "Restricted";          # 追加
        auth_basic_user_file htpasswd;
    }
}
$ sudo service jenkins restart

参考

9
9
0

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
9
9