Pages : 1
#1 Le 05/04/2012, à 09:17
- Romain77
[RESOLU] Probleme avec mes VirtualHosts & Apache2
Salut a tous !
Je rencontre un ptit soucis ... et je n' arrive pas a diagnostiquer d'ou vient le probleme. je suis "sur" d'avoir tout fait correctement cependant le fait que j' ai une belle erreur de type : "INTERNAL SERVER ERROR" me laisse presager que j' ai forcement merdé quelque part !
Voila le truc !
Je suis en train d'installer FRAPI sur mon serveur ubuntu 10.04 dans le but de me faire un petit webservice pour communiquer avec mes BDD MySQL.
j' ai donc mis le repertoire frapi dans /var/www/ et j y ai appliqué les permissions comme demandé dans la doc.
chmod 775 var/www/src/frapi/custom/Action
chmod 775 var/www/src/frapi/custom/Config/
chmod 664 var/www/src/frapi/custom/Config/*.xml
j' ai egalement crée mon virtualhost comme ceci :
<VirtualHost *:80>
ServerName admin.frapi
DirectoryIndex index.php
ServerAdmin admin@api.frapi
# This should be omitted in the production environment
SetEnv APPLICATION_ENV development
DocumentRoot /var/www/frapi/src/frapi/admin/public
<Directory /var/www/frapi/src/frapi/admin/public>
AllowOverride All
Order deny,allow
Allow from All
</Directory>
</VirtualHost>
(l'autre vhost etant identique a quelques details pres ... je ne le recolle pas ici pr ne pas trop surcharger)
et j' ai bien activé mes "sites" via a2ensite
Mais j' ai une belle erreur INTERNAL SERVER ERROR en essayant de les atteindre via mon navigateur en tapant http://admin.frapi ou http://api.frapi
J' ai pourtant deja crée d'autres vhirtualhosts liés a des noms de domaines et accessibles depuis le web et ce sans probleme.
je ne vois pas ou je peche ...
D'avance merci pr le coup de main.
Dernière modification par Romain77 (Le 10/04/2012, à 19:33)
Hors ligne
#2 Le 05/04/2012, à 10:17
- poupougnac
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Je te conseil d'ajouter dans ton Vhost :
ErrorLog /var/log/apache2/error.log
Et de voir ce qui va se générer.
Regarde également du côté d'un éventuel .htaccess !
Hors ligne
#3 Le 05/04/2012, à 11:41
- Romain77
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Hmm
j' ai ça comme incident dans le log :
[Thu Apr 05 12:03:38 2012] [alert] [client 127.0.0.1] /var/www/frapi/src/frapi/admin/public/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
SetEnv APPLICATION_ENV development
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Alors je ne vois pas trop ce que je dois faire ...
Edit :
A tout hasard j' ai essayé de passer le RewriteEngine sur OFF dans htaccess ; sans resultat
ou de modifier le fichier vhost en mettant la ligne APPLICATION_ENV en commentaire ; sans resultat non plus
Dernière modification par Romain77 (Le 05/04/2012, à 13:34)
Hors ligne
#4 Le 05/04/2012, à 14:51
- poupougnac
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
C'est donc que tu as besoin du module rewrite d'apache2...
Pour l'activer :
sudo a2enmod rewrite
Suivi d'un redémarrage d'apache2 :
sudo service apache2 restart
Hors ligne
#5 Le 05/04/2012, à 15:37
- Romain77
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Alors effectivement ça a "debloqué" la situation ... mais pour m' emmener sur un autre soucis ...
Alors c'est pas la premiere fois que je met un site en ligne ou que j' utilise les vhosts ... Bon meme si je ne suis pas un EXPERT d'habitude meme en galerant un peu ... je finis par y arriver !
En revanche la ... le tuto est pourtant simple a souhait :
Setting Directory and File Permissions
You're about see a lot of references to something called FRAPI_PATH. This is simply a shorthand way of saying, "Where you've chosen to install FRAPI." If you've placed the FRAPI codebase in /var/www/frapi, then you should read FRAPI_PATH as /var/www/frapi.
Directory Ownership
Since FRAPI is a web application, the web-user will need to have varying levels of access to FRAPI_PATH. This user is sometimes apache, nobody, www-data, or some other user (please refer to the documentation for your web server and operating system to determine the appropriate user if you are not sure). During development and testing (including production, in some cases) you will need access to those files as well.
First, determine the web-user's group. This is usually named the same as the web-user
Second, add yourself to the web-user group if you are not already a member (see Linux: Adding a user to a group)
Finally, issue the chown command to change ownership of FRAPI_PATH to yourself and the web-user group
chown -R username.web-user FRAPI_PATH
Directory PermissionsYou need to make sure that both FRAPI_PATH/src/frapi/custom/Action/ and FRAPI_PATH/src/frapi/custom/Config are readable, writable, and executable by the web-user, but only readable and executable to everyone else (0775). You also want to make sure that the XML files in FRAPI_PATH/src/frapi/custom/Config are readable and writable by the web-user, but only readable to everyone else (0664).
chmod 775 FRAPI_PATH/src/frapi/custom/Action
chmod 775 FRAPI_PATH/src/frapi/custom/Config/
chmod 664 FRAPI_PATH/src/frapi/custom/Config/*.xml
If you're using Linux you could run the FRAPI_PATH/setup.sh script. The setup.sh script will initialize the ArmChair submodule and set directory permissions with the commands you see above.sudo sh setup.sh
Configuring ApacheSetting up FRAPI's Administration Interface Virtual Host
In order to setup FRAPI's admin interface, you'll need to setup a virtual host with the following configuration:
<VirtualHost *:80>
ServerName admin.frapi
DirectoryIndex index.php
ServerAdmin admin@api.frapi# This should be omitted in the production environment
SetEnv APPLICATION_ENV developmentDocumentRoot FRAPI_PATH/src/frapi/admin/public
<Directory FRAPI_PATH/src/frapi/admin/public>
AllowOverride All
Order deny,allow
Allow from All
</Directory>
</VirtualHost>
Make sure the server name (hostname of your api – if developing locally you may want to add admin.frapi to your /etc/hosts file) and the FRAPI_PATH (Defined in Setting Directory and File Permissions) are correct then restart Apache.If you open your browser to http://admin.frapi you should now see a screen with a login and password (Username: admin, password: password)
Setting up the API frontend
The API frontend is the API that third party developers will be accessing. Very much like the administration interface, add a new site to your available sites in Apache with the following configuration:
<VirtualHost *:80>
ServerName api.frapi
ServerAdmin admin@api.frapi
DocumentRoot FRAPI_PATH/src/frapi/public# This should be omitted in the production environment
SetEnv APPLICATION_ENV development
<Directory FRAPI_PATH/src/frapi/public>
AllowOverride All
Order deny,allow
Allow from All
</Directory>
</VirtualHost>
Again, make sure the server name (hostname of your api – if developing locally you may want to add api.frapi to your /etc/hosts file) and the FRAPI_PATH (Defined in Setting Directory and File Permissions) are correct then restart Apache.If you open your browser to http://api.frapi you should now see an XML payload that has an error that has the code ERROR_INVALID_ACTION_REQUEST
Mais malgres ça je n' arrive pas a faire en sorte que cela fonctionne ...
Est ce mon fichier hosts qui "merde"
j' ai rajouté :
127.0.0.1 api.frapi
127.0.0.1 admin.frapi
Mais ça coince tjrs ... quelqu un aurait il une piste ?
Dernière modification par Romain77 (Le 05/04/2012, à 15:45)
Hors ligne
#6 Le 05/04/2012, à 16:35
- poupougnac
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Mais malgres ça je n' arrive pas a faire en sorte que cela fonctionne ...
Mais ça coince tjrs ...
Tu n'aide personne, ni toi même ! Savoir formuler son problème apporte toujours un début de solution ! Que se passe t-il ? Une erreur ? Un message ? Mets-toi simplement à la place de ceux qui veulent t'aider...
Dernière modification par poupougnac (Le 05/04/2012, à 16:48)
Hors ligne
#7 Le 05/04/2012, à 21:38
- Romain77
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Bon c'est ok .. juste un dernier petit parametrage à regler (pour le coup pas en rapport avec Apache ni les vhosts ...) En fait c'etait le mod rewrite qui me manquait surtout
Bon en revanche maintenant la ou je bloque c'est sur le comment rendre accessible depuis le web mon vhost api.frapi (admin.frapi devant rester accessible qu'en localhost)
j' ai essayé de mettre <mon-ip> api.frapi dans mon fichier /etc/hosts puis un restart d' apache mais cela n' a pas fonctionné, les droits sur mon repertoire var/www/src/frapi/public sont en 775 (donc a priori) c'est ok
et mon fichier vhost :
<VirtualHost *:80>
ServerName api.frapi
ServerAdmin admin@api.frapi
DocumentRoot var/www/src/frapi/public
# This should be omitted in the production environment
SetEnv APPLICATION_ENV development
<Directory var/www/src/frapi/public>
AllowOverride All
Order deny,allow
Allow from All
</Directory>
</VirtualHost>
.. est comme cela !
Et une fois de plus je ne vois pas ce qui bloque ... pour que api.frapi soit accessible depuis le web via http://<mon-ip>/api.frapi
Sans abuser de votre patience ... si quelqu un voit ou je me plante ...
Et pour info j' ai ce retour la :
403 Forbidden
You don't have permission to access /api.frapi on this server.
Dernière modification par Romain77 (Le 05/04/2012, à 21:51)
Hors ligne
#8 Le 07/04/2012, à 09:35
- poupougnac
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Dans ce cas ajoute:
Alias /api.frapi
dans ton vhost !
Hors ligne
#9 Le 07/04/2012, à 10:08
- Romain77
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Salut !
deja merci !
Alors j' ai bien rajouté la ligne Alias mais en faisant un restart d' apache, j' ai eu un message d' erreur me disant que "Alias" prend 2 arguments : Nom Réel + fake Name
J' ai donc maintenant ceci :
ServerName api.frapi
Alias /api.frapi API
et cette fois ci, mon serveur apache a redemarré correctement sans Warning !
Cependant le probleme persiste :
403 - Forbidden
You don't have permission to access /API on this server.
je vais tt de meme rejeté un coup d'oeil au niveau des droits sur mon rep frapi car la ça me semble etrange. (Tout ce dont je suis sur c'est que j' avais meme, pour essayer d' isoler le probleme, passer tout le repertoire frapi en 777 et meme a ce moment la, ça ne fonctionnait pas)
Je test tout ça et je post ici la solution si je la trouve.
Hors ligne
#10 Le 08/04/2012, à 08:10
- Romain77
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Salut a tous !
Bon ba pas de solution trouvée pour l' instant !
J' ai, pr etre sur de chez sur, repasser tout le repertoire en 777 et rien.
Je suis donc intimement convaincu que le probleme vient bien de mon fichier vhost !
J' ai aussi pour verifier crée un rep test dans /var/www et je pouvais l' atteindre depuis le web.
Je reste donc perplexe face a ce blocage car je n arrive pas a comprendre comment le regler.
Hors ligne
#11 Le 08/04/2012, à 18:05
- moumoul
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Salut,
Il te manque un "/" dans ton DocumentRoot et dans la balise <Directory>
Essaie avec cette configuration :
<VirtualHost *:80>
ServerName api.frapi
ServerAdmin admin@api.frapi
DocumentRoot /var/www/src/frapi/public
# This should be omitted in the production environment
SetEnv APPLICATION_ENV development
<Directory /var/www/src/frapi/public>
AllowOverride All
Order deny,allow
Allow from All
</Directory>
</VirtualHost>
Hors ligne
#12 Le 08/04/2012, à 18:59
- Romain77
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Hello !
J avais effectivement deja pensé a ça et j avais de ce fait deja apporté une modif !
Mais le probleme existe toujours !
C est tout de meme etrange ! Je n arrive vraiment pas a comprendre d ou le soucis vient ! Je me suis refais les tutos sur les vhosts et apache2 et je n arrive pas a comprendre ou je merde !
PS : en revanche je me demande si c est "normal" d avoir une erreur "permission refusee" quand j essaye de joindre un vhost inexistant ... Par exemple <mon-ip>/tartanpion ! Ne devrais je pas avoir une erreur 404 plutot dans ce cas la ?
Je le dis au cas ou cela vous ferait penser a une eventuelle chose qui serait a l origine du blocage ! Moi perso ca me laisse perplexe mais je n y voispas d explication ! Et comme je le disais dans un post plus haut, j ai des sites en prod et j ai fais un test hier en mettant un rep test a la racine et je pouvais y acceder ... Donc ... Voila quoi
Dernière modification par Romain77 (Le 08/04/2012, à 19:07)
Hors ligne
#13 Le 08/04/2012, à 22:36
- poupougnac
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Ce n'est pas possible d'accèder à un Vhost avec une adresse ip car ton Vhost se base sur un nom. Apache2 associe ton vhost à api.frapi. Soit tu es propriétaire de ce domaine, soit tu devras modifier le fichier host de chaque machine pour que le domaine corresponde à l'ip.
Si ce n'est pas une option, il va donc falloir t'orienter vers le module user_mod pour avoir une adresse de type http://xxx.xxx.xxx.xxx/~user/ et ne pas faire de Vhost.
Aussi, il faut que tu ouvres le port 80 sur ton routeur (si tu en as un) pour accèder depuis l'extérieur !
Hors ligne
#14 Le 09/04/2012, à 08:16
- moumoul
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
L'erreur permission refusée peut apparaître pour plusieurs raisons :
- Tu n'as effectivement pas le droit d'afficher la page et donc il y a une restriction dans le VHOST ou un fichier .htaccess
- Le répertoire vers lequel pointe ton DocumentRoot est vide ou ne contient pas d'index. Apache essaie donc de faire un directory listing qui est en général interdit par défaut.
- Un problème de droits (apache qui n'a pas le droit de lire dans le DocumentRoot)
Lorsque du accède à un vhost qui n'existe pas, apache te renvoie automatiquement dans le vhost par défaut. Celui-ci ne doit pas avoir de DocumentRoot valide. Si tu veux pouvoir atteindre apache via l'adresse ip de ta machine, il faut ajouter un serveralias dans la configuration du vhost où tu veux arriver :
ServerAlias <tonip>
Peux tu nous donner le résultat de la commande suivante :
ls -la /var/www/src/frapi/public
Peux-tu aussi nous fournir les logs apache ?
Dernière modification par moumoul (Le 09/04/2012, à 08:18)
Hors ligne
#15 Le 09/04/2012, à 16:52
- Romain77
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Hello !
Bon ça fonctionne a quelques details pres ...
voici a quoi ressemble mon vhost actuellement
<VirtualHost *:80>
ServerName api
ServerAlias 217.160.224.124
ServerAdmin contact@api.frapi
DocumentRoot /var/www/frapi/src/frapi/public
# This should be omitted in the production environment
SetEnv APPLICATION_ENV development
<Directory /var/www/frapi/src/frapi/public>
AllowOverride All
Order deny,allow
Allow from All
</Directory>
</VirtualHost>
Alors effectivement, lorsque que je tape http://217.160.224.124/api ... ça fonctionne (si vous essayez et que vous voyez une erreur "BAD REQUEST ... C'est normal) ! Probleme ça fonctionne "un peu trop" maintenant.
Quand je test http://217.160.224.124, je suis aussi redirigé sur frapi et je m' apperçois egalement que je peux mettre TOUT ET N'IMPORTE QUOI derriere mon ip ... et magie ça fonctionne tout aussi bien ! On en conviendra donc que c'est pas specialement tip tip
D' un autre coté, ça repond en meme temps aux questions precedentes :
Le DocumentRoot contient bien un index.php et les droits de lectures sont ok ... Le probleme vient donc de ce MAUDIT vhost
Au passage j' ai essayé de mettre :
ServerAlias 217.160.224.124/api mais si je fais ça ... j' ai de nouveau mon erreur favorite 403 FORBIDDEN
Bon j' avance ... mais a chaque etape, nouveau soucis
PS : juste pour info j' ai mis le log dans le cas ou mon vhost est avec ServerAlias 217.160.224.124/api
[Mon Apr 09 18:06:40 2012] [error] [client 88.171.244.142] (13)Permission denied: cannot read directory for multi: /var/www/]
Dernière modification par Romain77 (Le 09/04/2012, à 17:10)
Hors ligne
#16 Le 09/04/2012, à 17:11
- moumoul
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Salut,
Je pense que tu n'as pas tout à fait compris le fonctionnement des VHOST.
Lorsque tu mets dans ta configuration ServerName ou ServerAlias, tu configure une URL d'accès au DocumentRoot.
Donc l'ajout de ServerAlias 217.160.224.124 a eu pour conséquence de donner accès au répertoire /var/www/frapi/src/frapi/public. Si tu es redirigé vers FRAPI quelque soit l'URI que tu tapes, c'est parce qu'il y a un fichier .htaccess à la racine qui contient une RewriteRule :
frapi/src/frapi/public $ cat .htaccess
RewriteEngine On
RewriteRule ^.*$ index.php [QSA,NC,L]
Donc pour résumer, il faut que tu configures ton vhost pour répondre uniquement aux URL que tu as choisis.
Par exemple :
ServerName api
ServerAlias test.api
Cette configuration te permettra d'accéder à FRAPI via http://api/ ou http://test.api. Ces noms DNS n'existant pas, il te faudra ajouter la ligne suivante dans le fichier host de la machine cliente :
217.160.224.124 api test.api
PS:
Tu ne peux pas mettre 217.160.224.124/api dans un ServerAlias, cette directive ne peut accueillir que des URL pas d'URI. (http://URL/URI)
Hors ligne
#17 Le 09/04/2012, à 17:22
- Romain77
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Okaayyyy !
Effectivement ! Bon je vais faire ça mais de toutes façons, cela m' amene a un autre probleme plus embettant ! Apparement tu connais un peu Frapi ! Donc, sauf si je me trompe (apres tout ce ne serait pas la premiere fois ...), il faut que l' API soit accessible over the web ! Car c'est via cette URL que les requette vont etre faite! je me vois mal a ce moment la editer le fichier host de chaque machine qui utilise mon appli !
Je pense de ce fait m' acheter un petit nom de domaine ... qu'en penses tu ? de cette façon j' aurais au moins la possibilité de le rendre accessible depuis le web et ce a tout le monde ... de cette façon les requetes pourront etre faites normalement !
Hors ligne
#18 Le 10/04/2012, à 13:28
- moumoul
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Hello,
Si tu veux que ton vhost soit facilement accessible, il te faudra effectivement un nom de domaine
Hors ligne
#19 Le 10/04/2012, à 13:43
- Romain77
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Voila ... probleme reglé donc
Merci a tous pour votre aide.
Romain
Hors ligne
#20 Le 04/07/2012, à 14:12
- Mirlo
Re : [RESOLU] Probleme avec mes VirtualHosts & Apache2
Roman peut tu me donner tous les étapes svp car j'ai suivie cette discussion et j'arrive pas a faire
Hors ligne
Pages : 1