Mehrer Programmierer auf Dedicated Server



King-S

Registered User
Hallo,

ich habe eine Frage. Wir haben mehrere dedicated server (auf Linux-Basis) und wollen unser Web-Programmierer-Team ausbauen. Nun möchten wir verhindern, dass die Web-Programmierer Zugriff auf alle Klassen haben, welche im Ordner "classes" im Document-Root von Apache liegen.

Eigentlich sollten sich die Programmierer per FTP einloggen und via FTP die geänderten Dateien speichern. Das geht ja ganz easy mit jeder Programmierumgebung. Da könnte man auch mittels chmod die Zugriffsrechte auf den "classes"-Ordner wegnehmen. Trotzdem kann man via fopen die Datei einlesen, da ja der Webserver Zugriff auf die Dateien haben muss und die Skript als www-Benutzer ausgeführt werden. Ist dann das Programmieren per FTP eine schlechte Variante?

Andere Möglichkeit wäre, eine VPN-Verbindung einrichten und via SMB im Netzwerk direkt programmieren. Aber dann bleibt - denke ich - das Problem. Und es kommen neue hinzu, da dann wieder owner/group des SMB-Benutzers vom www-Benutzer bei apache abweichen und die Skripte so nicht ausgeführt werden dürfen.

Kurzum: Mir fehlt die zündende Idee, wie ich den Programmierern den Zugriff auf die Klassen entziehen kann. Sie sind alle Dokumentiert, das ist alles, was sie brauchen. Ich hoffe, ihr könnt uns helfen.

Wie gesagt, es ist ein dezidierter Server - von daher kann ich alles mit ihm anstellen!

Vielen Dank im Voraus!
 
Ich empfehle, wenn mehrere Programmierer an einem Projekt arbeiten, dass diese Git oder eine andere Versionsverwaltung nutzen.
Weiteres im Artikel Shared Git repo.

Sicherlich kannst du für eine bestimmte Gruppe von Leuten und FTP-Ordner auch Nur-Lesen-Rechte setzen oder ein Zugang per Deny verbieten.
 
Last edited by a moderator:
Ich habe erst seit kurzem den einstieg in GIT gemacht. Ohne Versionsverwaltung kann man nicht vernünftig im Team entwickeln. Wenn das Projekt privat sein soll, dann halt gitlab nutzen. Entweder man mietet den Service und hat mit nichts am Hut, was das Hosten betrifft oder man hostet selbst gitlab. Gibt natürlich noch viele andere Tools. Mit FTP und dem HickHack würde ich erst gar nicht anfangen. Es ist einfach zu starr.
 
Professionelle Entwicklung funktioniert mittlerweile ohne Git und Co. nur noch sehr schlecht, besonders dann, wenn es um große Projekte geht. Von daher würde ich es tunlichst vermeiden, da selbst irgend etwas zusammenzuschustern, was im Endeffekt mit weniger Features schlechter funktioniert.
 
Hallo,

danke für die ganzen Antworten - ich habe leider keine Benachrichtigungsmail über sie bekommen, da ich vergessen habe, hier meine eMail-Adresse zu aktualisieren. Sorry dafür.

Okay, das hört sich schonmal ganz gut an. Ich werde mich darüber mal informieren. Leider erst gegen Wochenende. Könnt ihr mir vorab ein paar Fragen (vllt. aus der Erfahrung heraus) beantworten?

Kostet git Geld? (es ist kein privates Projekt). Ist die Einrichtung/Benutzung etc. kompliziert bzw. mit Risiken verbunden? Werden dann meine Skripte in der Cloud oder sonst irgendwo online gespeichert?

Vielen Dank!
 
Vielen Dank für die Links. Ich werde mich mal durcharbeiten. Das sieht nach einer tollen/professionellen Lösung aus - hoffentlich kann ich dann auch bestimmen, dass der Programmierer XY keine Leserechte auf die Klassen-Dateien hat.
 
Wenn das Projekt für jeden Menschen auf diesem Planet einsehbar sein soll, dann nimm github. Ist kostenlos. Ich glaub das wird sogar von gitlab gehostet. Weiß es jetzt aber auch nicht genau. Wenn Code nur für das Team einsehbar sein soll und wenn möglich kein Geld kosten soll, dann Gitlab installieren.

