Ver destacados

Cómo cambiar puerto HTTP Apache en Linux

Te enseñamos cómo puedes cambiar un puerto HTTP en Apache de Linux.
Escrito por
108.7K Visitas  |  Publicado mar 05 2018 19:40
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Apache HTTP es uno de los servidores web más usados en Internet por sus diversas características dentro de las cuales destacamos flexibilidad, estabilidad y muchas más.

 

Por defecto, el servidor web Apache toma instrucciones para escuchar la conexión entrante y vincularse al puerto 80 del equipo., en caso de usar una configuración TLS, el servidor escuchará las conexiones seguras en el puerto 443.

 

Si el objetivo es que el servidor web Apache enlace y escuche el tráfico web en otros puertos además de los puertos web estándar, será necesario que agreguemos una nueva instrucción donde se incluirá el nuevo puerto de escucha.

 

 

Cómo modificar puerto HTTP de servidor Apache en Linux

 

Paso 1

En distribuciones basadas en Debian o Ubuntu, el archivo de configuración a editar es el archivo /etc/apache2/ports.conf y en las distribuciones basadas en RHEL o CentOS editaremos el archivo /etc/httpd/conf/httpd.conf.
nano /etc/apache2/ports.conf  (Debian/Ubuntu)
nano /etc/httpd/conf/httpd.conf (RHEL/CentOS)
Paso 2

Para este caso usaremos Ubuntu 17. Al acceder a este archivo veremos lo siguiente:

 

 

 

Paso 3

Como vemos, el valor por defecto en la línea LISTEN es el puerto 80. Para este tutorial, configuraremos el servidor Apache HTTP para que escuche las conexiones en el puerto 8081 del equipo, por lo tanto, añadiremos la línea "LISTEN 8081" justo bajo la línea del puerto 80:

 

 

Paso 4

Guardamos los cambios usando la combinación de teclas siguiente:

 

Ctrl + O

 

Salimos del editor usando:

 

Ctrl + X

 

Paso 4

Después de agregar la línea indicada, será necesario crear o modificar un host virtual Apache en las distribuciones basada en Debian o Ubuntu para iniciar el proceso de enlace, el cual será de ayuda para los requisitos de vhost.

 

En el caso de las distribuciones basadas en CentOS o RHEL, el cambio se aplica directamente en el host virtual predeterminado.

 

En este caso, abriremos y editaremos el archivo 000-default.conf y allí cambiaremos el puerto a 8081 de la siguiente forma:

nano /etc/apache2/sites-enabled/000-default.conf

 

Paso 5

Establecemos el puerto 8081 en la línea “VirtualHost”, guardamos los cambios y salimos del editor.

 

Por último, vamos a aplicar los cambios y permitir que Apache se vincule con el nuevo puerto, para ello vamos a reiniciar el daemon y verificar la tabla de sockets de red local usando el comando netstat o ss. El puerto 8081 para escuchar debe mostrarse en la tabla de red del servidor según lo hemos definido anteriormente, vamos a ejecutar lo siguiente:

systemctl restart apache2
netstat -tlpn| grep apache
ss -tlpn| grep apache

 

Paso 6

Ahora, para comprobar que la conexión es correcta, accederemos desde algún navegador usando la siguiente sintaxis:
http://Direccion_IP:8081

 

Paso 7

En las distribuciones de Linux basada en CentOS / RHEL, vamos a instalar el paquete policycoreutils para agregar las reglas de SELinux requeridas para que Apache se pueda vincular con el nuevo puerto y reiniciar el servidor Apache HTTP para aplicar los cambios. Ejecutamos lo siguiente:
yum install policycoreutils

 

 

Paso 8

Allí ingresamos la letra y para confirmar la descarga e instalación. Luego, agregaremos las reglas de SELinux para el puerto 8081:
semanage port -a -t http_port_t -p tcp 8081
semanage port -m -t http_port_t -p tcp 8081

 

Nota
En caso de presentar algún error con semanage, debemos instalar lo siguiente:
yum install policycoreutils-python

 

Paso 9

Ahora, procedemos a resetear el servicio de Apache:
systemctl restart httpd.service
Paso 10

Luego, vamos a ejecutar el comando netstat o ss para verificar si el nuevo puerto se une de forma correcta y escucha el tráfico entrante, ejecutaremos alguna de las siguientes líneas:
netstat -tlpn| grep httpd
ss -tlpn| grep httpd

 

Paso 11

Al igual que Ubuntu, podremos ir al navegador e ingresar usando la siguiente sintaxis:
http://Direccion_IP:8081
Con este método, podremos modificar el puerto por defecto de Apache en Linux.

 

Aquí tienes la forma de comprobar los puertos abiertos o cerrados con comandos en sistemas Linux (Ubuntu, Debian, Fedora y CentOS).

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!