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?

GitList-2.0.0をUbuntu24.04で動かしてみる

Last updated at Posted at 2024-10-10

概要

  • GitList というのは、Linuxサーバー上にある プライベートなGitリポジトリをWebインターフェースを通してソースコードや差分、コミット履歴をブラウジングするCGIです。
    https://github.com/klaussilveira/gitlist

  • PHPで書かれています。

  • 類似のものに GitWebとかWebSVNとかありましたけれど、それらは PerlのCGIです。

image.png

前提

  • Ubuntu24.04 + Apache2 + PHP8.3 で動かしてみます。
  • もちろん Gitはインストール済、Gitリポジトリはローカルファイルとして存在。

動かし方手順

  • ソースコードリポジトリではなく、以下のURLから TarBallを取得します。

https://github.com/klaussilveira/gitlist/releases /gitlist-2.0.0.zip

  • /var/www/html/gitlist/ ディレクトリを掘って、gitlist-2.0.0.zip を展開します
 $ cd /var/www/html/gitlist/
 $ unzip gitlist-2.0.0.zip
  • /var/www/html/gitlist/var/log/ と

  • /var/www/html/gitlist/var/cache/ ディレクトリを www-data:権限でr/w許可を与えます。

  • apacheのsite 設定ファイル (000-defaultなど) にエイリアスを追加します。(別ファイルにして includeでも良い)

    #
    #  GitList::
    #
    Alias /gitlist /var/www/html/gitlist/public
    <Directory /var/www/html/gitlist/public>
           Options Indexes FollowSymLinks
           AllowOverride All
           Require all granted
    </Directory>
  • apacheの mod_rewrite モジュールをa2enmodして、 .htaccess ファイルを作って URLの Rewriteルールを追加します。
#
<IfModule mod_rewrite.c>
    Options -MultiViews +SymLinksIfOwnerMatch
    RewriteEngine On
    RewriteBase /gitlist/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [L,NC]
</ifmodule>
  • 参照する Gitのリポジトリは /var/www/ 下に foo.git/ のようなディレクトリで作ります。
  • ディレクトリの設定は gitlist/config/config.yaml 内に記述されているので、そこを触れば、別の場所に移動できます。
  • 参照する Gitのリポジトリは safe.directory にしておく必要があるようです。
  • (最近はセキュリティがいろいろ問題になるので・・・)
 $ git config --global --add safe.directory /var/www/foo.git 
  • ・・・
  • ここまでで、 Ubuntu22.04 (PHP8.1) では動作しますが、 Ubuntu24.04 (PHP8.3)では動きません。

Ubuntu24.04 での動かし方

  • TarBallのほうではなく、GitHubにある、GitListのリポジトリをクローンしてきます。
  • gitlist/ 直下で、 composer init します。
  • そうやって出来た gitlist/vendor/nesbot/ 以下のみを、TarBall のものと差し替えてください。
  • もしかしたら、本体ソースの中にまだ PHP8.3非対応部分が残っている可能性はありますが、とりあえず動いている感じです。
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?