Comment créer des hôtes virtuels pour différents ports sur Apache?

20

Je veux qu'Apache fasse ça>

mydomain.com:80  --- opens var/www1
mydomain.com:81  --- opens var/ww2
mydomain.com:82  --- opens var/www3

Le problème est que je ne sais pas si ces ports sont ouverts sous Linux (comment vérifier?)

Et si ce n'est pas le cas, comment puis-je les ouvrir dans le pare-feu et obtenir apache pour les écouter?

J'ai essayé de faire ça

> iptables -A RH-Firewall-1-INPUT -m  NEW -m tcp -p tcp –dport 81 -j ACCEPT
iptables v1.3.5: Couldn't load match `NEW':/lib64/iptables/libipt_NEW.so: cannot open shared object file: No such file or directory

et j'ai vérifié les ports ... on dirait que httpd écoute ... mais je ne sais pas pourquoi je ne peux pas frapper mon URL

> netstat -tulpn | less
tcp        0      0 :::80       :::*      LISTEN      6840/httpd
tcp        0      0 :::81       :::*      LISTEN      6840/httpd
tcp        0      0 :::82       :::*      LISTEN      6840/httpd
qodeninja
la source

Réponses:

39

Pour développer la réponse de Jeff, vous aurez besoin de quelque chose comme ça dans votre configuration apache

Listen 80
Listen 81
Listen 82

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www1
ServerName www.example1.com
</VirtualHost>

NameVirtualHost *:81
<VirtualHost *:81>
DocumentRoot /var/www2
ServerName www.example2.org
</VirtualHost>


NameVirtualHost *:82
<VirtualHost *:82>
DocumentRoot /var/www3
ServerName www.example3.org
</VirtualHost>
sreimer
la source
J'ai fait exactement ça ... mais toujours pas d'amour
qodeninja
pouvez-vous telnet à l'un de ces ports localement et / ou à distance?
sreimer
NameVirtualHostn'a aucun effet lorsqu'il est utilisé avec Apache 2.4
Vahid Amiri
NameVirtualHost semble avoir un effet pour moi, et j'utilise Apache 2.4: sans NameVirtualHost, "<VirtualHost *: number>" n'est pas suffisant pour empêcher VirtualHost de répondre sur d'autres ports.
rsethc
7

Étape 1: configurer Apache pour écouter sur chacun des ports que vous souhaitez desservir.

Étape 2: définissez une configuration d' hôte virtuel pour chaque port que vous souhaitez desservir.

Jeff Albert
la source