Dieser Abschnitt und das Shell-Script wurde von Dr. Christian Weikl erstellt. Das Script finden Sie im Download.

Die Informationen beziehen sich auf die DWO-Version 3.1.

Installieren Sie DWO auf dem Webserver Ihres Providers oder auf Ihrem eigenen Server mit dem Betriebssystem Linux, so sollten Sie überprüfen, ob die Verzeichnis- und Dateiberechtigungen des entpackten DWO-Archivs korrekt gesetzt wurden.

In der Regel nutzt der Webservers des Linux-Servers ein sog. Document-Root Verzeichnis, unterhalb dessen alle Dateien und Verzeichnisse abgelegt sind, die über den Webserver für Externe erreichbar sein sollen. Dieses wird in der Konfigurationsdatei des Web-Servers festgelegt

Meist findet sich  das Document-Root-Verzeichnis bei eigenen Linux-Installationen unter:

/var/www/html

Das DWO-Archiv (ZIP-Datei) entpacken Sie bitte in diesem Verzeichnis. Es wird dann unterhalb des Verzeichnisses /var/www/html ein Unterverzeichnis DidaktPlanV3.1 mit allen Unterverzeichnissen und Dateien angelegt. Sie können dieses Verzeichnis nun bsp. umbenennen, indem Sie als Benutzer root unter Linux folgenden Befehl absetzen:

root@localhost# mv /var/www/htdocs/DidaktPlan3.1/var/www/htdocs/dwo

Wechseln Sie nun als Benutzer root in das neu benannte Verzeichnis mit:

root@localhost# cd /var/www/htdocs/dwo

Dort finden Sie ein Linux-Shellscript – dwo_berechtigungen_setzen.sh -, das die benötigten Berechtigungen automatisch korrekt setzt.

Um das Script ausführen zu können, müssen Sie diesem Ausführungsberechtigungen geben:

root@localhost# chmod +x dwo_berechtigungen_setzen.sh

Danach führen Sie das Script wie folgt als Benutzer root aus:

root@localhost# ./dwo_berechtigungen_setzen.sh

Hinweis: Sollte Ihr Installationsverzeichnis von dem Verzeichnis /var/www/html/dwo abweichen, so ändern Sie dies bitte im Script mithilfe eines Texteditors den Pfad für die angegebene Variable „dwopfad“.

Das Script setzt die Berechtigungen nach folgendem Schema:

  • Alle Dateien sollten für den Besitzer mit Lese- und Schreibberechtigungen versehen sein, für die Gruppe des Besitzer sollten nur Leseberechtigungen gesetzt sein. Für alle anderen Nutzer sind keine Berechtigungen vorgesehen.
  • Alle Verzeichnisse sollten mit der Ausführungsberechtigung versehen sein, der Besitzer des Verzeichnisses benötigt Lese- und Schreibberechtigungen, die Gruppe des Besitzers benötigt nur Leseberechtigungen.
  • Das application/ Verzeichnis sollte [root]:[HTTP group] als Besitzer haben.
  • Das asset/ Verzeichnis sollte [root]:[HTTP group] als Besitzer haben.
  • Das export/ Verzeichnis sollte [HTTP user]:[HTTP group] als Besitzer haben.
  • Das import/ Verzeichnis sollte [HTTP user]:[HTTP group] als Besitzer haben.
  • Das public/ Verzeichnis und seine Unterverzeichnisse sollten [root]:[HTTP group] als Besitzer haben.
  • Das system/ Verzeichnis sollte [root]:[HTTP group] als Besitzer haben.
  • Die /.htaccess Datei sollte [root]:[HTTP group] als Besitzer haben.
  • Die public/upload/.htaccess Datei sollte [root]:[HTTP group] als Besitzer haben und beschreibbar sein.
  • .htaccess Dateien besitzen Lese- und Schreibberechtigungen für den Besitzer, Leseberechtigungen für die Gruppe des Besitzers. Alle anderen erhalten keine Berechtigungen.
  • Die Datei /didakt.ini sollte [root]:[HTTP group] als Besitzer haben und beschreibbar sein.
  • Die Datei application/config/database.php sollte [root]:[HTTP group] als Besitzer haben und vom Besitzer und der Gruppe des Besitzers beschreibbar sein.
  • Die Datei install/config/database.php sollte [root]:[HTTP group] als Besitzer haben und vom Besitzer und der Gruppe des Besitzers beschreibbar sein.

Sollten Sie ein Update der DWO – Installation durchgeführt habe, indem Sie das neue ZIP-Archiv entsprechend entpackt haben, sollten Sie das Script nochmals ausführen, damit die Berechtigungen wieder korrekt gesetzt werden. Das Script prüft zudem einige Verzeichnisse ab, die für den funktionsfähigen Betrieb existieren müssen (z.B. public/upload/files/import/). Falls diese nicht existieren, werden sie angelegt und mit den benötigten Berechtigungen versehen.

Hinweis:

[HTTP group] ist die Gruppe des Besitzers unter der der Webserver ausgeführt wird, meist ist dies unter Linux die Gruppe www-data.

[HTTP user] ist der Besitzer unter dem der Webserver ausgeführt wird, dies ist unter Linux meist der Benutzer www-data.