Ich würde die Lösung bevorzugen das auszulagern, also die Dienstleistung von github/gitlab in Anspruch zu nehmen. Wenn mal etwas auf der Kiste passiert ist natürlich kein Backup verfügbar und alles ist weg. Wenn man dann rein zufällig ein Backup hat, ist wahrscheinlich schon veraltet.
 
Wenn das Team weniger als 5 Leute hat, gibts bei Bitbucket auch kostenlose "private" Repos. Privat wie in Cloud-Service...
 
Ich würde wichtige Programme nicht einer Cloud, GitHub oder BitBucket anvertrauen.

So wie ich die Frage verstanden habe, ist der Threadersteller nicht so davon begeistert, das woanders zu hosten
(...) bzw. mit Risiken verbunden? Werden dann meine Skripte in der Cloud oder sonst irgendwo online gespeichert?

Und ob die Nutzungsbestimmungen auch das eigene Urheberrecht am Code schützen ist bei manchen Diensten fraglich, zudem nehmen es manche US-Firmen nicht so genau, und klagen wird dann spaßig in Übersee.
 
Last edited by a moderator:
als durchaus funktionierende Alternative zu Git gibt's ja auch immer noch Subversion.

Was Lesbarkeit von Scripten angeht - wenn der Server das lesen kann, kann es meist auch die vom Server ausgeführte Anwendung (vor allem, wenn es Libs / Klassen sind, die diese verwenden soll) - daß da kein Schindluder getrieben wird verlangt leider auch immer ein wenig Vertrauen in die Entwickler...
 
Wenn mal etwas auf der Kiste passiert ist natürlich kein Backup verfügbar und alles ist weg.
Das Schöne an git ist, dass es dezentral ist. Den Server braucht man eigentlich nur aus Austauschpunkt und jeder, der nicht sparse/shallow geclont hat, besitzt eine komplette Kopie, aus der man den Server sofort mit einem Push wieder befüllen kann, sollte dem mal was passieren.
Es hat also quasi jeder Entwickler ein komplettes Backup dabei.
 
Gerüchten zufolge könnte man dem auch mit einer ausgeklügelten Backupstrategie entgegenwirken.
 
Gerüchten zufolge könnte man dem auch mit einer ausgeklügelten Backupstrategie entgegenwirken.

Als Entwickler will man sich nicht auch noch um die Administration des Servers und die Backups kümmern. Man entwickelt Software und nicht erst die Tools drumherum, die man zum Entwickeln braucht.
 
Tja, einer muss sich den Schuh aber anziehen und nach #1 ist das hier der TE.

SVN, Git, GitLab oder was auch immer - auch ein verteiltes System entlässt einen nicht aus der Verantwortung, seine Hausaufgaben zu machen.
 
Und trotzdem geht ein push wesentlich fixer als Backups mühselig zurückzuspielen. Von daher ja, Backups sind zusätzlich notwendig, ersetzen aber die Funktionalität von Git nicht und in den meisten Fällen eines kaputen Repos kann das Git wesentlich schneller reparieren.
 
Kleine Anregung für ein Backup: Ich habe auf meinem VPS ein gitosis laufen um meine git repos zu beherbergen. Das wird des nächtens von einem Script in tar-Archive (eins je Repo) verpackt, von denen immer die letzten 5 Backups aufgehoben werden.
Das Verzeichnis synchronisiere ich mit BitTorrent-Sync auf mein Notbook, wo es mit in mein Time-Machine-Backup wandert.
Alternativ ließen sich diese Archive auch nach AWS S3 kopieren und dort per Expiration-Policy automatisch nach x Tagen nach Glacier verschieben um dort preiswert sehr lange sehr sicher zu lagern.
 
Last edited by a moderator:
Eure Tipps sind ja nett, wie jemand Backups fahren soll.
Aber, was hat Backup jetzt bitte damit zu tun, dass Entwickler nur bestimmte Dateien im Projekt ändern dürfen?
Hier gehts doch um Rechteverwaltung, Projektmanagment und Versionsverwaltung.
 
Back
Top