Eigene Git Repositories gehen auch mit billigem Shared Hosting recht bequem, falls der Hoster WebDAV anbietet. Z.B. bei 1&1 ist WebDAV auf Port 81 aktiviert.
Und so geht’s:
WebDAV Zugriff
Hier führen viele Wege nach Rom – ich wähle den via davfs2. Letztlich müssen wir nur in der Lage sein, ein Verzeichnis auf dem WebDAV Server anzulegen. Natürlich geht das auch per FTP, aber wenn wir schon WebDAV haben, benutzen wir’s auch gleich dafür.
Eintrag in
/etc/fstab
:$ echo “http://www.myserver.example:81/ /home/localusername/mnt/myserver davfs noauto,user,nolocks 0 0” >> /etc/fstab
WebDAV Zugangsdaten für davfs2:
$ mkdir -p ~/.davfs2 $ echo “http://www.myserver.example:81/ MyDavUser MyDavPwd” >> ~/.davfs2/secrets $ chmod 600 ~/.davfs2/secrets
mounten:
$ mount /home/localusername/mnt/myserver
das leere Verzeichnis anlegen:
$ mkdir /home/localusername/mnt/myserver/myproject.git
Ein (remote) Git Repo anlegen
Siehe dazu auch Shared Git Repository per Webdav.
- ein leeres Verzeichnis myproject.git auf dem WebDAV Server anlegen,
lokal ein leeres Git Repo anlegen:
$ mkdir myproject.git $ cd myproject.git $ git init –bare
ggf. ein bestehendes Git Repo „importieren“:
$ git pull UrlOfExistingRepo
WebDAV Zugangsdaten für git hinterlegen:
$ echo “machine myserver.example login MyDavUser password MyDavPwd” >> ~/.netrc $ chmod 600 ~/.netrc
und das neue Repo hochladen:
$ git push –all –force http://myserver.example:81/myproject.git
Nicht-WebDAV Zugriffe verhindern
Soll der Zugriff auf das Repo exklusiv nur per WebDAV erlaubt sein, empfiehlt es sich das Verzeichnis myproject.git auf dem Webserver zu sperren bzw. nur einen Benutzer zu erlauben, der ansonsten nicht benutzt wird.
Das geht über die Management Console des Webhosters oder indem man die entsprechende .htaccess Datei selbst erstellt und im Verzeichnis myproject.git ablegt.