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

[[GitBucket/SourceTree]]


***Tomcat環境 [#z536e21d]
&size(10){正直、愚生はJava/Tomcat関係の経験は皆無。まったくわからない};
GitBucketはサーブレット形式でも稼動可能なので、ここではWebコンテナにTomcatを採用して動かしてみた.

webコンテナで動かす場合、GitBucket は「Servlet 3.0」対応が求められる. 
「Servlet 3.0」対応な Tomcat は[[http://tomcat.apache.org/whichversion.html>+http://tomcat.apache.org/whichversion.html]]で確認可能で、どうやら「&color(crimson){7.0.x};」でいいみたい.
&color(red){*};&size(10){後方互換性が明確ではないけど、本家は「Tomcat8」「Tomcat9」を明示しているから、これらでも行けるのかも};

っでyumでインストール可能なTomcatのバージョンは「&color(magenta){7.0.69};」なのでyumでインストール.
#code(nonumber){{
[root@c ~]# yum install tomcat
}}

次に、/var/lib/tomcat/webappsに本題の GitBucket を入れる
#code(nonumber){{
[root@c ~]# cd /var/lib/tomcat/webapps/
[root@c webapps]# wget https://github.com/gitbucket/gitbucket/releases/download/4.14.1/gitbucket.war
[root@c webapps]# ls -lh gitbucket.war
-rw-r--r-- 1 root root 48M  7月  5 00:25 gitbucket.war
[root@c webapps]#
}}
***httpと連携 [#b16d012c]
httpとWebコンテナTomcatを連携させたいので、Tomcatの8080は閉じて、AJPでhttpとTomcatを連携させる設定を行う。
#code(nonumber){{
[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と連携するには下記モジュールが必要で、これらはhttpdパッケージに含まれている
-mod_proxy.so
-mod_proxy_ajp.so

次にhttpdの設定
#code(nonumber){{
[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 へ渡す形である。
そしてアクセス制限もここでは設定しています

***起動 [#r20ef848]
httpdとtomcatを稼働させる
#code(nonumber){{
[root@c ~]# systemctl enable tomcat

[root@c ~]# systemctl restart httpd
[root@c ~]# systemctl restart tomcat
}}
そして、gitbucketにアクセスると、画面が生じる
&ref(2017y07m13d_002618698.png,nolink);

***ログイン [#qab07904]
画面右上の「Sign in」を押下して、
&ref(2017y07m13d_002725256.png,nolink);
表示された認証画面にて、初期ユーザ「root」、パスワード「root」でログインします。
&ref(2017y07m13d_002850302.png,nolink);

ログインに成功したら、まずはパスワードを変更しましょう。
右上のマーク(?)をクリックして、ブルダウンから「Acount setting」を選ぶ
&ref(2017y07m13d_003038298.png,nolink);
すると、プロファイル画面に変更となり、「Password」欄に新規のパスワードを入力して、画面下部の「Save」リンクを押下します。
&ref(2017y07m13d_003328819.png,nolink);
これでパスワードが変更される。


***LDAP [#w3f3a330]
LDAPサーバから参照可能なようで、ここではsambaからユーザ情報を借用する。
「System Settings」から「Authentication」欄にて &color(orangered){LDAP}; チェックを有効にして、下記の様に有効にします。
|BGCOLOR(YELLOW):項目|BGCOLOR(YELLOW):設定値|BGCOLOR(YELLOW):備考|
|LDAP Host|c.sybyl.local|sambaサイト|
|LDAP Port|389|samba/LDAP機能のport番号|
|Bind DN|cn=administrator,cn=users,dc=sybyl,dc=local|LDAPに接続するユーザ名|
|Bind Password|Bind DNのパスワード||
|Base DN|dc=sybyl,dc=local||
|User name attribute|cn||
|Additional filter condition|&(objectCategory=Person)(objectClass=user)(&#x7c;(gidNumber=2000)(gidNumber=2001))|gidが2000と2001|
|Full name attribute|displayName||
|Mail address attribute|mail||
&ref(2015y10m15d_105635258.png,nolink);
&color(red){*};&color(white,blue){注意}; この設定内容は &color(green){~tomcat/.gitbucket/gitbucket.conf}; にも記載されるが、''Bind Password''がそのまま書かれる。。。
#code(nonumber){{
[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ユーザさえ見えるように調整とか必要なのかも。

実際にどのユーザがログイン可能なのかは、ldapsearchを使って確認できます.
ldapsearchに「&color(magenta){ldap.additional_filter_condition};」の値を組み込んで
#code(nonumber){{
[root@c ~]# ldapsearch -h c.sybyl.local -D "CN=administrator,CN=Users,DC=SYBYL,dc=local" \
            -b "dc=sybyl,dc=local" \
          '(&(objectCategory=Person)(objectClass=user)(|(gidNumber=2000)(gidNumber=2001)))' -W
}}
&color(red){*};&size(10){「&color(magenta){ldap.additional_filter_condition};」の値をさらに括弧で括ります。あと"\"を除きます};

&color(white,blue){留意}; コマンドラインでfilterの確認ができても、&color(blueviolet){ldap.mail_attribute};の「mail」とかSAMBA(ldap)内の該当エントリーが存在しないとログインできないみたい.


***Jetty [#hd4e91b2]
WebコンテナにTomcatの代わりにJettyを選んでみた[[Jetty]]


***Servlet Spec [#td1ee5f5]
めもとして
|BGCOLOR(YELLOW):Servlet Spec|BGCOLOR(YELLOW):JSP|BGCOLOR(YELLOW):Apache Tomcat|BGCOLOR(YELLOW):Jetty|
|4.0|2.4?|9.0.x|-|
|3.1|2.3|8.5.x, 8.0.x|9.3、9.2|
|3.0|2.2|7.0.x|8|
|2.5|2.1|6.0.x|7|
1

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS