> For the complete documentation index, see [llms.txt](https://docs.plenit.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plenit.com/productos/servers-2/how-to/how-to-deploy-a-3cx-template.md).

# Cómo Desplegar una Plantilla 3CX en un Servidor de Plenit

3CX es una plataforma de comunicaciones unificadas y centralita (PBX) basada en Debian. En Plenit la despliegas desde el **Marketplace**, lo que agiliza la provisión inicial y deja la configuración web de 3CX lista para completarse después.

> #### 👍 Qué consigues
>
> Un servidor con 3CX desplegado desde el Marketplace y su asistente de configuración web accesible por el puerto 5015.

### Antes de empezar

* Iniciar sesión en la plataforma de Plenit.
* Tener una suscripción de **Servidores** disponible.
* Decidir qué IP pública usarás para publicar el puerto **5015** durante la configuración inicial.

> #### 📘 Dos cosas después del despliegue
>
> Cuando el servidor esté creado, abre su **consola** para habilitar el acceso remoto a la administración web y publica el **puerto 5015** en el firewall. Lo ves en el Paso 2.

### Paso 1. Despliega la plantilla 3CX

Entra en la suscripción de **Servidores** y pulsa **New server** para abrir el asistente. A partir de ahí:

1. Selecciona la **ubicación** y pulsa **Next**.
2. Elige el **tamaño** (CPU y RAM) y pulsa **Next**.
3. Abre la pestaña **Marketplace**, pulsa la imagen de **3CX**, selecciona el **idioma** y pulsa **Next**.
4. Elige el **tamaño de disco** y pulsa **Next**.
5. Configura la **red** y pulsa **Next**.
6. En la pantalla final, crea una etiqueta y una clave SSH si las necesitas, marca **Open SSH port to Access the service** solo si vas a administrar por terminal, asigna un **nombre** y pulsa **Create Server**.

> #### 📘 Dimensiona según tu entorno
>
> La recomendación mínima para 3CX es 1 CPU con 2 cores y 2 GB de RAM. Asigna más recursos si el entorno lo requiere.

Cuando arranca el despliegue, verás el servidor en estado **Loading** y una notificación de creación. Al terminar, puedes continuar con la configuración inicial de 3CX.

{/\* 📸 CAPTURA 1 · pestaña Marketplace con la imagen de 3CX y el selector de idioma \*/}

![Selección de 3CX y su idioma en el Marketplace](https://REEMPLAZA-URL/servidores-howto-3cx-01.png)

### Paso 2. Prepara el sistema 3CX

> #### 🚧 Primero la consola, luego el puerto
>
> El puerto 5015 no sirve de nada hasta que habilitas el acceso web desde la consola. Haz este paso antes de abrir el firewall.

Vuelve al frontal de Plenit y abre la **consola** del servidor. Selecciona la opción **1** para habilitar el acceso remoto a la administración web inicial. La consola te indicará que debes abrir el puerto **5015** para acceder a la aplicación.

{/\* 📸 CAPTURA 2 · consola del servidor con la opción 1 para habilitar el acceso web \*/}

![Consola de 3CX con la opción para habilitar la configuración web](https://REEMPLAZA-URL/servidores-howto-3cx-02.png)

Después, en la parte inferior de la configuración del servidor, pulsa **New entry rule** y crea una regla **NAT** (redirección entre la IP pública y la IP privada del servidor) para publicar el 5015:

* **Select network**: normalmente, déjala como está.
* **Origins**: una IP o rango de origen, o **Any IP** para permitir cualquier red.
* **Protocol**: deja el valor que muestra la plantilla.
* **Public IP**: la IP pública por la que se atiende la conexión.
* **Private IP**: la IP interna del servidor 3CX.
* **Private Port**: **5015**.

Pulsa **Continue** y comprueba que la regla aparece en el listado del firewall.

{/\* 📸 CAPTURA 3 · New entry rule (NAT) publicando el puerto 5015 \*/}

![Creación de la regla NAT para el puerto 5015 de 3CX](https://REEMPLAZA-URL/servidores-howto-3cx-03.png)

> 👍 Reduce la exposición del acceso inicial
>
> El 5015 es la puerta a la administración de tu centralita. Siempre que puedas:
>
> * Usa **Origins** con una IP o rango concreto en lugar de **Any IP**.
> * Abre el 5015 solo durante la configuración inicial y retira o restringe la regla al terminar.
> * Marca **Open SSH port** y usa clave SSH solo si de verdad vas a administrar por terminal.

### Validación

Abre en el navegador `http://IP_Publica:5015`, sustituyendo `IP_Publica` por la IP pública de la regla. Si carga, verás la pantalla **Configure your 3CX Install**, con las opciones de subir una configuración nueva o restaurar un backup, y ya puedes seguir con el asistente web.

Para confirmarlo desde terminal:

```bash
curl -I http://<IP-PUBLICA>:5015
```

### Si algo no encaja

| Síntoma                           | Causa probable                             | Qué hacer                                                      |
| --------------------------------- | ------------------------------------------ | -------------------------------------------------------------- |
| `http://IP:5015` no responde      | No habilitaste el acceso web en la consola | Abre la consola y elige la opción **1**                        |
| Sigue sin abrir                   | La regla no publica bien el 5015           | Revisa que la regla existe y que el **Private Port** es 5015   |
| Conecta a otra máquina o no llega | IPs mal asignadas en la regla              | Comprueba que **Public IP** y **Private IP** son las correctas |
| Responde a otros pero a ti no     | `Origins` te deja fuera                    | Asegúrate de que tu IP está en el rango permitido              |

<br>

### Conclusión

Con esto tienes 3CX desplegado desde el Marketplace y su asistente web listo en el 5015. La clave del proceso son dos gestos en orden: habilitar el acceso web desde la consola y, solo después, publicar el puerto. Y como se trata de una centralita, cierra o restringe ese 5015 en cuanto termines la configuración inicial: no conviene dejar la administración abierta a Internet más tiempo del necesario.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.plenit.com/productos/servers-2/how-to/how-to-deploy-a-3cx-template.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
