Frage

Ich habe mit Bezug auf http://toroid.org/ams/git-website -howto als Ausgangspunkt für eine Produktion Web-Server auf einem verwalteten VPS läuft. Die VPS läuft cPanel und WHM, und es wird schließlich mehrere Kunden-Websites hosten, jeder mit seinem eigenen cPanel-Konto (also jeweils mit einem eigenen Linux-Benutzer und Home-Verzeichnis, aus dem Website serviert werden). Jeder Client-Seite ist eine separate Git-Repository.

Derzeit bin ich drängen jedes Repository über SSH auf ein absolutes Repo im Home-Ordner des Kunden, zum Beispiel /home/username/git/repository.git/. Gemäß der oben tutorial hat jeder repo zur Kasse in ein anderes Verzeichnis über eine post-Empfangs Haken konfiguriert. In diesem Fall jeweils Repo Kontrollen ihren eigenen /home/username/public_html (der Standard DocumentRoot für neue cPanel Konten), in dem die Dateien werden dann von Apache serviert. Während dies funktioniert, bedarf es mir (in meiner lokalen Entwicklungsumgebung) einzurichten meiner Fernbedienung wie folgt aus:

url = ssh://username@example.com/home/username/git/repository.git/

Es erfordert mich auch das Passwort des Benutzers jedes Mal, wenn ich es schieben geben, die weniger als ideal.

In einem Versuch, alle meine Repositories in einem Ordner zu zentralisieren, ich habe auch versucht zu /root/git/repository.git als root schieben und dann von dort an den entsprechenden Home-Verzeichnis heraus überprüfen. Dies verursacht jedoch alle die ausgecheckten Dateien im Besitz von root werden, die Apache vom Dienst an der Seite, mit Fehlern wie

verhindert
[error] [client xx.xx.xx.xx] SoftException in Application.cpp:357: UID of script "/home/username/public_html/index.php" is smaller than min_uid

(das ist eine Datei Eigentum / Berechtigungsproblem ist, soweit ich das beurteilen kann)

kann ich lösen , dass Problem mit chown und chgrp Befehlen in jeder Repo post erhalten Haken - aber, dass auch die wirft „nicht ganz richtig“ Flagge in meinem Kopf. Ich habe auch gitosis betrachtet (um alle meine repos in /home/git/ zu zentralisieren), aber ich nehme an, dass ich in die gleiche Datei Eigentums Problem führen würde, da die ausgecheckten Dateien würden dann von dem git Benutzer gehört werden.

Am I nähern gerade diese ganze Sache in die falsche Richtung? Ich fühle mich wie ich bin völlig eine dritte, elegantere Lösung für das Gesamtproblem fehle. Oder soll ich bleibe nur eine der Methoden, die ich oben beschrieben?

War es hilfreich?

Lösung

Es erfordert mich auch das Passwort des Benutzers jedes Mal, wenn ich es schieben einzugeben, die weniger als ideal ist

Es sollte nicht nötig sein, wenn Sie Ihren öffentlichen SSH-Schlüssel zu dem destintion Konto „.ssh/authorized_keys“ Datei veröffentlichen.

Siehe auch Verriegelung nach unten ssh autorisierten Schlüsseln zum Beispiel.
Aber auch die offizielle Referenz Pro Git Book "Einrichten des Servers" .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top