Wir führen das meiner Meinung nach ziemlich normale Magento-Setup aus:
- Bereitstellung über rsync (es sollte auch mit
git pull
undscp
/ SFTP bereitstellbar sein, um die Serverkonfigurationen zu vereinfachen und das Leben der Entwickler zu vereinfachen. Leider erlaubt Standard-Git nur das Setzen des exectuable-Flags und nicht die vollständige Unix-Berechtigung wie Gruppenbeschreibbarkeit) - Läuft auf Apache
- Läuft nur auf Computern, die
setgid
Sticky Bit unterstützen
Und wir haben ziemlich normale Ziele:
- Bereitstellen in einer Vielzahl von Umgebungen mit Kundenkontakt (Entwickler, Produkt, CI usw.) kontinuierlich
- Einfach auf Entwicklungsboxen bereitstellen
- Alle Funktionen müssen ausgeführt werden (Magento Connect Manager oder die Erstinstallation von Magento müssen nicht unterstützt werden). Die Magento-Funktionen funktionieren vollständig und sind mit allen wichtigen Plugins kompatibel
Wie kann ich innerhalb dieser Ziele Dateiberechtigungen für die Bereitstellung einrichten (und Entwicklungs- und CI-Boxen einrichten), um die Berechtigungen (im Prinzip der geringsten Berechtigungen ) so weit wie möglich einzuschränken ?
Ein Überblick über Quellen, die ich mir bereits angesehen habe:
- Eine Magento-Wiki-Seite , die ein 700/600-Setup mit allen Dateien des Apache-Benutzers empfiehlt, wobei jedoch die Kerndateien (alle Dateien außer
/media
und/var
) auf 400 festgelegt sind. - Eine Magento StackExchange-Antwort , in der der 700/600-Ansatz erwähnt wird, schließt mit der Empfehlung, ein gruppenbasiertes 770 / 660- und 750/640-Setup zu empfehlen.
- Eine weitere Magento-Wiki-Seite , die zunächst 775/664 empfiehlt. Es enthält außerdem einige Erläuterungen zu den erforderlichen Berechtigungen, empfiehlt jedoch keine explizite Einstellung.