Joomla 1.6 Zugriffsrechte setzen
- 24 April, 2011 -
- Allgemein -
- Tags :
- 0 Comments
Die hier dargestellten Schritte sollten nach einer erfolgreichen Joomla-Installation durchgeführt werden. Sollte man nicht im Besitz eines eigenen Servers sein, können einzelne Schritte nur von dem entsprechenden Hoster übernommen werden.
Auf einem Webserver existieren zwei grundlegende Nutzertypen. Dies ist der FTP-Benutzer und der Apache/PHP-Benutzer. Beim Upload per FTP werden die Daten dem entsprechenden FTP-Nutzer zugeschrieben. Allerdings arbeitet z. B. Joomla 1.6 beim Dateizugriff unter dem Kontext des Apache/PHP-Benutzers.
Das legendäre www-run Problem.
Aus diesem Grund müssen die folgende Verzeichnisse unter dem Kontext des jeweiligen Apache/PHP-Benutzers
<BENUTZER>: wwwrun (SUSE) oder
<BENUTZER>: www-data (Debian) laufen:
-# chown -R <BENUTZER> <VERZEICHNIS> -# chgrp -R <BENUTZER> <VERZEICHNIS>
<VERZEICHNIS>:
administrator/components/
administrator/language/
administrator/modules/
administrator/templates/
administrator/cache/
administrator/manifests/
components/
images/
language/
media/
modules/
plugins/
templates/
cache/
logs/ *
tmp/ *
* Die Verzeichnisse logs/ und tmp/ müssen auch nach einem Serverumzug in der configuration.php anpasst werden.
Korrekte Schreibrechte
Diese folgenden Befehle im Hauptverzeichnis der Joomla-Installation ausführen.
-# find . -type f -exec chmod 644 {} \;
-# find . -type d -exec chmod 755 {} \;
Die zentrale Joomla Konfigurationsdatei sollte allerdings per chmod auf 444 gesetzt werden:
-# chmod 444 configuration.php
Pfad zu log/ und /tmp Verzeichnis herausfinden
Eine PHP-Datei mit dem folgenden Inhalt anlegen und temporär auf dem Webspace ablegen. Somit lassen sich die korrekten und vollständigen Serverpfade ermitteln:
<?php
echo getcwd();
?>
Die Pfade zum Log- und Temp-Folder dann im Joomla-Backend anpassen:
Site > Global Configuration > System:
Bsp.: Path to Log-Folder: <USER>/<DOMAIN>/htdocs/logs
Site > Global Configuration > Server:
Bsp.: Path to Temp-Folder: <USER>/<DOMAIN>/htdocs/tmp
Fehlermeldungen
- Problem: Access denied for user ‘<USER>’@'localhost’ to database ‘<DBNAME>’ SQL=LOCK TABLES `assets` WRITE
Lösung: GRANT SELECT,LOCK TABLES ON DBNAME.* TO ‘<USER>’@'localhost’