【Ubuntu】Redmine5.0、Apache2.4 をGitと連携する

さくらVPS Ubuntu で、Redmine5.0 とApache2.4をGitと連携する方法を備忘録として書きます。

やりたいこと
  • Redmine5.0 からGitリポジトリにアクセスする
  • https:// ~、でGitリポジトリにアクセスする

参考サイト

目次

必要モジュールのインストール

RedmineとDB連携時にBasic認証をします。その処理に必要なライブラリをインストールします。

$ sudo apt install libdigest-sha-perl libapache-dbi-perl libdbd-mysql-perl

Basic認証をするためには、Redmine.pm を使えるようにする必要があります。

/etc/perl にシンボリックリンクを張ることで、perlのパスが通ります。

$ cd /etc/perl
$ sudo mkdir -p Apache/Authn
$ sudo ln -s /var/www/rails/redmine/extra/svn/Redmine.pm /etc/perl/Apache/Authn/Redmine.pm

Gitリポジトリのルートディレクトリ

Gitリポジトリのディレクトリを作成します。このディレクトリの中に、Gitリポジトリを作成します。

$ cd /var/www
$ sudo mkdir git

htpasswdの設定

.htpasswdの設定をします。Redmineのユーザー、パスワードをここに追記することで、連携できます。

$ cd /var/www/git
$ touch .htpasswd

Apacheの設定

Apacheのconfファイルを設定します。

$ cd /etc/apache2/sites-available
$ sudo vi 000-default-le-ssl.conf

以下の設定を追記します。

~略~
<VirtualHost *:443>
~略~
  PerlLoadModule Apache::Authn::Redmine
  
  SetEnv GIT_PROJECT_ROOT /var/www/git
  SetEnv GIT_HTTP_EXPORT_ALL
  ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
  Alias /git/ /var/www/git/                              # ScriptAlias の次にする。前だとScriptAliasに上書きされるっぽい

  <Location /git/>
    PerlAccessHandler Apache::Authn::Redmine::access_handler
    PerlAuthenHandler Apache::Authn::Redmine::authen_handler

    AuthType Basic
    AuthName Git
    AuthUserFile /var/www/git/.htpasswd
    Require valid-user

    RedmineDSN "DBI:mysql:database=redmine_db;host=127.0.0.1"
    RedmineDbUser "redmine"
    RedmineDbPass "**********************"
    RedmineGitSmartHttp yes
  </Location>
~略~

最後に再起動します。

$ sudo apache2 service restart

リポジトリ作成、ユーザー追加については↓の記事を参考にしてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次