Git

Aus schokokeks.org Wiki
Version vom 25. April 2008, 17:20 Uhr von Mitja (Diskussion | Beiträge) (setfacl hinzugefügt)
Zur Navigation springen Zur Suche springen
In Bearbeitung...

Diese Wiki-Seite befindet sich gerade im Aufbau und ist noch nicht fertig! Wenn Sie möchten, können Sie gerne Inhalte ergänzen.

Git

erste Konfiguration

Zunächst sollte man sich Git vorstellen (am Besten sowohl auf dem Server, als auch auf dem eigenen Rechner).

git config --global user.name "Ihr Name"
git config --global user.email yourmail@example.com"


Git-Server einrichten

Dieser Artikel erläutert, wie man auf schokokeks.org einen Git-Server über HTTP mit WebDAV einrichten kann.

WebDAV-Verzeichnis einrichten

Zunächst wird ein Verzeichnis eingerichet, auf das später mit Hilfe von WebDAV zugegriffen werden soll.

VIRTUALHOST="webdav.example.com"
mkdir ~/websites/$VIRTUALHOST
mkdir ~/websites/$VIRTUALHOST/htdocs
cd ~/websites/$VIRTUALHOST
setfacl -m default:u:$USER:rwx,default:u:apache:rwx htdocs
touch webdav.users
touch webdav.groups
touch .htaccess

Der Wert von VIRTUALHOST ist hierbei die Domain, die später im Config-Interface für WebDAV eingerichtet wird. Die Datei .htaccess dient zur Rechteverwaltung, damit nicht jeder das Verzeichnis lesen und/oder beschreiben kann.

Sie sollte folgenden Text enthalten:

AuthUserFile /home/mitja/websites/webdav.example.com/webdav.users
AuthGroupFile /home/mitja/websites/webdav.example.com/webdav.groups
AuthName "WebDAV on webdav.example.com"
AuthType Basic
require group read
<Limit POST PUT DELETE MKCOL COPY MOVE PROPPATCH>
         require group write
</Limit>

Die Datei webdav.users enthält die Benutzernamen und Passwörter, wie jede .htpasswd-Datei. Näheres erläutert man htpasswd. webdav.groups fasst mehrere Benutzernamen zu Gruppen zusammen in dem Stil

gruppe1: benutzer1 benutzer2 benutzer3
gruppe2: benutzer3

In dem obigen Beispiel hat die Gruppe "write" Schreibzugriff, die Gruppe "read" Lesezugriff. Anonymer Zugriff ist gesperrt.

Soll jedes einzelne Repository gesondert verwaltet werden, müssen für jedes Repository eigene Zugriffsrechte wie in dem Beispiel definiert werden.

Zum Schluss sollte der gewünschte VHost im Konfigurationsinterface erstellt und auf WebDAV gestellt werden.

Repository erstellen

Bisher kann git-http-push noch kein Git-Repository erstellen, deshalb muss es auf dem Server erstellt oder manuell hochgeladen werden.

REPOSITORY="my-first-repo.git"
mkdir $REPOSITORY
cd $REPOSITORY
git --bare init