UbuntuまたはDebian / GNU LinuxネイティブGitサーバー

gitwebとwebdavの両方にgitサーバーをインストールすることに関して、ネットワーク上で多くのチュートリアルに出会いましたが、残念ながら、それらは上記のポイントの1つのみで、他のポイントはカバーしていません。 昨日、リポジトリサーバーを上げる必要が生じました。 数時間を費やしました-それを拾いました、今私は私の経験を共有したいと思います、なぜなら私は問題が関連していると考えるからです:)





このガイド用にgit.shadowircd.netリポジトリが作成されました



最初に、aptitudeパッケージのいくつかをインストールします。

aptitude install git-core git-svn gitweb


gitwebおよびdavバージョンのgitリポジトリでサイトを保存するフォルダーを作成します。

mkdir -p /www/git.domain.tld/{htdocs,logs} /www/git.domain.tld/htdocs/git


必要なApache2 modをアクティブにします。

a2enmod dav

a2enmod dav_fs

a2enmodの書き換え

a2enmod env


gitweb設定ファイルを作成します:

mcedit /www/git.domain.tld/gitweb.conf


私にとってはこのように見えます:

$ my_uri =“ http://git.domain.tld”; #リポジトリアドレス

$ site_name =“ git.domain.tld”; #タイトルに表示されるサイト名

$ projectroot =“ /www/git.domain.tld/htdocs/git/”; #ハードドライブ上のgitリポジトリへのパス



$ git_temp =“ / tmp”;

$ home_link = $ my_uri; #「ホームページ」へのリンク

#$ home_text =“ indextext.html”; #text、コメントを外して貼り付けることができます

$ projects_list = $ projectroot;

$ stylesheet =“ /gitweb/gitweb.css”;

$ logo =“ /gitweb/git-logo.png”;

$ favicon =“ /gitweb/git-favicon.png”;

$ projects_list_description_width = 40;



$ feature {'pathinfo'} {'default'} = [1];


それでは、apache2のvhostに進みましょう。ここには、最も興味深い部分が含まれています。

<VirtualHost *:80>

ServerName git.domain.tld

ServerAlias www.git.domain.tld



ServerAdmin head@coderscamp.ru



DocumentRoot /www/git.domain.tld/htdocs

ScriptAlias / cgi-bin / / usr / lib / cgi-bin /



DirectoryIndex /cgi-bin/gitweb.cgi



Rewriteengine on

RewriteRule ^ /([a-zA-Z0-9 _ \-] + \ / \。Git)/?(\ ?. *)?$ /Cgi-bin/gitweb.cgi/$1 [L、PT]



SetEnv GITWEB_CONFIG /www/git.domain.tld/gitweb.conf

エイリアス/ gitweb / usr / share / gitweb /



<ディレクトリ/www/git.domain.tld/htdocs>

オプションFollowSymLinks

AllowOverrideなし

注文許可、拒否

すべてから許可する

</ Directory>



<場所/ git>

DAVオン

AuthType Basic

AuthName "Git"

AuthUserFile /www/git.domain.tld/passwd.git

<Limit HEAD PROPFIND OPTIONS REPORTを除く>

有効なユーザーが必要

</ LimitExcept>

</場所>



ログレベル警告

ErrorLog /www/git.domain.tld/logs/error.log

CustomLog /www/git.domain.tld/logs/access.logの組み合わせ

</ VirtualHost>


新しいユーザーを追加するだけです。

htpasswd -cm /www/git.domain.tld/passwd.git user


/www/git.domain.tld/htdocs/git/にリポジトリを作成し、最も快適なバージョン管理システムをお楽しみください:)



PSでgitを使用する場合のWindowsユーザー向け、自動挿入CRLF改行の無効化に関するヒントhabrahabr.ru/blogs/development/43808が役立ちます



PPS for Linuxユーザー-このサーバーはDAVを使用して動作します。プッシュに問題がある可能性があります。次のコンテンツマシンで〜/ .netrcファイルを作成できますgit.domain.tld login <user> password <password>



All Articles