Manche Hosting-Provider reduzieren die Funktionalität, insbesondere wenn sie lediglich Webspace anbieten und verhindern müssen, dass einzelne Anwender andere Benutzer durch ihre Einstellungen stören können. Neben den grundsätzlichen, eigentlich niedrigen Anforderungen, die Drupal an das Hosting stellt, sollte man insbesondere bei preiswerten Hosting-Angeboten prüfen, dass keine wichtigen Funktionalitäten unterbunden wurden. Hier die wichtigsten Klassiker, die man am besten vor der Wahl des Providers checken sollte:
- Benötigte SQL-Kommandos
- PHP Safe-Mode
- .htaccess-Datei
- PHP5
Erlaubte SQL Kommandos
Drupal benutzt teilweise noch LOCK TABLE Kommandos, die viele Provider nicht erlauben. Da diese zentral von API-Funktionen aufgerufen werden, lassen sie sich einfach abstellen, indem die entsprechenden Zeilen im Drupalcode auskommentiert werden. Mehr dazu unter http://www.drupalizers.de/node/19 (Anmeldung erforderlich)
Hinweis: Die Drupal-Installdatei gibt Hinweise, mit welchen Rechten ein Datenbankbenutzer für Drupal ausgestattet werden muss:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password';
Am besten vor der Providerwahl den Provider fragen, ob alle diese Rechte für einen eigenen Datenbankbenutzer gestattet werden.
Safe-Mode
"Safe Mode ist der Versuch, Sicherheitsprobleme bei gemeinsam genutzten Servern zu lösen. Bezogen auf die Systemarchitektur, ist es der falsche Ansatz, diese Probleme innerhalb der PHP Schicht lösen zu wollen. Da es auf Ebene des Webservers bzw. des Betriebssystems keine praktischen Alternativen gibt, wird Safe Mode nunmehr von vielen Leuten, vor allem von Providern, eingesetzt." Quelle und mehr Infos unter http://de.php.net/features.safe-mode
Im Safe-Mode ist es nur gestattet, PHP-Dateien desselben Datei-Eigentümers auszuführen. Problematisch wird das, wenn man ein files Verzeichnis braucht, in das alle Uploads von Benutzern durch den Webserver gespeichert werden. Der Webserver braucht Schreibrechte dafür, was am Zweckmäßigsten gelöst wird, indem das files-Verzeichnis denselben Eigentümer wie den Eigentümer des Webserver-Prozesses bekommt (i.d.R. "wwwrun"). Wenn aber alle anderen PHP-Dateien unter "normalem" Benutzernamen laufen, kommt es im Safe-Mode beim Zugriff auf files zum Konflikt.
Es gibt diverse Lösungsansätze, diese Beschränkung zu umgehen:
- Alle Dateien unter wwwrun ablegen,
- files-Verzeichnis mit Schreibrechten für alle ausstatten (AUTSCH!) oder eine UNIX-Gruppe anlegen, die "wwwrun" einschließt, und files diese Gruppe mit Gruppenschreibrechten zuordnen (ideal),
- oder auf Dateiupload verzichten.
.htaccess
Davon abgesehen, dass Dateien mit einem Punkt vorne unter Unix (Linux) bedeuten, dass sie versteckt sind, und daher manchmal beim Kopieren auf den Host "vergessen" werden, steckt hier ein wesentliches Feature drin, nämlich "Clean urls" (also suchmaschinenfreundliche Dateipfade). Theoretisch könnten hier noch viele andere Modifikationen des Webservers Apache gespeichert sein.
Liegt die Datei im Rootverzeichnis der Drupal-Website, so heißt das noch lange nicht, dass sie beachtet wird. Es gehört vielerorts zur Sicherheitseinstellung, solche Dateien zu ignorieren. Nowendig für Clean URLs ist somit, dass man in seinem httpdocs-Verzeichnis auch .htaccess-Dateien benutzen kann. Auf dem eigenen Webhost kann man das in den Konfigurationsdateien des Webservers einstellen, bei einem Provider ist man auf diesen und sein Vertrauen zu seinen Kunden angewiesen. Andernfalls sind Clean URLs nicht möglich.
PHP5
NOCH keine Beschränkung, aber ab Drupal 7: Eine große Stärke von Drupal ist gerade der klare Code ohne unnötige Extrawürste. Ab Drupal 7 wird der Code nun auch von PHP4 Altlasten befreit. Drupal-Spezialist Robert Douglas startete eine Initiative _aller_ namhafter Open Source WebCMS, die nächste Version nur noch mit PHP5 Forderung herauszugeben, um gemeinsam die letzten schlechten Hoster aus ihrem PHP4 Dornröschenschlaf zu holen und das Update auf PHP5 zu erzwingen. Mehr unter http://gophp5.org
Noch andere Probleme? Schüttle sie hier ab!
- Anmelden oder Registrieren um Kommentare zu schreiben