Batflat unter Uberspace

2018-01-10 21:02

Ich wurde um etwas Hilfe zum Aufsetzen von Batflat, ein einfaches CMS, auf einem Uberspace gebeten.

Eigentlich ist die Installation nach dem Auspacken des Batflat-Archivs fertig und man kann loslegen. Aber irgendwie wollte es in diesem Setup, mit einer eigenen Subdomain auf einem Uberspace, nicht klappen.

Das Setzen der Zugriffsrechte auf 777, wie in der Doku empfohlen, ist nicht nur generell eine schlechte Idee, sondern auf einem Uberspace auch nicht notwendig.

Batflat nutzt Rewrite Rules mittels mod_rewrite, um alle Anfragen an eine Datei weiterzuleiten. Und leider waren die im Auslieferungszustand noch nicht auf dem Uberspace zu gebrauchen, da eine RewriteBase fehlte.

Angepasst werden musste in .htaccess im Wurzelverzeichnis der Batflat-Installation folgendes:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(inc/|themes/|tmp/).*\.(php|html)$ - [F,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L]
</IfModule> 

wurde geändert in:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(inc/|themes/|tmp/).*\.(php|html)$ - [F,L]
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L]
</IfModule> 

Und die admin/.htaccess wurde auch entsprechend angepasst, so dass aus

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L]
</IfModule>

das folgende wurde:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /admin/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L]
</IfModule>

Und schon war der Zugriff auf den Admin-Bereich sowie das Aufrufen der normalen Seiten kein Problem mehr und es konnte mit der weiteren Einrichtung fortgefahren werden.