Bonsoir à tous !
Je viens vers vous, car j'ai un léger problème avec l'instalation de cakePHP sous mon serveur local LAMP.

Après avoir cloné le github de cakePHP à l'aide d'un petit alias ! alias getcake="git clone https://github.com/cakephp/cakephp.git cakePHP", RIEN, NADA, ... :'(

Enfin juste une erreur :

Not Found

The requested URL /media/www-dev/public/cakePHP/app/webroot/ was not found on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80

L'arborescence est bien présente :

bluebear@bluebear-laptop:~$ ll /media/www-dev/public/cakePHP/
total 72
drwxr-xr-x 7 bluebear bluebear 4096 Oct 8 21:22 ./
drwxr-xr-x 6 bluebear users 4096 Oct 8 21:21 ../
drwxrwxr-x 14 bluebear bluebear 4096 Oct 8 21:22 app/
-rw-rw-r-- 1 bluebear bluebear 174 Oct 8 21:22 build.properties
-rw-rw-r-- 1 bluebear bluebear 10347 Oct 8 21:22 build.xml
-rw-rw-r-- 1 bluebear bluebear 3184 Oct 8 21:22 CONTRIBUTING.md
-rw-rw-r-- 1 bluebear bluebear 265 Oct 8 21:22 .editorconfig
drwxrwxr-x 8 bluebear bluebear 4096 Oct 8 21:22 .git/
-rw-rw-r-- 1 bluebear bluebear 333 Oct 8 21:22 .gitignore
-rw-rw-r-- 1 bluebear bluebear 139 Oct 8 21:22 .htaccess
-rw-rw-r-- 1 bluebear bluebear 1467 Oct 8 21:22 index.php
drwxrwxr-x 3 bluebear bluebear 4096 Oct 8 21:22 lib/
drwxrwxr-x 2 bluebear bluebear 4096 Oct 8 21:22 plugins/
-rw-rw-r-- 1 bluebear bluebear 1670 Oct 8 21:22 README.md
-rw-rw-r-- 1 bluebear bluebear 3592 Oct 8 21:22 .travis.yml
drwxrwxr-x 2 bluebear bluebear 4096 Oct 8 21:22 vendors/

Voici le contenu des mes trois .htaccess :

  1. cakePHP/.htaccess

    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ app/webroot/ [L]
    RewriteRule (.*) app/webroot/$1 [L]
    </IfModule>

  2. cakePHP/app/.htaccess

    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ webroot/ [L]
    RewriteRule (.*) webroot/$1 [L]
    </IfModule>

  3. cakePHP/app/webroot/.htaccess

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

__________________________________________________________________

Je travaille sous PHP 5.3 :

PHP 5.3.10-1ubuntu3.8 with Suhosin-Patch (cli) (built: Sep 4 2013 20:00:51) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

J'ai installé mon serveur LAMP en suivant ce tutorial : http://doc.ubuntu-fr.org/lamp
De plus, je l'utilise pour développer des application Symfony2 sans aucun problème... Mais bon, souhaitant revenir aux bonnes vieilles habitudes :'D

J'ai configuré mes répertoires de travail en suivant ce tutorial : http://doc.ubuntu-fr.org/tutoriel/lamp\_repertoires\_de\_travail

__________________________________________________________________

Voici mes fichiers de configuration sites Apache2 (/etc/apache2/sites-available/default) :

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order deny,allow
        deny from all
        allow from 127.0.0.1
        allow from 192.168.1.0/24
    </Directory>
    Alias /public /media/www-dev/public
    <Directory /media/www-dev/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    Alias /private /media/www-dev/private
    <Directory /media/www-dev/private>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order deny,allow
        deny from all
        allow from 127.0.0.1
        allow from 192.168.1.0/24
        allow from .w3.org
        allow from sandbox.paypal.com
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

__________________________________________________________________

Le mode rewrite est bel et bien activé et présent dans ma configuration de mon serveur (visible avec un phpinfo();) :

