2012-03-29 11 views
1

Ich baue derzeit einen Ubuntu (10.0.4 LTS) Server auf einem VPS, um eine WordPress basierte Website zu hosten.Gitosis und www-data

Ich habe Gitosis installiert, um das Remote-Repository zu hosten und was ich tun möchte, ist ein Plugin zum post receive Hook, um das WordPress-Thema zu aktualisieren, wenn ich git push.

Ich bin ein bisschen verwirrt mit Benutzern und Berechtigungen. Als wenn ich git pull ausführen, werden die Dateien in /var/www Eigentum des Git-Benutzers sein. Idealerweise würde ich gerne alle Dateien in der /var/www im Besitz desselben Benutzers haben, da ich denke, das wäre sicherer?

Ich habe zur Zeit den /var/www Ordner im Besitz meines www-Daten-Benutzers, nach einigem Lesen habe ich festgestellt, dass dies nicht die beste Sache zu tun ist. Ich brauche ein wenig Hilfe, um den besten Aktionsplan dafür zu erarbeiten?

Antwort

2

Aus den Kommentaren:

würde ich nicht gitosis für diese Art von feinkörniger Steuerung verwenden:

  • gitosis veraltet ist und nicht seit 2009 bewegt (obwohl einige Gabeln noch ein bisschen sind aktiv)
  • Diese comment und diese question veranschaulichen, dass die meisten Funktionen einfacher mit Gitolite zu tun sind.

Also, mit gitolite:

Die umask Verwendung für den Git-Repo innerhalb einer gitolite Umgebung durch den git Benutzer ausgecheckt wird derjenige im doc Abschnitt "most often used/changed variables"

beschrieben sein

Die Standardeinstellung UMASK, die gitolite verwendet, macht alle Repos und deren Inhalt rwx------ Berechtigungen. Leute, die gitweb ausführen möchten, erkennen, dass dies nicht geht.

Der richtige Weg, damit umzugehen, ist dieser Variable (beachten Sie die Syntax: die führenden 0 erforderlich ist) einen Wert wie 0027 zu geben, und dann den Benutzer macht den Webserver läuft (Apache, www-data, was auch immer) ein Mitglied die Gruppe "git".

Wenn Sie bereits gitolite dann vorhandene Dateien installiert haben müssen manuell festgelegt werden (für eine umask oder 0027, das chmod -R g+rX wäre).
Dies liegt daran, umask betrifft nur Berechtigungen für neu erstellte Dateien, nicht vorhandene.

Von dort können Sie folgen "install gitolite under "apache"".

+0

Entschuldigung, Sie schlagen vor, dass ich Gitolith über Gitose verwenden sollte. Ich würde mich lieber an die Gitosis halten, wie ich sie vorher benutzt habe. – simon

+1

@simon: Entschuldigung, ich habe keine Gitosis gesehen. Ja. Verwenden Sie Gitolite. Gitosis ist hoffnungslos veraltet. Siehe Kommentare von http://Stackoverflow.com/a/7592421/6309 oder sehen Sie diese Frage http://StackOverflow.com/Questions/7591958/How-to-change-Gitosis-Default-Search-Path – VonC

+0

Ich habe Schwierigkeiten, Gitolite zum Laufen zu bringen.Ich habe einen Benutzer namens git erstellt und dann Gitolit aus github geklont und den Zweig g3 ausgecheckt. Ich habe die Installation ausgeführt, die die 2 Repos erstellt hat. Ich könnte den Admin-Repo von git @ server kopieren: repositories/gitolite-admin.git/aber nach dem Lesen dieser http://stackoverflow.com/questions/5233058/gitolite-push-error-remote-env-gl-rc-not -set Ich denke, das war, weil der Git-Benutzer SSH-Zugriff hatte. Ich habe jetzt den Ordner /home/git/.ssh/ entfernt und kann nicht von git @ server kopieren: repositories/golitite-admin.git/oder git @ server: golitite-admin.git – simon