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:
- cPanel.
- DirectAdmin.
- Vesta.
- Webmin.
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.
22: SSH (TCP)80: HTTP (TCP)443: HTTPS (TCP)- ICMP
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 pasivo20: FTP (TCP) - Puerto de datos en el modo activo49152 - 65535: Rango de puertos dinámicos para el modo pasivo (TCP)
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)
Si va a utilizar Webhooks de GitHub para hacer
pulls y despliegues automáticos en Plesk, es necesario
abrir el puerto:
8443: (TCP)
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:
- Nombre de la instancia:
plesk. - Imagen (AMI): Última versión disponible de Ubuntu Server.
- Arquitectura:
x86. - Tipo de instancia:
t2.medium(2 vCPUs, 4 GB de RAM). - Par de claves:
vockey. - Grupo de seguridad: Crear un grupo de seguridad para plesk.
- Almacenamiento: 30 GB de disco EBS.
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:
- Descargue el script de instalación desatendida de Plesk.
wget https://autoinstall.plesk.com/plesk-installer- Le asignamos permisos de ejecución al script.
chmod +x plesk-installer - Ejecutamos el script de instalación.
./plesk-installer install pleskEl 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:
- Correo electrónico del administrador.
- Contraseña del usuario
admin. - Licencia. En nuestro seleccionaremos la licencia de prueba que cuenta con todas las opciones disponibles durante un período de 15 días.
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 loginSolució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.
Crea una instancia (máquina virtual) en OpenStack.
La imagen que vamos a utilizar en esta práctica será
plesk-ubuntu-22-18.0.56que está basada Ubuntu Server.Seleccione el flavor
m1.largecon 4 vCPUs, 4 GB de RAM y 20 GB de disco.Configure el grupo de seguridad para configurar los puertos que estarán abiertos para poder conectarnos por
SSHy para poder acceder porHTTP/HTTPS. También se recomienda crear una regla para permitir el tráficoICMPpara poder hacerlepinga la instancia.22: SSH (TCP)80: HTTP (TCP)443: HTTPS (TCP)- ICMP
Si vamos a conectarnos por
FTPal servidor, es necesario abrir los puertos20Y21. Plesk utiliza por defecto el modo activo para las conexionesFTPpero si queremos configurar el modo pasivo, es necesario abrir un rango de puertos.21: FTP (TCP) - Puerto de control en los modos activo y pasivo20: FTP (TCP) - Puerto de datos en el modo activo49152 - 65535: Rango de puertos dinámicos para el modo pasivo (TCP)
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)
Si va a utilizar
Webhooksde GitHub para hacerpullsy despliegues automáticos en Plesk, es necesario abrir el puerto:8443: (TCP)
Crea un par de claves (pública y privada) para conectar por SSH con su instancia.
Crea una dirección IP flotante y asígnala a la instancia.
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.
Acceda al panel de control web de OpenStack.
Seleccione la instancia y acceda a la pestaña
Console.Reinicie la instancia pulsando sobre el texto
Send CtrlAltDel.Pulse la tecla
Shiftpara que aparezca el menú de arranque.Seleccione
Advanced options for Ubuntu.Seleccione
Ubuntu, with Linux 5.15.0-88-generic (recovery mode).Seleccione
root - Drop to root shell prompt.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 /Modifique la contraseña del usuario
root:passwd rootReinicie 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_FLOTANTEPara acceder al panel de administración web puede utilizar el usuario
root y la contraseña que ha configurado en el paso
anterior.
Referencia:
- Logging in to the Created Virtual Machine. Documentación oficial de Plesk.
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:
- Gestionar las entradas DNS locales en su sistema operativo en el
archivo
/etc/hosts. - Gestionar los dominios con algún proveedor de dominios gratuitos, como No-IP.
- Gestionar los dominios con el DNS wildcard que nos proporciona el servicio nip.io.
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/hostsTendrá 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.celiaTenga 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.celiaWindows
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\hosts1.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.