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
:1$ echo "http://www.myserver.example:81/ /home/localusername/mnt/myserver davfs noauto,user,nolocks 0 0" >> /etc/fstab
- WebDAV Zugangsdaten für davfs2:
bash $ mkdir -p ~/.davfs2 $ echo "http://www.myserver.example:81/ MyDavUser MyDavPwd" >> ~/.davfs2/secrets $ chmod 600 ~/.davfs2/secrets
- WebDAV Zugangsdaten für davfs2:
mounten:
1$ mount /home/localusername/mnt/myserver
- das leere Verzeichnis anlegen:
bash $ mkdir /home/localusername/mnt/myserver/myproject.git
- das leere Verzeichnis anlegen:
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:
1$ mkdir myproject.git 2$ cd myproject.git 3$ git init --bare
- ggf. ein bestehendes Git Repo „importieren“:
bash $ git pull UrlOfExistingRepo
- ggf. ein bestehendes Git Repo „importieren“:
WebDAV Zugangsdaten für git hinterlegen:
1$ echo "machine myserver.example login MyDavUser password MyDavPwd" >> ~/.netrc 2$ chmod 600 ~/.netrc
- und das neue Repo hochladen:
bash $ git push --all --force http://myserver.example:81/myproject.git
- und das neue Repo hochladen:
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.