Git
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