apache http serverHola a tots, aquest cop he tornat per una cosa que encara que simple, no ho vull deixar passar. Si hi ha conflicte amb el port d'escolta, per què altra aplicació l'està utilitzant també, per exemple si tens dos servidors Web al darrere de la mateixa IP pública, per seguretat (seguretat per foscor), o simplement perquè t'abelleix; canviar els ports per on escolta el Servidor Apatxe, és una tasca realment senzilla.

 

Adreces IP i ports d'escolta

Quan Apache s'inicia, comença a esperar peticions entrants en determinats ports i adreces de la màquina en la qual s'està executant. No obstant això, si vol que Apache escolte només en determinats ports específics, o només en determinades direccions, o en una combinació d'ambdós, ha d'especificar-ho adequadament. Això pot a més combinar-ho amb la possibilitat d'usar hosts virtuals (Virtual Hosts), funcionalitat amb la qual un servidor Apache pot respondre peticions en diferents adreces IP, diferents noms de hosts i diferents ports.

La directiva Listen indica al servidor que accepte peticions entrants només en els ports i en les combinacions de ports i adreces que s'especifiquen. Si només s'especifica un número de port en la directiva Listen, el servidor escoltarà en aquest port, a totes les interfícies de xarxa de la màquina. Si s'especifica una adreça IP i un port, el servidor escoltarà només en la interfície de xarxa a la qual pertanya aquesta adreça IP i només en el port indicat. Es poden utilitzar diverses directives Listen per especificar diverses adreces IP i ports d'escolta. El servidor respondrà a les peticions de totes les adreces i ports que s'incloguen.

Per exemple, per fer que el servidor accepte connexions tant al port 80 com al port 8080, podeu fer ús de:

Listen 80
Listen 8080

Per fer que el servidor accepte connexions en dues interfícies de xarxa (per exemple 192.170.2.1 i 192.170.2.5) i ports específics (per exemple 808080), utilitzeu:

Listen 192.170.2.1:80
Listen 192.170.2.5:8080

Les adreces IPv6 han d'escriure entre claudàtors, com en el següent exemple:

Listen [2001: DB8 :: A00: 20ff: fea7: CCEA]: 80

 

Com funciona aquest mecanisme als Virtual Hosts

Listen no implementa els Virtual Hosts. Només li diu al servidor principal en quines direccions i ports ha d'escoltar. Si no s'usen directives <VirtualHost>, el servidor es comporta de la mateixa manera amb totes les peticions que s'accepten. No obstant això, <VirtualHost> es pot utilitzar per especificar un comportament diferent en una o diverses adreces i ports.

Per implementar un host virtual, cal indicar primer al servidor que escolte en aquelles adreces i ports a utilitzar. Llavors s'ha de crear una secció <VirtualHost> en una direcció i port específics per determinar el comportament d'aquest host virtual.

Nota: Tingueu en compte que si s'especifica en una secció <VirtualHost> una adreça i port en què el servidor no està escoltant, no podrà accedir a aquest Virtual Hosts.

 

Com canviar el port del Servidor Apache

Bé doncs, per modificar els ports a apatxe, obre el fitxer etc/apache2 /ports.conf, pots fer-ho amb l'editor: VI, nano, etc:

~# nano /etc/apache2/ports.conf

Busca la línia amb la directiva, Listen 80 i canvia 80 pel port que vulgues, després guarda els canvis:

Listen 8080

Si no utilitzes multidomini, perquè els canvis tinguen efecte tan sols et queda, reiniciar el servei Apache, reinicia Apache per implementar els canvis. Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:

systemctl restart apache2

 Si utilitzem MultiDomini

Si allotgem diversos dominis en un mateix servidor, hem de canviar també la declaració del <VirtualHost> del lloc o llocs que escoltaran per aquest port.
Per canviar el port del lloc que per defecte habilita Apache, editem l'arxiu 'etc/apache2/sites-available/el_meu_lloc_web.conf', per exemple:

nano /etc/apache2/sites-available/servidorsroig.sytes.net.conf

<VirtualHost *:80>
    ServerAdmin admin@servidorsroig.sytes.net
    ServerName servidorsroig.sytes.net
    ServerAlias www.servidorsroig.sytes.net
    DocumentRoot /var/www/servidorsroig.sytes.net/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Cerca <VirtualHost *: 80> i canvia el valor 80 pel port desitjat.:

<VirtualHost *:8080>
    ServerAdmin admin@servidorsroig.sytes.net
    .  .  .  .  .  .
</VirtualHost>

Per fer que el lloc (Virtual Host), accepte connexions tant al port 80 com al port 8080, podeu fer ús de:

<VirtualHost *:80 *:8080>
    ServerAdmin admin@servidorsroig.sytes.net
    .  .  .  .  .  .
</VirtualHost>

Perquè els canvis tinguen efecte tant sol et queda, reiniciar el servei Apache:

systemctl restart apache2

 Per accedir a un lloc on hem modificat el port, haurem d'afegir el número del port a l'adreça (http://ip_o_nom_del_domini:port), en aquest cas:

http://servidorsroig.sytes.net:8080

 

Font: http://www.apache.org/

apache http