Les apaches, cette peuplade répandue et farouche
Cela faisait quelques temps que je caressais l'idée d'avoir mon serveur sous Linux avec un serveur web correct et tout et tout. Un beau(?) jour, je décidais de sauter le pas : Adieu Windows 2000 et 2003 serveur et son lot de partages qui sautaient mystérieusement, et bonjour Nunux avec son vrai serveur web, son PHP à jour, sa base de données mignonne et son petit PHPMyAdmin sexy tout plein!
Que n'ais-je donc pas fait là! Pour des raisons de débutantisme évident, j'ai opté pour une mandrake, distro française par excellence et choix favori des entreprises passant sous Linux. J'ai donc téléchargé la mandrake 9.2 depuis le Ciril (la prochaine fois, je vais directement sonner chez eux avec ma clé USB, je gagnerai du temps!). Et là, ce fut le drame!
Le problème, c'est que mon serveur (un vaillant Athlon 800) possède une carte graphique encore plus vieille (TNT2), mais surtout, c'est qu'elle était une NVIDIA! Il existe une incompatibilité entre les drivers NVIDIA et la MDK9.2 (au moment où je l'ai installée). Donc en désespoir de cause (surtout que j'avais installé et paramétré la plupart de mes services), j'ai formaté et installé une 9.1. Allez vlan, re 10h de dl!
Cette fois ci, les drivers se sont installés (non sans mal d'ailleurs, une version plus ancienne m'a sauvé). J'ai alors reparamétré mes services, tant bien que mal, étant plutôt novice sous Nunux. Par exemple, j'ai configuré un partage samba à la main avant de découvrir webmin. Je l'aime ce programme! On pourra me taxer de gui-fanatique, mais pour débuter, je trouve que c'est carrément bien.
Nous en arrivons au coeur de tous mes problèmes, à la cause de mon contentement comme à celle de mon désespoir : Le serveur Apache
Apache, c'est le serveur web le plus utilisé au monde (70% des parts de marché) et il est gratuit! Sous mdk 9.1, tout est déjà pré-installé : Apache, PHP, MySQL (sauf PHPMyAdmin qui s'installe très bien). Mais les problèmes sont rapidement arrivés. En effet, premier point : mon serveur n'est pas directement connecté à internet. Il doit passer par mon routeur sur lequel j'ai ouvert une route (pas sur le port 80, bien évidemment, pour des raisons de discrétion évidentes). J'ai alors testé mon adresse en utilisant mon DNS dynamique. Problème, je ne peux pas tester mon serveur moi-même directement à cause de la règle du double NAT : Si vous vous trouvez derrière un routeur et que le serveur se trouve lui aussi derrière un routeur non-démilitarisé, paf, cela ne marche pas. J'ai donc commencé par embéter des connaissances sur IRC pour tester ma page, mais j'avais quelques scrupules à le faire. J'ai donc utilisé le validator du w3c (http://validator.w3.org) pour tester l'accès à mon serveur. A la racine de mon serveur, tout va bien. Dès que j'essayais de créer un site (simplement en créant un répertoire à la racine) et que j'essayais d'y accéder, j'obtenais un timeout.
En fait, à coup de logs et de tests, j'ai découvert que le format http://ipexterne:port/site ne marche pas, alors que http://ipexterne:port/site/ marchait très bien. Le problème venait du mécanisme de redirection : pour un serveur apache Nunux, http://serveur/site ouvre le fichier nommé "site" qui se trouve à la racine du serveur et non le dossier. J'ai donc édité les paramètres d'apache pour opérer une redirection automatique pour rajouter le slash manquant. Le problème est que la redirection s'opère de la manière suivante : Si une requête est envoyée comme ceci http://ipexterne:port/site, Apache va répondre avec un code 300 (redirection) avec comme paramètre http://ipinterne:port/site. Evidemment, comme j'utilise des adresses non routables, il ne risquait pas de trouver mon serveur. Il a donc fallu que je modifie un param d'Apache lui intimant l'ordre de garder l'IP de requete lors de la redirection.
Par la suite, j'ai découvert les serveurs virtuels (merci webmin), ce qui me permet d'affecter un port à chaque site (répertoire).
Voilà, c'était l'histoire de la mise en place de mon serveur Apache! J'espère ne pas vous avoir ennuyé et si vous avez aimé ça, la prochaine fois, je vous parlerai de mes problèmes de variables de sessions ou du VNC linux qui ne marche pas comme sous windows.
Bonsoir et continuez à scruter le ciel!
Ecrit par Waaagh, le Mercredi 18 Février 2004, 09:55 dans la rubrique "Informatique".
Commentaires
Un glossaire s'impose
Bebelouloute
18-02-04 à 18:16
Eh oui ô grand geek devant l'éternel ! Les petites gens comme nous ne peuvent pas comprendre toutes les subtilités sans un bon glossaire pour certains acronymes tel NVDIA, NAT, DNS (bien que là, je vois que cela à affaire aux réseaux) et autres...
Sinon, à part ça, il va faire tout noir !!
Repondre a ce commentaire
Re: Un glossaire s'impose
Waaagh
18-02-04 à 18:51
Je l'ai déjà dis, mais je le redis : ta g... ;op
Mais l'idée d'un glossaire est intéressante. Je vais poster un article dasn une nouvelle catégorie
Repondre a ce commentaire
Y'a pas qu'sous Nunux!
H-I
18-02-04 à 23:05
Le slash manquant me pose le même problème sur un apache sous Solaris (avec une redirection passant au travers d'un firewall installé sur une machine sous Unix, mais je ne sais pas lequel).
D'après l'ingénieur système et réseau, c'est dû à l'accélérateur (il appelle ça comme ça, chuis pas ingénieur réseau moi, j'suis développeur, mince, on n'a pas la science infuse -- ou le temps pour lire la doc).
Depuis ce temps, je mets toujours le slash à la fin des URL!
Repondre a ce commentaire