Como crio hosts virtuais para portas diferentes no Apache?

20

Eu quero que o apache faça isso>

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

O problema é que não sei se essas portas estão abertas no Linux (como verifico?)

E se não estiverem, como os abro no firewall e o apache escuta?

Eu tentei fazer isso

> 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

e verifiquei as portas ... parece que o httpd está escutando ... mas não sei por que não consigo acessar minha 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
fonte

Respostas:

39

Para expandir a resposta de Jeff, você precisará de algo assim na sua configuração do 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
fonte
Eu fiz exatamente isso ... mas ainda há amor
qodeninja
você pode telnetar para qualquer uma dessas portas local e / ou remotamente?
sreimer
NameVirtualHostnão tem efeito quando usado com o Apache 2.4
Vahid Amiri
NameVirtualHost parece ter um efeito para mim e estou usando o Apache 2.4: sem NameVirtualHost, "<VirtualHost *: number>" não é suficiente para impedir que o VirtualHost responda em outras portas.
26918 rsethc #
7

Etapa 1: configure o Apache para escutar em cada uma das portas que você deseja atender.

Etapa 2: definir uma configuração de host virtual para cada porta que você deseja atender.

Jeff Albert
fonte