GitBucket 本家https://github.com/takezoe/gitbucket
既にatlassianのSourceTreeをスタンドアローンで使っているのだが、中央たるリポジトリを持つことにした。

Tomcat環境

正直、愚生はJava/Tomcat関係の経験は皆無。まったくわからない
既存のApache環境と同居した形でGitBucketを動かしたい。GitBucketはサーブレットなので、WebコンテナにTomcatを採用。
っで、TomcatなのでJavaは必要で現在インストールされているJavaのバージョンは

[root@c ~]# yum list installed |grep java
java-1.7.0-openjdk.x86_64        1:1.7.0.85-2.6.1.2.el7_1              @updates
java-1.7.0-openjdk-headless.x86_64
javapackages-tools.noarch        3.4.1-6.el7_0                         @updates
python-javapackages.noarch       3.4.1-6.el7_0                         @updates
tzdata-java.noarch               2015f-1.el7                           @updates
[root@c ~]#

一応Java7は入っていた。

[root@c ~]# yum install java-1.7.0-openjdk-devel tomcat

とTomcatのインストールを行い、/var/lib/tomcat/webappsに GitBucket を入れる

[root@c ~]# cd /opt/src/
[root@c src]# wget https://github.com/takezoe/gitbucket/releases/download/3.6/gitbucket.war
[root@c src]# cp gitbucket.war /var/lib/tomcat/webapps

httpと連携

httpとWebコンテナTomcatを連携させたいので、Tomcatの8080は閉じる。
そして、AJPでhttpとTomcatを連携させるのでその設定を確認する。

[root@c ~]# vi /etc/tomcat/server.xml
(略
<!-- 無効化
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
-->
(略
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <!-- httpとTomcatの連携部分 -->
(略
[root@c ~]#

httpがTomcatと連携するには当然モジュールが介在しており、

  • mod_proxy.so
  • mod_proxy_ajp.so

が必要になる。これらは /usr/lib64/httpd/modules に置かれ、/etc/httpd/conf.modules.d/00-proxy.conf にてhttpにロードされている。
次にhttpdでの場所を定義する。

[root@c ~]# vi /etc/httpd/conf.d/gitbucket.conf
<Location /gitbucket/>
  ProxyPass ajp://localhost:8009/gitbucket/
  Require ip 192.168.0
</Location>
[root@c ~]#

ホストの /gitbucket への要求が来たら、localhostの8009ポートの/gitbucket へ渡す形である。そしてアクセス制限も設ける。

起動

httpdとtomcatを稼働させる

[root@c ~]# systemctl start httpd
 
[root@c ~]# systemctl enable tomcat
[root@c ~]# systemctl start tomcat

そして、gitbucketにアクセスると、画面が生じる
2015y09m22d_145325619.png

ログイン

初期ユーザとして「root」、パスワード「root」が与えられている。まずはこの「root」ユーザのパスワードを変更する。
ログイン直後に、右上のマーク(?)をクリックして、ブルダウンから「Your profile」を選ぶ
2015y09m22d_172603622.png
画面が遷移して、右上にある「Edit Your profile」ボタンをクリックする。
2015y09m22d_172621102.png
「Profile」画面で「Password (input to change password):」項目欄に新規のパスワードを入力して画面下部の「save」ボタンをクリックする。これで「root」のパスワードは更新される。
2015y09m22d_172634751.png
一度、画面右上のマーク(?)をクリックして、プルダウンから「Sign out」を選択して、ログアウトしてから再度ログインしてパスワードが有効なのか確認してみる。
2015y09m22d_173107609.png
*画面右上のマーク(?)はgravatarです。利用したくない場合は「System Settings」からServices項目内「Use Gravatar for Profile-Images」を無効にします。
2015y10m15d_065608365.png
この操作の結果は、~tomcat/.gitbucket/gitbucket.conf に記載されます。ただし初めから存在しません。「System Settings」を操作して初めて作られるみたい。

[root@c ~]# cat ~tomcat/.gitbucket/gitbucket.conf
#Thu Oct 15 07:07:56 JST 2015
allow_anonymous_access=false
gravatar=false
ssh=false
ldap_authentication=false
notification=false
allow_account_registration=false
is_create_repository_option_public=true
[root@c ~]#

LDAP

LDAPサーバから参照可能なようで、ここではsambaからユーザ情報を借用する。
「System Settings」から「Authentication」欄にて LDAP チェックを有効にして、下記の様に有効にします。

項目設定値備考
LDAP Hostc.sybyl.localsambaサイト
LDAP Port389samba/LDAP機能のport番号
Bind DNcn=administrator,cn=users,dc=sybyl,dc=localLDAPに接続するユーザ名
Bind PasswordBind DNのパスワード
Base DNdc=sybyl,dc=local
User name attributecn
Additional filter condition&(objectCategory=Person)(objectClass=user)(|(gidNumber=2000)(gidNumber=2001))gidが2000と2001
Full name attributedisplayName
Mail address attributemail

2015y10m15d_105635258.png
*注意 この設定内容は ~tomcat/.gitbucket/gitbucket.conf にも記載されるが、Bind Passwordがそのまま書かれる。。。

[root@c ~]# cat ~tomcat/.gitbucket/gitbucket.conf
#Thu Oct 15 11:21:31 JST 2015
gravatar=false
ldap.bind_password=xxxxxxxxxxxxxxxxxxxxxxx
notification=false
ldap.baseDN=dc\=sybyl,dc\=local
is_create_repository_option_public=true
ldap.additional_filter_condition=&(objectCategory\=Person)(objectClass\=user)(|(gidNumber\=2000)(gidNumber\=2001))
ldap_authentication=true
ssh=false
ldap.username_attribute=cn
allow_account_registration=false
ldap.host=c.sybyl.local
ldap.bindDN=cn\=administrator,cn\=users,dc\=sybyl,dc\=local
allow_anonymous_access=true
ldap.mail_attribute=mail
ldap.fullname_attribute=displayName
ldap.port=389
[root@c ~]#

まあtomcatユーザさえ見えるように調整とか必要なのかも。

Jetty

WebコンテナにTomcatの代わりにJettyを選んでみた。なので既存稼働中のtomcatを停止します。

[root@c ~]# systemctl stop tomcat
[root@c ~]# systemctl disable tomcat

GitBucketをjettyで動かすには Jetty8 以降が必要みたい。jettyのサイトから入手可能な最新版で動かすことにした。
一応yumにJetty9があるのだが、その設定/稼働方法が分からなかった

[root@c ~]# useradd -r -m jetty
[root@c ~]# cd /opt/src
[root@c src]# wget http://download.eclipse.org/jetty/stable-9/dist/jetty-distribution-9.3.5.v20151012.tar.gz
[root@c src]# cd ../
[root@c opt]# gzip -cd ./src/jetty-distribution-9.3.5.v20151012.tar.gz | tar xf -
[root@c opt]# ln -s jetty-distribution-9.3.5.v20151012 jetty
[root@c opt]# cat <<_EOF_ > /etc/default/jetty
 
_EOF_
[root@c opt]#

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2015-10-15 (木) 10:57:01 (590d)