0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Bitnami redmine を Ubuntu にインストールし、付いてくる git を使えるようにする

Last updated at Posted at 2019-09-22

簡単にできるかと思ったら、結構嵌ってしまったので備忘録としてメモしたいと思います。

インストール先の環境

  • OS は Ubuntu 18.04.3。
  • イメージは bitnami-redmine-4.0.4-5-linux-x64-installer.run
  • さくら VPS 上に構築。
  • 先にインストールした apache があるため、ポートは 10080, 10443 を使う。
  • git は bitnami に付いてくるものを使う。

イメージを落としてくるところまでは出来ているものとします。

Bitnami redmine のインストール

デフォルトとの差は、subversion を No、メール送信を No、Git を Yes に設定したくらい。
インストールが長いが(特にゲージが100%に達してからが)、我慢して待つ。
途中でredmine/mariaDB のユーザ/パスワードの設定を聞かれるので、適切な値を入れる。
パスワードは英文字と数字しか入れられないようです。(ハイフンは入るかも)

インストールが終了すると http://127.0.0.1:10080/ にアクセスするように求められるので、ssh トンネルか何かを作ってアクセスする。
(と言うものの、phpmyadmin のようにローカルアドレスをチェックしていない模様。)
さくら VPS の場合はデフォルトでファイアウォールがブロックしているので、su になって


ufw allow to [Global IP] port 10443

でパケットの透過を許可するようにする。

WebDAV の設定

CGI で設定するのが本当はよいらしいのですが、今回は WebDAV を使います。
apache2 以下の conf/bitnami/bitnami.conf に以下を追加。


Alias /git /opt/redmine-4.0.4-5/git/repo
DavLockDB "/opt/redmine-4.0.4-5/apache2/var/git/DavLock"

<Location /git>
  DAV on

  AuthType Basic
  AuthName "git repository"
  AuthUserFile "/opt/redmine-4.0.4-5/git/gitpasswd"
  Require valid-user
</Location>

DavLock ファイルを touch し、ユーザを daemon に変更します。
gitpasswd に htpasswd を使ってパスワードを追加します。
(bitnami の apache2/bin/ 以下にあります。)

/opt/redmine-4.0.4-5/apps/redmine/htdocs/config/configuration.yml ファイルに

<pre?
scm_git_command: /opt/redmine-4.0.4-5/git/bin/git

を設定します。

Git の設定

一番嵌ったところです。
まず、Git 用のレポジトリを作成し、グループ、ユーザを daemon に変更しておきます。
今回は /opt/redmine-4.0.4-5/git/repo というディレクトリを作成しました。
例として sample というプロジェクトを作成することにすると、


mkdir sample.git
cd sample.git
git --bare init --shared=true
git --bare update-server-info
cd ..
chown -R daemon:daemon sample.git

として初期レポジトリを作成します。4行目と最後の行が重要。

ローカルマシンに移り、


export GIT_SSL_NO_VERIFY=1

とした後、git clone https://<Global IP>:10443/git/sample.git を実行してレポジトリが取れることを確認します。取れない時はエラーログが出ているので確認します。

sample.git に中に入り、README.txt を作ってみます。


cd sample.git
touch README.txt
git add README.txt
git commit -m 'readme'

.git の下にある config の url に htpasswd で追加したユーザ名を追加します。仮に myname としたとすると、


[remote "origin"]
        url = https://myname@sample.com:10443/git/sample.git/

のようにサーバ名の前にユーザ名を追加します。
git push が実行できることを確認します。ブランチが指定されていないと怒られたときは git push origin master とします。

Redmine のプロジェクトを追加

最後に管理権限を持ったユーザで Redmine にログインし、「管理」タブを選択してプロジェクトを作成します。リポジトリをどうするか聞かれるので、Git を選択し、上で作ったディレクトリ名(例の場合は /opt/redmine-4.0.4-5/git/repo/sample.git)を指定します。保存後、Redmine の「リポジトリ」タグを選択します。ここで404エラーが出てくる場合はパスを確認します。

おまけ

付属する bncert-tool を使うと、Let's Encrypt で証明書を生成することが可能ですが、ポート番号が 80, 443 固定であったため、利用をあきらめ、さくらで取ったサーバ証明書を流用しました。
apache2/conf 以下の server.key, server.crt を入れ替えれば動作します。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?