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 :
cakePHP/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
cakePHP/app/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
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 !
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
Essaye de voir si cette solution fonctionne :') :
Il est toujours compliqué de trouver les problemes des gens au niveau des installetions, surtout si on ne les a pas eu :)
Bonne continuation.