CakePHP dans le dossier public_html de votre user sous Ubuntu 9.10

Tagged:  •  

De retour sous Ubuntu après 1 an et demi de pomme intensive, je me suis ré-installé un desktop à la maison sous Ubuntu 9.10 pour voir un peu les évolutions de ma distro préférée.

J'ai commencé par installer un environnement de dev (LAMP, Eclipse, etc...).

Ci-dessous la configuration pour pouvoir développer dans le répertoire /home/monUser/public_html avec CakePHP :

Après avoir installé apache, PHP, MySQl, il faut configurer un peu l'ensemble.

  • Activation du mod_rewrite d'apache

Dans un terminal

sudo a2enmod rewrite
  • Création du répertoire public_html dans le répertoire de votre user si il n'existe pas déjà
mkdir /home/monUser/public_html
  • Activation du module userdir pour pouvoir accéder au répertoire /home/monUser/public_html par l'url http://localhost/~monUser/
cd /etc/apache2/mods-enabled

sudo ln -s ../mods-available/userdir.load

sudo ln -s ../mods-available/userdir.conf

  • Modification de /etc/apache2/mod_enabled/userdir.conf
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root

<Directory /home/*/public_html>
AllowOverride All
Order allow,deny
Allow from all
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>

  • Modification du .htaccess à la racine de votre projet CakePHP
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
RewriteBase /~monUser/monProjetCake/
</IfModule>
  • Modification du .htaccess dans /app/webroot de votre projet CakePHP
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteBase /~monUser/monProjetCake/
</IfModule>
  • Redémarrage d'apache
sudo /etc/init.d/apache2 restart

Si j'ai rien oublié dans mes notes vous devez pouvoir accéder à votre application par l'url :
http://localhost/~monUser/monProjetCake

Merci

Apparement personne n'a encore répondu, franchement merci pour ce tuto, cela faisait un petit temps que j'étais en train de m'arracher les cheveux (bon je n'ai pas pensé à modifier le htacces de cake j'avoues).

Merci encore

Modification de /etc/apache2/mod_enabled/userdif.conf

merci pour ce tuto trés interessant mais je veux signaler une chose dans la 4eme étape est ce qu'on modifie
/etc/apache2/mod_enabled/userdif.conf
ou
/etc/apache2/mod_enabled/userdir.conf

je pense qu'il ya une faute de frappe non?

oups !

effectivement j'ai pas d'ubuntu sous la main, mais c'est plutôt
/etc/apache2/mod_enabled/userdir.conf

je corrige dans le billet

merci

non

/etc/apache2/mod_enabled/userdiF.conf
ou
/etc/apache2/mod_enabled/userdiR.conf

Dia

sous Ubuntu 10.04

sous Ubuntu 10.04 il faut commenter les lignes ci-dessous dans le fichier /etc/apache2/mods-enabled/php5.conf

# <IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_value engine Off # </Directory> # </IfModule>