こんにちわ!!
ゴルフWEB予約を担当してるデラです。
LL(主にPHP)やCI界隈の記事を書いていこうかと思っています。
今回はGitBucketをGlassFish上に構築する方法を紹介します。
GitBucket を GlassFish 上で構築することによって WEBのコントロールパネルが使いやすく、GitBucketの更新やJenkins等も構築できるので便利です。
GitBucketとは
今更感はありますがGitBucketはGitHubのオープンソースのクローンプロジェクトです。 Scalaで組まれており、JavaのAPサーバで動作し、導入が簡単に行えるのが特徴です。 https://github.com/takezoe/gitbucket
GlassFishとは
GlassFishは、サンを中心としたオープンソース・コミュニティと、同コミュニティで開発されたJava EE準拠のアプリケーションサーバの名称である。GlassFishはCommon Development and Distribution License (CDDL) と、クラスパス例外を含むGNU General Public License (GPL) の二重ライセンスである。 (Wikipediaから抜粋)
環境
GlassFishの構築
JDKのインストール
JDK7がインストール済みの場合は飛ばして下さい。 Oracleのサイト からrpmファイルをダウンロードしセットアップするマシンに移動。 今回はCentOS/64bitでしたので jdk-7u71-linux-x64.rpm を選択しました。
# JDKのインストール # バージョンが表示されればOK sudo rpm -Uvh jdk-7u71-linux-x64.rpm java -version java version "1.7.0_71"
JDKがインストール済みで、入れ替えを行った場合、シンボリックリンクの付け替え等が必要な様です。 以下リンクを参考に付け替えを行ってください。 http://tsujimotter.hatenablog.com/entry/2014/06/26/215128
GlassFishの展開
# GlassFishをダウンロードして解凍 wget http://download.java.net/glassfish/4.0/release/glassfish-4.0-ml.zip unzip glassfish-4.0-ml.zip # GlassFishの起動 ./glassfish4/bin/asadmin start-domain domain1 # 起動に失敗するの場合、以下を確認してみる # hostsファイル sudo vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 [ホスト名] ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 [ホスト名]
GlassFishコンソールへの接続設定
# ドメインを止めてadminパスワードを設定 ./glassfish4/bin/asadmin stop-domain ./glassfish4/bin/asadmin change-admin-password Enter admin user name [default: admin]> [そのままEnter] Enter the admin password> [そのままEnter] Enter the new admin password> [新しいパスワード] Enter the new admin password again> [新しいパスワード] Command change-admin-password executed successfully. # SSLの有効化(GlassFishドメインの動いている状態で実行します。) ./glassfish4/bin/asadmin start-domain domain1 ./glassfish4/bin/asadmin enable-secure-admin Enter admin user name> admin Enter admin password for user "admin"> You must restart all running servers for the change in secure admin to take effect. Command enable-secure-admin executed successfully. # ドメインの再起動 ./glassfish4/bin/asadmin stop-domain ./glassfish4/bin/asadmin start-domain domain1
管理者ページにアクセスしてみる
http://[マシンのIP]:4848/
設定したパスワードでログインできたら成功
つながらない場合は iptables を確認してみる事
GlassFishの自動起動設定
# 起動スクリプトの作成 sudo touch /etc/init.d/glassfish sudo chmod +x /etc/init.d/glassfish # /etc/init.d/glassfishファイルを編集して保存 # glassfish ------------------------------------- #!/bin/bash # glassfish Startup script for the Apache HTTP Server # chkconfig: - 85 15 # description: Startup script of Glassfish Application Server. # processname: glassfish #export LANG=ja_JP.utf8 GLASSFISH_HOME=/home/[ユーザ]/glassfish4/ case $1 in start) sh ${GLASSFISH_HOME}/bin/asadmin start-domain $2 ;; stop) sh ${GLASSFISH_HOME}/bin/asadmin stop-domain $2 ;; restart) sh ${GLASSFISH_HOME}/bin/asadmin restart-domain $2 ;; esac exit 0 # ---------------------------------------------- # 自動起動を登録 sudo chkconfig --add glassfish sudo chkconfig glassfish on
Apatchのインストール
# Apacheがインストールされていない場合に実行してください。 # インストール sudo yum -y install httpd # 自動起動の設定 sudo chkconfig --add httpd sudo chkconfig httpd on # 起動 sudo /etc/init.d/httpd start
リバースプロキシの設定
# httpd.conf に 以下のモジュールがロードされているか確認 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so # リバースプロキシ用コンフィグを作成する。 sudo vi /etc/httpd/conf.d/reverse_proxy.conf # reverse_proxy.conf # /gitbucketにアクセスされた場合、localhost:8888に飛ばす。 # ポートは任意で決める。 <Location "/gitbucket"> ProxyPass http://localhost:8888/gitbucket ProxyPassReverse http://localhost:8888/gitbucket </Location> # Apatchを再起動 sudo service httpd restart
GitBucketのデプロイをする
GlassFishコンソールからwarファイルをデプロイをします。
warファイルをここからダウンロードします。
管理コンソールのメニューから[アプリケーション]-[デプロイ]を選択し、warファイルをデプロイして完了です。
リスナの設定
管理コンソールのメニューから[server-config]-[HTTPサービス]-[HTTPリスナー]-[http-listener-1]を選択し、ポートがreverse_proxy.conf の設定値、アドレスが127.0.0.0.1に変更し更新します。その後GlassFishを再起動します。
http://[マシンのIP]/gitbucket/ で GitBucketのトップ画面が表示されれば完了です。
まとめ
ほぼ、GlassFishのセットアップ記事になりました^^;
以上でGitBucketの構築完了になります。次回はGitBucketとJenkinsの連携をしたいとおもいます。