Donnerstag, 14. Juli 2011

CakePHP unter Sites in Mac OS X

Wie schon in dem vorherigen Post angekündigt, bin ich noch auf ein paar Problem gestoßen, als ich CakePHP versucht habe ans Laufen zu bringen. Die Lösung brachte dann folgender Link:

Mod_rewrite (CakePHP routing functionality) forbidden after Snow Leopard upgrade

Unter Mac OS X gibt es zwei Verzeichnisse, über die Webseiten freigegeben werden können:

/Libary/WebServer/Documents/
~/Sites/

Bei dem letztern Verzeichnis handelt es sich um eins innerhalb des Userverzeichnisses (erkennbar an ~). Innerhalb von Sites habe ich nun CakePHP entpackt. Damit CakePHP das Userverzeichnis richtig erkennt, sind noch 2 Schritte notwendig:

In /etc/apache2/users/{user}.conf muß folgendes stehen:

<Directory "/Users/{user}/Sites/">

  Options Indexes MultiViews FollowSymlinks
  AllowOverride all
  Order allow,deny
  Allow from all
</Directory>

Zusätzlich müssen die drei .htaccess Dateien, die CakePHP verwendet (im CakePHP root Verzeichnis, /app/ und /app/webroot/ um eine Angabe zu RewriteBase ergänzt werden. Z.B. sieht meine root .htaccess Datei dann folgendermaßen aus:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteBase /~{user}/cakephp/
  RewriteRule ^$ app/webroot/ [L]
  RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

Keine Kommentare: