Práctica Plesk

Despliegue de Aplicaciones Web

Curso 2025/2026



1 Despliegue de aplicaciones web con Plesk

En esta práctica tendrá que realizar el despliegue de varias aplicaciones web LAMP en un servidor con el software Plesk. El servidor Plesk estará ejecutándose en una instancia de OpenStack del cloud privado del instituto, con la última versión de Ubuntu Server.

1.1 ¿Qué es Plesk?

Plesk es una plataforma software de hosting que permite alojar y administrar sus aplicaciones web en un servidor virtual privado (VPS), en un servidor dedicado o en un servidor de un proveedor de servicios cloud.

Existen diferentes alternativas de paneles de control para gestionar sitios webs, algunas de ellas son:

1.2 AWS

1.2.1 Creación de un grupo de seguridad en AWS

En primer lugar vamos a crear un grupo de seguirdad llamado: sg_plesk.

A continuación, se describen las reglas de entrada y salida que tendrá que configurar en este grupo.

Reglas de entrada

Deberá configurar los puertos que estarán abiertos para poder conectarnos por SSH y para poder acceder por HTTP/HTTPS. También se recomienda crear una regla para permitir el tráfico ICMP para poder hacerle ping a la instancia.

Si vamos a conectarnos por FTP al servidor, es necesario abrir los puertos 20 Y 21. Plesk utiliza por defecto el modo activo para las conexiones FTP pero si queremos configurar el modo pasivo, es necesario abrir un rango de puertos.

Si vamos a configurar el servidor de correo electrónico, es necesario abrir los puertos de los protocolos de correo saliente (SMTP) y correo entrante (IMAP y POP3).

Si va a utilizar Webhooks de GitHub para hacer pulls y despliegues automáticos en Plesk, es necesario abrir el puerto:

Reglas de salida

Como reglas de salida tendremos una única regla donde vamos a permitir todo el tráfico de salida para cualquier dirección IP destino (0.0.0.0/0).

1.2.2 Creación de una instancia EC2 en AWS

Las características de la instancia EC2 que vamos a crear son las siguientes:

1.2.3 Creación de una IP elástica en AWS

Una vez que haya creado la instancia EC2, tendrá que crear una dirección IP elástica y asociarla a la instancia.

1.2.4 Instalación de Plesk en una instancia EC2 de AWS

Una vez que haya creado la instancia EC2, tendrá que conectarse a ella por SSH y realizar la instalación de Plesk.

Existen varias formas de instalar Plesk en un servidor, pero en esta práctica vamos a utilizar el script de instalación en modo desatendido que proporciona Plesk. En la documentación oficial de Plesk puede encontrar un artículo titulado: Installing Plesk for Linux in Unattended Mode, con la descripción detallada.

Pasos para realizar la instalación desatendida de Plesk

Como root o con un usuario con permisos de sudo, ejecute los siguientes comandos:

  1. Descargue el script de instalación desatendida de Plesk.
wget https://autoinstall.plesk.com/plesk-installer
  1. Le asignamos permisos de ejecución al script.
chmod +x plesk-installer 
  1. Ejecutamos el script de instalación.
./plesk-installer install plesk

El proceso de instalación puede tardar unos 10 minutos. Una vez que finalice el proceso de instalación le aparecerá un mensaje similar a este:

Congratulations!

The installation has been finished. Plesk is now running on your server.

To complete the configuration process, browse either of URLs:
   * https://frosty-antonelli.54-90-74-86.plesk.page/login?secret=rNECTAYl7gCSNhDCraxGuQD_ANbwMIeAP7JLtkUymSTChS5_
   * https://54.90.74.86/login?secret=rNECTAYl7gCSNhDCraxGuQD_ANbwMIeAP7JLtkUymSTChS5_

Use the username 'admin' to log in. To log in as 'admin', use the 'plesk login' command.
You can also log in as 'root' using your 'root' password.

Use the 'plesk' command to manage the server. Run 'plesk help' for more info.

Use the following commands to start and stop the Plesk web interface:
'systemctl start psa.service' and 'systemctl stop psa.service' respectively.

If you would like to migrate your subscriptions from other hosting panel
or older Plesk version to this server, please check out our assistance
options: https://www.plesk.com/professional-services/

Para completar el proceso de instalación habrá que acceder a una de las URLs que aparecen en el mensaje anterior. Cuando acceda le aparecerá un formulario donde puede configurar los siguientes parámetros:

Imagen: Formulario para completar el proceso de instalación de Plesk.

Imagen: Formulario para completar el proceso de instalación de Plesk.

1.2.5 ¿Cómo recuperar el password del usuario admin de Plek?

Si no recuerda la contraseña del usuario admin de Plesk, puede recuperarla accediendo por SSH a la instancia y ejecutando algunos de los siguientes comandos como root.

Solución 1

Este comando nos devolverá una URL para acceder a Plesk.

# plesk login

Solución 2

Este comando nos permite cambiar la contraseña del usuario admin. Tendrá que sustituir la cadena your_new_password por la nueva contraseña que quiera configuar.

# export PSA_PASSWORD=your_new_password && plesk bin admin --set-admin-password -passwd "$PSA_PASSWORD"

Referencia

1.3 OpenStack

1.3.1 Instalación de Plesk en OpenStack

A continuación se describen muy brevemente algunas de las tareas que tendrá que realizar para instalar Plesk en el OpenStack del instituto.

  1. Crea una instancia (máquina virtual) en OpenStack.

  2. La imagen que vamos a utilizar en esta práctica será plesk-ubuntu-22-18.0.56 que está basada Ubuntu Server.

  3. Seleccione el flavor m1.large con 4 vCPUs, 4 GB de RAM y 20 GB de disco.

  4. Configure el grupo de seguridad para configurar los puertos que estarán abiertos para poder conectarnos por SSH y para poder acceder por HTTP/HTTPS. También se recomienda crear una regla para permitir el tráfico ICMP para poder hacerle ping a la instancia.

    • 22: SSH (TCP)
    • 80: HTTP (TCP)
    • 443: HTTPS (TCP)
    • ICMP
  5. Si vamos a conectarnos por FTP al servidor, es necesario abrir los puertos 20 Y 21. Plesk utiliza por defecto el modo activo para las conexiones FTP pero si queremos configurar el modo pasivo, es necesario abrir un rango de puertos.

    • 21: FTP (TCP) - Puerto de control en los modos activo y pasivo
    • 20: FTP (TCP) - Puerto de datos en el modo activo
    • 49152 - 65535: Rango de puertos dinámicos para el modo pasivo (TCP)
  6. Si vamos a configurar el servidor de correo electrónico, es necesario abrir los puertos de los protocolos de correo saliente (SMTP) y correo entrante (IMAP y POP3).

    • 25: SMTP (TCP)
    • 465: SMTPS (TCP)
    • 143: IMAP (TCP)
    • 993: IMAPS (TCP)
    • 110: POP3 (TCP)
    • 995: POP3S (TCP)
  7. Si va a utilizar Webhooks de GitHub para hacer pulls y despliegues automáticos en Plesk, es necesario abrir el puerto:

    • 8443: (TCP)
  8. Crea un par de claves (pública y privada) para conectar por SSH con su instancia.

  9. Crea una dirección IP flotante y asígnala a la instancia.

  10. Busque cuál es la dirección IP flotante de su instancia y compruebe que puede acceder a ella desde una navegador web.

1.3.2 Acceso al panel de administración de Plesk

Las máquinas virtuales creadas a partir de una imagen de tipo QCOW2 no tienen preconfigurada una contraseña para el usuario root. Por lo tanto, para acceder al panel de administración web de Plesk es necesario iniciar la máquina virtual en modo de recuperación y modificar la contraseña del usuario root.

  1. Acceda al panel de control web de OpenStack.

  2. Seleccione la instancia y acceda a la pestaña Console.

  3. Reinicie la instancia pulsando sobre el texto Send CtrlAltDel.

  4. Pulse la tecla Shift para que aparezca el menú de arranque.

  5. Seleccione Advanced options for Ubuntu.

  6. Seleccione Ubuntu, with Linux 5.15.0-88-generic (recovery mode).

  7. Seleccione root - Drop to root shell prompt.

  8. La partición raíz se monta en modo de solo lectura. Para montarla en modo de lectura y escritura, introduzca el comando:

    mount -o remount,rw /
  9. Modifique la contraseña del usuario root:

    passwd root
  10. Reinicie la máquina virtual:

    reboot

Una vez realizados estos pasos podrá acceder al panel de administración web de Plesk accediendo por HTTPS, a través de un nombre de dominio o de la dirección IP flotante de la máquina.

https://IP_FLOTANTE

Para acceder al panel de administración web puede utilizar el usuario root y la contraseña que ha configurado en el paso anterior.

Referencia:

1.4 Gestión de dominios y subdominios en Plesk

En esta práctica tendrá que crear dominios y subdominios en el panel de Plesk para desplegar varias aplicaciones web.

Se proponen dos soluciones para la creación de los dominios:

Se recomienda la lectura de la documentación oficial de Plesk para aprender a realizar estas tareas.

1.4.1 Configuración de entradas DNS locales en su sistema operativo

En este caso, los dominios y subdominios propuestos son los siguientes:

Dominio Descripción
web.celia En este dominio realizará el despliegue utilizando la subida de archivos desde el panel de control de Plesk.
wordpress.web.celia En este subdominio realizará el despliegue de un sitio web WordPress utilizando el instalador de aplicaciones web de Plesk.
git.web.celia En este subdominio realizará el despliegue utilizando un repositorio privado de Git que esté alojado en GitHub.
ftp.web.celia En este subdominio realizará el despliegue de una aplicación web subiendo los archivos a Plesk por FTP.
laravel.web.celia En este subdominio realizará el despliegue de una aplicación web Laravel.

Para poder acceder a los dominios y subdominios que ha creado en el panel de Plesk, vamos a configurar las entradas DNS locales en su sistema operativo para que pueda acceder a ellos desde su navegador web.

Linux

Si su sistema operativo está basado en Linux, tendrá que editar el archivo:

/etc/hosts

Tendrá que editar el archivo como root y añadir los dominios que ha dado de alta en Plesk para que apunten a la dirección IP flotante de la instancia de OpenStack.

Ejemplo:

IP_FLOTANTE_PLESK web.celia
IP_FLOTANTE_PLESK git.web.celia
IP_FLOTANTE_PLESK ftp.web.celia
IP_FLOTANTE_PLESK wordpress.web.celia

Tenga en cuenta que tendrá que sustituir IP_FLOTANTE_PLESK por la dirección IP flotante de su instancia. Por ejemplo, si la IP flotante fuese 172.16.14.199 el archivo quedaría así.

172.16.14.199 web.celia
172.16.14.199 git.web.celia
172.16.14.199 ftp.web.celia
172.16.14.199 wordpress.web.celia

Windows

En el sistema operativo Windows tendrá que realizar los mismos pasos pero el archivo de configuración se encuentra en la ruta:

C:\Windows\System32\drivers\etc\hosts

1.4.2 Gestionar los dominios con algún proveedor de dominios gratuitos

En este caso puede utilizar el proveedor de dominios gratuitos No-IP. Tenga en cuenta que con la versión gratuita sólo podrá crear un dominio asociado a una dirección de correo electrónico, por lo tanto, tendrá que utilizar varias cuentas de correo.

Para evitar tener que gestionar varias cuentas de correo, se propone utilizar la siguiente solución que aparece en esta guía.

1.4.3 Gestionar los dominios con el DNS wildcard del servicio nip.io

El servicio nip.io permite gestionar dominios DNS wildcard de una forma muy sencilla, sin tener que registrarnos en ningún sitio. Este servicio mapea una dirección IP a un nombre de dominio utilizando dos formatos:

Formato sin nombre

Dominio Descripción
10.0.0.1.nip.io En este dominio resuelve la dirección IP 10.0.0.1.
10-0-0-1.nip.io En este dominio resuelve la dirección IP 10.0.0.1.

Formato con nombre

Dominio Descripción
wordpress.10.0.0.1.nip.io En este dominio resuelve la dirección IP 10.0.0.1.
wordpress.10-0-0-1.nip.io En este dominio resuelve la dirección IP 10.0.0.1.

En este caso, los dominios y subdominios propuestos son los siguientes:

Dominio Descripción
IP_ELÁSTICA.nip.io En este dominio realizará el despliegue utilizando la subida de archivos desde el panel de control de Plesk.
wordpress.IP_ELÁSTICA.nip.io En este subdominio realizará el despliegue de un sitio web WordPress utilizando el instalador de aplicaciones web de Plesk.
git.IP_ELÁSTICA.nip.io En este subdominio realizará el despliegue utilizando un repositorio privado de Git que esté alojado en GitHub.
ftp.IP_ELÁSTICA.nip.io En este subdominio realizará el despliegue de una aplicación web subiendo los archivos a Plesk por FTP.

1.5 Despliegue de una aplicación subiendo los archivos desde el panel de control

En este ejemplo vamos a dar de alta un dominio con el siguiente formato:

IP_ESLÁSTICA.nip.io

Por ejemplo, si la IP elástica fuera 35.153.48.26 el dominio sería:

35.153.48.26.nip.io

Paso 1. Seleccionamos la opción Websites & Domains y hacemos clic en el botón Add Domain.

Paso 2. Para indicar que vamos a desplegar un sitio web subiendo los archivos desde nuestra máquina local, seleccionamos la opción Upload files.

Paso 3. Indicamos el nombre del dominio que quereos añadir. Tenga en cuenta que Plesk añadirá automáticamente el prefijo www.

Paso 4. Si queremos que los usuarios sean redirigidos automáticamente al dominion sin www, accedemos a la sección Hosting & DNS y seleccionamos la opción Hosting.

Paso 5. En el desplegable que aparece en la opción Preferred domain seleccionamos cuál será nuestro dominio preferido.

Paso 6. Para subir los archivos de la aplicación web seleccionamos la opción Get Started y dentro de esta sección seleccionamos la opción Upload Files.

Paso 7. Nos aparecerá el arbol de directorios del servidor y dentro del directorio httpdocs subiremos los archivos de la aplicación web.

Paso 8. Para subir nuevos archivos pinchamos sobre el botón con el icono del + y nos aparecerá un menú con varias opciones.

Paso 9. Una vez que hayamos subido nuestros archivos, accederemos desde otra pestaña del navegador al dominio que hemos dado de alta en Plesk.

Paso 10. Podemos observar que nuestro sitio sólo está disponible por HTTP. Vamos a solucionarlo solicitando un certificado SSL gratuito a Let’s Encrypt.

Selecionamos en el menú de la izquierda la opción Websites & Domains y en la sección Dashboard seleccionamos la opción SSL/TLS Certificates.

Paso 11. Seleccionamos la opción Install a free basic certificate provided by Let's Encrypt.

Paso 12. Indicamos que vamos a solicitar un certificado para nuestro dominio.

Paso 13. Una vez que haya finalizado el proceso de instalación del certificado, podemos acceder a nuestro sitio web por HTTPS.