さくらVPS Ubuntu で、Redmine5.0 とApache2.4をGitと連携する方法を備忘録として書きます。
やりたいこと
- Redmine5.0 からGitリポジトリにアクセスする
- https:// ~、でGitリポジトリにアクセスする
設定環境
- さくらVPS
- Ubuntu22.04
- Apache2.4.52
- Let’s Encript
- Ruby3.1.3
- RubyOnRails6.1.7.2
- Passenger6.0.17
- MySQL5.7.41
- Git2.34.1
目次
必要モジュールのインストール
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
リポジトリ作成、ユーザー追加については↓の記事を参考にしてください。
【Ubuntu Redmine5 Apache2.4】Git 新規リポジトリの作成
さくらVPS Ubuntu Redmine5+Apache2.4 の環境において、Gitの新規リポジトリの作成方法を備忘録として書きます。 Redmine5.0 + Apache2.4 + Git の連携方法は↓の記事を…
【Ubuntu Redmine5 Apache2.4】ユーザー追加
さくらVPS Ubuntu Redmine5+Apache2.4 の環境において、ユーザーの追加方法を備忘録として書きます。 Gitのユーザーと連動し、ローカルからサーバーのGitにpushしたとき…
コメント