Loaded Modules : 
core
mod_log_config
mod_logio
prefork
http_core
mod_so
mod_alias
mod_auth_basic
mod_authn_file
mod_authz_default
mod_authz_groupfile
mod_authz_host
mod_authz_user
mod_autoindex
mod_cgi
mod_deflate
mod_dir
mod_env
mod_mime
mod_negotiation
mod_php5
mod_reqtimeout
<strong>mod_rewrite</strong>
mod_setenvif
mod_status

__________________________________________________________________

Voila, je vous laisse la parole, et je continue de chercher le pourquoi du comment !

9 réponses


maximeshr
Auteur
Réponse acceptée

Bon aucune de vos suggestions ne fonctionnent... Je pense donc qu'il s'agit d'une erreur de manipulation de mon LAMP. Je vais donc ré-installer et recommencer. Je vous tiens au jus les amis !

Merci en tout cas du temps que vous m'avez consacré !

Salut, tu es allé sur quelle lien avec ton navigateur http://localhost/public/cakePHP ?

si oui et que sa marche pas essaye de rebooter apache

sudo service apache2 restart

et reviens sur le lien http://localhost/public/cakePHP pour voir.

En effet, je me place bien sur localhost/public/cakePHP
J'ai déjà redémarrer plusieurs fois apache sans succès ... :'(

quand tu vas sur le lien http://localhost/public est-ce que tu vois ton dossier cakePHP si c'est pas le cas c'est que tu n'as pas fait de lien symbolique de /var/www vers /media/www-dev/public pour cela tu vas dans ton dossier /var/www et tu tape

sudo ln -s . /media/www-dev/public

ou l'inverse je sais plus vraiment

si tu vois ton dossier cakePHP dans http://localhost/public sa doit être bon

Mon dossier /media/www-dev/public est relié à /var/www/public ... par un lien symbolique justement :°D

Lorsque je vais sur http://localhost/ je vois mon arborescence (phpmyadmin/private/public).
Dans public, je vois mes sites stocké sur /media/www-dev/public (et vu qu'il y a un lien symbolique dessus, il se retrouve également dans /var/www/public) et cakePHP y est bien présent !

Mais lorsque je clique dessus, erreur (not found the requested URL /media/www-dev/public/cakePHP/app/webroot/ was not found)

Lors que je retire le .htaccess du dossier racine, j'accède cependant bien aux pages, ce qui me laisse penser à un soucis au niveau des redirections.

Ok peut-être que je tape en touche mais tu peux changer dans /etc/apache2/site-available/default la ligne

<Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order deny,allow
        deny from all
        allow from 127.0.0.1
        allow from 192.168.1.0/24
    </Directory>

par

<Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order deny,allow
        deny from all
        allow from 127.0.0.1
        allow from 192.168.1.0/24
    </Directory>

et restart apache bien sur

sinon réessaye une installation en faisant juste dans le bon dossier

git clone https://github.com/cakephp/cakephp.git cakePHP

et si sa marche toujours pas voila ma config :

j'ai crée un dossier htdocs dans mon dossier $user

mkdir ~/htdocs

ou dedans j'ai fait un git clone de cakephp

mon fichier /etc/apache2/site-available/default

VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride all
                Order allow,deny
                allow from all
        </Directory>
        <Directory ~/htdocs/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride all
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

j'ai un lien symbolique dans mon dossier /var/www/ qui pointe vers ~/htdocs en faisant un

sudo ln -s user ~/htdocs

j'ai bien sur installer la réécriture d'url en tapant

sudo a2enmod rewrite

j'ai mis les droits d'écriture sur app/tmp comme un barbare

sudo chmod -R 777 ~/htdocs/cakephp/app/tmp

j'ai rebooter apache

sudo service apache2 restart

et je vais sur la page localhost/user/cakephp pour voir le résultat

tout sa sans changer un seul fichier du framework

Il est toujours compliqué de trouver les problemes des gens au niveau des installetions, surtout si on ne les a pas eu :)

Bonne continuation.

Tout à fait ! Je vais faire mon maximum :')