Verzeichnisrechte Installation

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
AndaleR
Beiträge: 2
Registriert: Mo 2. Dez 2013, 16:44
Kontaktdaten:

Verzeichnisrechte Installation

Beitrag von AndaleR » Do 12. Dez 2013, 16:17

Hallo! Ich hab jetzt schon ein paar mal versucht, CONTENIDO zu installieren - und immer bin ich über das Problem der Verzeichnisrechte gestoßen.

Gibt es irgendwo eine Liste, in der ALLE Verzeichnisse stehen, denen ich Schreibrechte geben muss?

Ich habe die PDF-Dateien schon durch (in der deutschen stehen drei Verzeichnisse, denen ich Rechte geben soll. Dann hab ich noch die "system requirements" - dort steht ´ne längere Liste, aber auch nicht vollständig?) - aber bin ich bl... oder stehen da nicht alle drin? Bei der Installation werden mir ja als Fehler die falschen Verzeichnisse gezeigt, aber auch nach der Installation kommt es dann noch zu Problemen (aktuell z.B. werden im Backend "Content" -> "Dateiverwaltung" fehlende Rechte für "upload/" bemängelt).

Oder ist die Version 4.9.2. noch nicht so ausgereift und ich sollte vorerst noch auf eine 4.8.x.-Version setzen?

Ich bin neu hier im Forum und neu, was den Umgang mit CONTENIDO angeht - aber ich habe schon seit mehreren Jahren im Webdesign-Bereich zu tun und möchte mich endlich wieder einem neuen Bereich widmen. Ärgere mich aber momentan mehr über die o.g. Probleme als das Freude aufkommen würde...

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Verzeichnisrechte Installation

Beitrag von xmurrix » So 15. Dez 2013, 10:36

Hallo AndaleR,

die Liste unter docs/en01-system-requirements.pdf ist eher vollständing als die Liste unter docs/de02-installationsanleitung.pdf.

CONTENIDO braucht Schreibrechte für folgende Verzeichnisse/Dateien:

System Verzeichnisse/Dateien:
  • ROOT/data/cache/*
  • ROOT/data/config/{umgebung}/config.php ({umgebung} ist per default production)
  • ROOT/data/cronlog/*
  • ROOT/data/logs/*
  • ROOT/data/temp/*
Mandanten Verzeichnisse/Dateien:
  • ROOT/cms/cache/*
  • ROOT/cms/css/*
  • ROOT/cms/data/*
  • ROOT/cms/js/*
  • ROOT/cms/templates/*
  • ROOT/cms/upload/*
Anmerkung:
In den Ordnern sind meist .htaccess Dateien, für diese Dateien braucht man keine Schreibrechte setzen, diese Dateien sollen nicht geändert werden.

Die Liste unter docs/en01-system-requirements.pdf ist halt sehr restriktiv eingestellt. Man hat dort z. B. Einträge wie ROOT/data/logs/errorlog.txt und ROOT/data/logs/setuplog.txt. Das hat den Vorteil, dass nur auf diese Dateien Schreibrechte vergeben werden, hat auch den Nachteil, dass man keine anderen Logs, wie z. B. ROOT/data/logs/meine_eigene_log.txt dort schreiben kann.

Das gleiche unter ROOT/data/cronlog/, dort sind viele einzelne Cronlog-Dateien gelistet. Du kannst auf jede einzeln Schreibrechte geben oder du machst das für das ganze Verzeichnis ROOT/data/cronlog/. Dann hast du später keine Probleme, wenn du einen weiteren Pseudo Cron-Job in CONTENIDO anlegst...

Noch einfacher ausgedrückt, könnte man auf folgende Verzeichnisse inkl. Subverzeichnisse Schreibrechte setzen:
  • ROOT/data/*
    Das System data-Verzeichnis, zum Schreiben von diversen Dateien
  • ROOT/cms/cache/*
    Das Frontend cache-Verzeichnis, darin kommen diverse cache Dateien wie Bilder, Code der Seiten, usw...
  • ROOT/cms/css/*
    Das Frontend css-Verzeichnis, Dateien kann man im Backend editieren
  • ROOT/cms/data/*
    Das Frontend data-Verzeichnis, zum Schreiben von diversen Dateien
  • ROOT/cms/js/*
    Das Frontend js-Verzeichnis, Dateien kann man im Backend editieren
  • ROOT/cms/templates/*
    Das Frontend templates-Verzeichnis, Dateien kann man im Backend editieren
  • ROOT/cms/upload/*
    Das Frontend upload-Verzeichnis, im Backend unter Dateiverwaltung hochgeladene Bilder landen darin
Ausnahmen gibt es für
  • .htaccess
    Wie zuvor angemerkt
  • ROOT/data/config
    Da reicht es, wenn man nur auf ROOT/data/config/{umgebung}/config.php Schreibrechte vergibt ({umgebung} ist per default production)
  • ROOT/data/locale
    Sprachdateien im Backend. Momentan werden die Dateien darin nicht über das Backend editiert, brauchen also vorerst keine Schreibrechte
Dann hast du die Wahl, wie restriktiv du nun alles einstellst. Du kannst vorgeben, dass es eine CSS-Datei im Frontend gibt, z. B. die ROOT/cms/css/meine_styles.css, vergibst dann nur auf die meine_styles.css Schreibrechte und nicht auf das Verzeichnis ROOT/cms/css/. Im Backend kann man nur diese Datei meine_styles.css editieren und keine anderen CSS-Dateien unter ROOT/cms/css/ erstellen.

Nachtrag:
Was auch sehr oft vorkommt ist das Problem der Schreibrechte verschiedener Benutzer und/oder Gruppen. Je nachdem wie die Benutzer/Gruppen auf dem Server eingerichtet sind, kann es vorkommen, dass du z. B. per FTP hochgeladene Dateien nicht im Backend editieren kannst, oder vom System erstellte Dateien nicht per FTP zugreifen kannst. Entweder sorgt man dafür, dass der www-user und der ftp-user in der gleichen Gruppe sind und/oder beide gegenseitig auf die Dateien Schreibrechte haben (den Serveradmin fragen), oder man entscheidet sich auf eine Vorgehensweise, z. B. keine Bilder per FTP hochladen sondern im Backend über die Dateiverwaltung...

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Antworten