Configuration apache2 ubuntu

Résolu/Fermé
pixelrulez - 28 mai 2010 à 09:52
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 10 juin 2010 à 20:05
Bonjour,

J'aimerai savoir dans quel fichier se trouve la configuration de l'ip attribuée au serveur apache sur ubuntu car pour ma part l'ip par défaut est déja utilisée par un autre serveur.

Cela peut-il entrainer des conflits et faire planter mon serveur ?
Pour infos, je souhaite juste créer un réseau local avec ce nouveau serveur.

merci d'avance

A voir également:

7 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
28 mai 2010 à 10:52
Soit j'ai mal lu, soit quelque chose t'as échappé. On peut tout à fait avoir plusieurs serveurs réseaux sur une même machine (par exemple un serveur ftp, ssh, apache et nfs). Si cette machine n'a qu'une interface réseau, tous écoutent sur cette même interface réseau (à laquelle on associe une adresse IP). Toutefois, tous écoutent sur un port différent.

Un port est une valeur numérique. Traditionnellement et afin de les sous-entendre la plupart du temps, chaque serveur réseau à un numéro de port attribué, mais rien n'empêche de le personnaliser. Le mapping traditionnellement utilisé peut se retrouver dans /etc/services.

Si tu souhaites que ton serveur apache écoute sur un port autre que 80 (le port traditionnellement utilisé), il faudra le configurer dans /etc/apache2/ports.conf
http://doc.ubuntu-fr.org/apache2

Complètement indépendamment des autres serveurs réseau installé sur ta machine, tu peux dire à apache sur quelles interfaces et sur quel port écouter. Si tu souhaites par exemple qu'apache :

- écoute sur toutes les interfaces sur le port 6969 il faudra mettre

Listen 0.0.0.0:6969


- écoute uniquement sur l'interface 192.168.1.10 :

Listen 192.168.1.10:6969


Attention car si tu changes le port, il faudra le préciser dans ton navigateur :
http://localhost:6969

À mon avis c'est la que tu t'égares car je vois difficilement pourquoi tu aurais déjà un serveur réseau qui écoute sur le port 80. Du coup je ne vois pas trop l'intérêt de le changer. Une fois les modifications apportées, relance apache2 :

sudo service apache2 restart


Tu peux vérifier sur quels ports et interface et écoute ta machine avec la commande :

netstat -ntlp


Étant donné que ton serveur apache sera dans un réseau local, si tu souhaites que celui-ci soit accessible en dehors de ton réseau local, il va falloir configurer une redirection de port au niveau de ta passerelle réseau. Typiquement si ton PC est connecté à internet via une box qui se comporte comme un routeur, il va falloir configurer une redirection du port 80 vers l'IP locale de ta machine et le port que tu as choisi pour apache. La procédure dépend du routeur que tu utilises mais a priori, il y aura quelque chose à configurer à ce niveau là.

N'oublie pas que des outils comme nmap permettent de scanner les ports d'une machine et ainsi de voir si, depuis une machine qui tente de se connecter au serveur, le port est ouvert (comprendre : pas bloqué par un pare-feu ou par un oubli de redirection de port).

Bonne chance
1
Merci de ta réponse mamiemando,

Cependant je n'arrive toujours pas à résoudre mon problème que je n'ai surement pas assez détaillé.

En fait je travaille dans un collège et je dois installer un serveur web pour une salle de technologie. Aussi le réseau pédagogique de l'établissement est géré par un serveur Kwartz (squid2.5.stable9). J'ai déjà installer apache2 chez moi sans problèmes avec les configurations de bases.

Cependant quand je rentre l'adresse 127.0.0.1 ou 127.0.1.1 ca me renvoit sur la page d' accueil de kwartz et quand j'essaye avec http://localhost j'ai une erreur 403.

J'ai donc changer les ports d apache pour vérifier mais quand je lance l'adresse 127.0.0.1:8081 ou l'autre j'ai un message d'erreur de kwartz qui me dit "url n'a pas pu être chargée .... (111) connection refused ..."

J'ai bien effectué les modifs dans ports.conf et dans defauts de server-available pour écouter sur un autre port.
J'ai aussi lancé un netstat -ntlp et apparement mon port 8081 fonctionne aprés je ne sais pas vraiment si je dois ouvrir les ports sur le routeur vu que je ne veux me servir du serveur qu'en local.
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
30 mai 2010 à 21:33
Est ce que le serveur kwartz est sur la même machine que le serveur apache ? Car a priori apache devrait écouter sur toutes les interfaces (au moins celle à laquelle il est connecté au réseau) et non pas seulement 127.0.0.1 ou 127.0.1.1.

