YannCo Posté 28 Février 2004 Posté 28 Février 2004 Salut, je pensai trouver un topic sur ce sujet mais je ne l'ai pas trouvé. Donc, j'explique mon cas : J'ai un p'tit dédié et je n'y connaissai rien à linux il y a encore une semaine. Le mod_rewrite ne marche pas sur mes différents domaines. Pourtant apache semble bien configuré. J'ai un fichier httpd.conf ouff déja ça commence bien. J'ai les lignes : LoadModule rewrite_module /usr/lib/apache/mod_rewrite.so et : AddModule mod_rewrite.c et le mod_rewrite.so se trouve bien dans le bon chemin, jusque là tout va bien. Seulement, j'ai fait un test de base dans un fichier .htaccess et là ça ne va plus du tout. le test :* Options +FollowSymlinks RewriteEngine on RewriteRule ^nexistepas.html$ trouve.html [L] Il doit certainement rappeler quelque chose à quelqu'un J'ai bien évidement créé mon fichier trouve.html, mais le problème vient bien avant, même en pointant sur mon nom de domaine j'ai une erreur 500. J'ai vu qu'il y avait un truc du genre AlloOveride All à mettre mais je en vois pas où. Donc une petite aide serait la bienvenue Merci
Siddartha Posté 28 Février 2004 Posté 28 Février 2004 Peux tu nous préciser chez qui tu as pris un dédié ? Ca peut nous aider à comprendre ton problème et le résoudre.
Dan Posté 28 Février 2004 Posté 28 Février 2004 Salut YannCo, et bienvenue à bord du Hub ! Effectivement, ca dit quelque chose à quelqu'un As-tu vérifié si le modure rewrite est bien chargé ? Dans une fenêtre telnet ou ssh ouverte sur ton dédié, lances httpd -l (L minuscule) Tu devras peut-être mettre le chemin complet pour httpd. Le plus souvent, c'est /usr/local/apache/bin/httpd . Si tu vois le mod_rewrite.c dans la liste, c'est bon signe. Ensuite, il faut t'assurer que tu peux effectivement modifier le fonctionnement du serveur à l'aide de fichier .htaccess. Mets la directive "AllowOverride all" dans la partie <directory> correspondant à ton/tes site(s) de ton fichier httpd.conf. Ca devrait fonctionner Dan
YannCo Posté 28 Février 2004 Auteur Posté 28 Février 2004 Bon ben merci Alors ça commence mal le httpd -l me donne uniquement : Compiled-in modules: http_core.c mod_so.c suexec: enabled; valid wrapper /usr/sbin/suexec Mon serveur est chez 1 & 1 schlund pris via cineteck-fr.com il est équipé de suse 8.1 avec une interface Confixx 3 pour l'administration. Je vais éssayer de trouver et m'informer où se trouve le fichier de configuration d'apche qui est utilisé par confixx. Un locate httpd.conf me donne un seul fichier. Si vous avez des idées je suis preneur
Siddartha Posté 28 Février 2004 Posté 28 Février 2004 Pas bon signe, ca veut dire que Apache n'a pas été compilé avec le module Rewrite .. Tu vas devoir passer par une recompilation d'Apache pour activer les modules. Pour ca, il faut télécharger les sources d'Apache puis ./configure --prefix="chemin_apache" \ --enable-rewrite=shared Chemin apache devant être /usr/local/apache (ou apache2 selon la version que tu veux). Il y a bien qu'un seul fichier httpd.conf Sur apache.org, tu trouveras des docs et howto pour installer tout ca trés bien détaillés.
Dan Posté 28 Février 2004 Posté 28 Février 2004 Oki, Httpd -l ne donne que les fichiers qui ont été complilés dans Apache. Tu devrais alors voir le module rewrite dans phpinfo(); Normalement, le fichier httpd.conf se trouve (install standard) dans /usr/local/apache/conf Si tu n'as pas ce répertoire, essayes /usr/apache/conf Si tu as le programme apachectl, (/usr/local/apache/bin ou /usr/apache/bin) lances un "apachectl configtest" apres toute modif de httpd.conf. Tu dois obtenir "Syntax OK" Une fois que tu as "Syntax OK", tu peux redémarrer Apache avec "apachectl restart" Dan
Dan Posté 28 Février 2004 Posté 28 Février 2004 Siddartha, Il ne devra pas recompiler parce qu'il a mod_so ... et peut donc charger les modules dynamiquement. Dan
YannCo Posté 28 Février 2004 Auteur Posté 28 Février 2004 Donc, il me manque quelque chose encore là mon fichier httpd.conf est dans etc/httpd il contient bien les lignes requises apachectl se situe dans usr/sbin Quant je le lance j'ai : NameVirtualHost 82.165.31.76:80 has no VirtualHosts Syntax OK jai fait un apachectl restart Mais il doit encore manqué un ti chose Sinon lors d'un phpinfo, j'ai éffectivement le mod_rewrite.
Dan Posté 28 Février 2004 Posté 28 Février 2004 Tu n'as pas configuré de virtualhost sur ton serveur ? Combien de domaines vas-tu héberger ? Tu devrais avoir une définition de virtualhost par domaine ... Par exemple: <VirtualHost xxx.xxx.xx.xx> ----> adresse IP du serveurServerAdmin webmaster_AT_domain.comDocumentRoot /home/domain/www ----> repertoire du siteUser domainGroup usersServerName www.domain.comServerAlias domain.comCustomLog logs/domain-access_log combined ----> logs pour le domaineScriptAlias /cgi-bin/ /home/domain/cgi-bin/</VirtualHost>
YannCo Posté 28 Février 2004 Auteur Posté 28 Février 2004 (modifié) Alors, d'après ce que j'ai compris c'est BIND qui gère tout mes domaines. J'ai un fichier domaine.bd dans /var/named/confixxdns pour chaque domaine que j'héberge. J'ai juste le nom de serveur d'informé dans apache. C'est pas simple tout ça, en tout cas pour moi Merci de l'aide Modifié 28 Février 2004 par YannCo
Dan Posté 29 Février 2004 Posté 29 Février 2004 Salut YannCo, Il ne faut pas confondre bind et Apache, ce sont deux services différents et tous deux indispensables. Bind gère les DNS en faisant les relations entre les noms de domaine de l'adresse IP du serveur. Ton serveur est plus que vraisemblablement serveur DNS primaire pour les "zones" que tu as définires (les fichiers dans /var/named/...") Apache sert les pages web... il faut donc qu'il sache quelles pages (emplacement physique des fichiers sur le disque) servir pour un domaine spécifique. C'est le rôle des "virtual hosts". Sans ceux-ci, apache ne pourrait servir que les pages de la racine (serveur par défaut). Quelle version d'Apache tournes-tu ? Et quelle version de Php ? J'ai regardé le site de confixx.de ... et c'est loin d'offrir ce que permet webmin en administration serveur. Dan
YannCo Posté 29 Février 2004 Auteur Posté 29 Février 2004 (modifié) Re tout le monde et bonne journée. Webmin, je ne connais pas, mais confixx est hyper agréable, avec surement quelques inconvénients. Ma version Apache est Apache/1.3.26 (Linux/SuSE) mod_ssl/2.8.10 OpenSSL/0.9.6g Et pour PHP 4.2.2 Niveau Virtual host sur Apache je ne vaos rien, et j'ai pourtant plusisuers domaines su le serveur Modifié 29 Février 2004 par YannCo
Dan Posté 29 Février 2004 Posté 29 Février 2004 Salut YannCo, Tu as manifestement une config non standard... As-tu par chance les fichiers srm.conf et/ou accesss.conf (au même niveau que httpd.conf) ? Sinon, voici l'explication des VirtualHost sur le site Apache (en français): http://httpd.apache.org/docs/mod/core.html#virtualhost Dan
YannCo Posté 29 Février 2004 Auteur Posté 29 Février 2004 (modifié) Salut, bon je ne perd pas espoir de faire fonctionner ce mod_rewrite. Les VirtualHost, je connai mais sous Windows à petite échelle, c'est linux et le reste que j'ai du mal et me demandai si il fonctionnai de la même manièrel, à priori oui sauf dans le cas précis de ma configuration (pas de bol). Tout ce qui est VirtualHost est commenté et est l'exemple classique fourni avec Apache #NameVirtualHost *## VirtualHost example:# Almost any Apache directive may go into a VirtualHost container.# The first VirtualHost section is used for requests without a known# server name.##<VirtualHost *># ServerAdmin webmaster_AT_dummy-host.example.com# DocumentRoot /www/docs/dummy-host.example.com# ServerName dummy-host.example.com# ErrorLog logs/dummy-host.example.com-error_log# CustomLog logs/dummy-host.example.com-access_log common#</VirtualHost>#<VirtualHost _default_:*>#</VirtualHost> J'ai bien les fichiers access et srm.conf mais ils sont vides, enfin tout est commenté. Est ce que j'ai compris ? le but est de trouver ces VirtualHost pour y mette AllowOverride All ? où j'ai encore loupé quelque chose ? Yann Modifié 29 Février 2004 par YannCo
YannCo Posté 29 Février 2004 Auteur Posté 29 Février 2004 Reglé, Alors j'explique, grâce à vos infos, j'ai compris qu'il fallait l'option : AllowOverride All dans mes VirtualHost. Les VirtualHost sont paramétrés dans un fichier spécifique de Confixx (moi je le trouve bien mais alors niveau configuration propriétaire et hors standart il est tres fort) Donc j'ai rajouté cette ligne dans mes VirtualHost, et ça marche. Encore merci pour votre aide qui m'a été tres précieuse. Yann
Guest localhost Posté 27 Mars 2004 Posté 27 Mars 2004 Salut ! Comment vous faite en cas de vhosting massif pour gerer dynamiquement suexec ? parce que avec mod_rewrite par exemple je n'ai pas trouvé de solution
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant