はじめに
GitBucketは、GitHubとAPI互換な Gitリポジトリーとプロジェクト管理のできるプラットフォームを提供する ソフトウェアで、Scalaで書かれているらしい。
使いたい場合には、普通にApache Tomcat 8.5のwebappsディレクトリーに、 GitHubからgitbucket.warをダウンロードしてきて置けば良い。
しかし、標準では、データベースはH2を使っており、認証も独自のユーザー登録とパスワードの管理が必要である。 今回はActive Directoryが認証のために使用でき、データベースサーバーとしてもPostgreSQLを使用できる環境で使用するので、その設定方法を書いておく。
必要なソフトウェアのインストール
今回のサーバーは、FreeBSD/amd64 10.3なのだが、FreeBSD Portsではなくpkgsrcを使って環境を構築する。 最近、pkgsrc/lang/openjdk8がFreeBSD上で使えるようにし、 openjdk8のビルドに必要なpkgsrc/lang/guile20もmake packageが失敗しないようにしたので、その後のpkgsrcツリーで試す必要がある。 以下のように実行してインストールしておく。
$ cd pkgsrc/www/apache-tomcat85
$ make install
PostgreSQL server (pkgsrc/databases/postgresql95-server)は、 既にインストールされていて使用中なので今回はインストールしなかった。
GitBucketの初回起動
# /etc/rc.d/tomcat start
# cp gitbucket.war pkg/share/tomcat/webapps
と実行し、localhost:8080を閲覧すると、GitBucketが起動している。
PostgreSQLを使うようにする
まずは、PostgreSQLサーバーを使うように設定する。
ユーザー名/パスワード=root/rootでログインし、
System Settingを見ると、GITBUCKET_HOMEが/root/.gitbucket
に
なっている。
# vi /root/.gitbucket/database.conf
のように実行し、以下のようなファイル内容に書き換える。
db {
url = "jdbc:postgresql://localhost/gitbucket"
user = "gitbucket"
password = "gbpassword"
## url = "jdbc:h2:${DatabaseHome};MVCC=true"
## user = "sa"
## password = "sa"
# connectionTimeout = 30000
# idleTimeout = 600000
# maxLifetime = 1800000
# minimumIdle = 10
# maximumPoolSize = 10
}
この条件に合わせて、PostgreSQLの設定をしておく。
# sudo -u pgsql psql
=# create database gitbucket with template template0 encoding 'utf8';
=# \q
# sudo -u pgsql createuser -P gitbucket
# /etc/rc.d/tomcat restart
のようにtomcatを再起動させると、自動的にgitbucketスキーマにテーブルを作成してPostgreSQLが使用可能になる。
ユーザー名rootのパスワードは、このタイミングで変更しておく。
Active Directory認証の設定
次に、Active Directoryで認証するように設定する。 System Settingsで、LDAPの項目を以下のように設定する。
- LDAP host
- tetera-ad.tetera.org
- LDAP port
- 3268
- Bind DN
- tetera_admin@tetera.org
- Bind password
- tetera_admin_password
- Base DN
- dc=tetera,dc=org
- User name sttribute
- sAMAccountName
- Full name attribute
- displayName
- Mail address attribute
nginxの設定
nginxでhttpsなウェブサイトとして提供するのであれば、nginx.confで
のように設定した上で、System SettingsのBase URLを
location /gitcucket {
http://localhost:8080/gitcucket
}
https://gitbucket.tetera.org/gitcucket
のように設定しておけば良い。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。