Ainsi il devrait plutôt écouter sur 0.0.0.0:8081 (n'importe quelle interface sur le port 8081).

La première chose à faire c'est tester depuis cette machine si tu parviens à afficher la page. Ensuite depuis une autre machine et ainsi de suite.
1
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
31 mai 2010 à 21:22
Concrètement sur la machine qui héberge le serveur apache, si tu lances un navigateur lancé depuis cette machine, parviens-tu à afficher tes pages ?

w3m localhost


As-tu vérifié qu'apache écoutait sur 0.0.0.0:80 ?

netstat -ntlp


As-tu vérifié les droits associés à tes pages ? En admettant qu'elle soit dans /var/www/htdocs :

ls -l /var/www/htdocs


La première étape c'est au moins de s'assurer que depuis le serveur apache tu parviens à te connecter à ta page. Après on pourra commencer à négocier depuis une autre machine.
1
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
28 mai 2010 à 11:05
Zut Mamie a répondu avant moi :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Non, le serveur apache et le serveur kwartz sont sur 2 machines différentes.

J'ai ouvert un port tcp 8081 sur le serveur kwartz (cela ne fonctionne toujours pas) mais comme je ne souhaite utiliser mon serveur apache qu'en local ( des sites de technologie ) il ne me semblait pas nécessaire de le faire.

Je n'arrive donc toujours pas à ouvrir ma page en local. Dans le message d'erreur que me renvoie kwartz quand j'ouvre un page avec le port 8081 j'ai :

la connexion a échoué

le système a retourné :

(111) connection refused

Veuillez controler :

- votre connexion internet est configuré.
- votre connexion internet est active.
- votre serveur a accès aux services web en sortie ( pare feu ).
- le planning de connexion autorise la liaison.

Quand j'ai dit que j'avais essayé avec les ip 127.0.0.1 et 127.0.1.1 c'était pour tester seulement avec ces adresses j'aurai pu bien entendu en utiliser d'autres :)
0
bon je remet ce poste un peu tardivement mais il s'agissait simplement de la configuration du proxy de mon explorateur merci pour les réponses ça m'a quand même permit de mieux comprendre le fonctionnement de ubuntu.
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié par mamiemando le 10/06/2010 à 20:06
Via des variables d'environnement

Concrètement une application lancée depuis terminal est capable bien souvent de s'appuyer sur des variables d'environnement (http_proxy, ftp_proxy ...). On peut par exemple les initialiser grâce à /etc/bash.bashrc ou dans ~/.bahsrc, ou directement en ligne de commande.

Une application graphique lancée depuis un shell ainsi configuré devrait également en tirer parti.

La syntaxe de ces variables permet de préciser le login, le port (généralement 8080), et le passage de mot de passe (quand c'est nécessaire). Voici typiquement le genre de ligne qu'on taperait dans une console où dans l'un de ces fichiers de configuration:

export http_proxy="http://login:password@mon_proxy:port" 
export https_proxy="http://login:password@mon_proxy:port" 
export ftp_proxy="http://login:password@mon_proxy:port"


(à adapter en fonction du nom ou de l'IP du proxy, du port utilisé, de ton login et de ton mot de passe si besoin). Exemple :

export http_proxy="http:/mando:p4ssw0rd@mon.proxy.fr:8080"


Très souvent il suffit d'écrire :

export http_proxy="http://mon_proxy" 
export https_proxy="http://mon_proxy" 
export ftp_proxy="http://mon_proxy"


Qui dit authentification dit stockage sécurisé du mot de passe, il faut donc éviter de faire figurer un mot de passe dans un fichier accessible de tous (d'où l'idée de plutôt initialiser ces variables dans ~/.bashrc et d'en restreindre l'accès). Si le proxy ne requiert aucune authentification par contre, pas de problème pour le configurer dans /etc/bash.bashrc.

Note que les proxies http, https et ftp peuvent différer.

Via la configuration propre à l'application

Pour les applications en mode texte

En général le proxy peut être configuré au niveau de l'application typiquement dans un fichier de configuration (par exemple dans /etc/apt/apt.conf.d/proxy par exemple pour le gestionnaire de paquets).
http://web.archive.org/web/*/https://debian-administration.org/article/177/Modifying_APT_logging_and_proxy_server_usage

Ceci permet de faire fonctionner le logiciel (typiquement un logiciel en mode texte) y compris si ces variables d'environnement n'ont pas été configurées.

Pour les applications graphiques

Cela dépend.

Mozilla thunderbird et firefox utilisent leur propre interface pour le configurer. Par exemple pour firefox : édition, préférences, avancé, réseau, paramètres.

Les applications KDE s'appuient sur le proxy (serveur mandataire) configuré dans le centre de configuration KDE (systemsettings sous KDE4). J'imagine qu'il en est de même pour les applications gnome.
Pour l
Bonne chance
0