# Poner en línea un sitio o una aplicación

Su VPS Ultra tiene su propia dirección IPv4 y su dirección IPv6: sus dominios apuntan directamente a ellas, y su servidor recibe el tráfico en todos los puertos que usted abra. Sirve tantos sitios y dominios como desee.

## 1. Apuntar su dominio a su servidor

Allí donde se gestiona la zona DNS de su dominio, cree dos registros con las direcciones que aparecen en la tarjeta de su servidor, apartado **VPS** de su área de cliente:

| Tipo   | Nombre                             | Valor                               |
| ------ | ---------------------------------- | ----------------------------------- |
| `A`    | `@`, `www` o el subdominio deseado | la **Dirección IPv4** de su tarjeta |
| `AAAA` | el mismo nombre                    | la **Dirección IPv6** de su tarjeta |

Cuando la zona DNS de su dominio la gestiona Simafri, nuestro equipo crea estos registros por usted: escríbanos. Antes de cambiar un sitio que ya está en línea, pídanos también que reduzcamos la duración de vida (TTL) del registro.

Para comprobarlo desde su ordenador:

```
dig +short A app.mi-empresa.com

dig +short AAAA app.mi-empresa.com
```

## 2. Instalar su servidor web y su certificado

Dos opciones habituales con Linux:

* **Caddy**, que obtiene y renueva por sí solo sus certificados HTTPS:

  ```
  apt install caddy
  ```

  después, en `/etc/caddy/Caddyfile`:

  ```
  app.mi-empresa.com {

      reverse_proxy 127.0.0.1:3000

  }
  ```

  y `systemctl reload caddy`;

* **Nginx** o **Apache**, con **Certbot** para el certificado Let's Encrypt:

  ```
  apt install nginx certbot python3-certbot-nginx

  certbot --nginx -d app.mi-empresa.com -d www.app.mi-empresa.com
  ```

  Certbot instala el certificado, añade la escucha en el puerto 443 y programa su renovación automática.

Con Windows Server, **IIS** sirve sus sitios, y un cliente ACME como win-acme instala y renueva en él sus certificados Let's Encrypt.

## 3. Mantener su aplicación en marcha

Una aplicación Node.js, Python, Go o Java que funciona de forma continua se confía a **systemd**: arranca con el servidor y se reinicia sola si se detiene. Ejemplo, en `/etc/systemd/system/app.service`:

```
[Unit]

Description=Mi aplicación

After=network.target



[Service]

WorkingDirectory=/srv/app

ExecStart=/usr/bin/node server.js

Restart=always

Environment=NODE_ENV=production

User=www-data



[Install]

WantedBy=multi-user.target
```

```
systemctl daemon-reload

systemctl enable --now app

journalctl -u app -f    # seguir sus registros
```

Docker y Docker Compose también se instalan como en cualquier servidor Linux.

## 4. Su base de datos

PostgreSQL, MySQL, MariaDB, Redis o MongoDB se instalan con el gestor de paquetes, o desde el repositorio oficial del editor. La memoria garantizada de su VPS Ultra se presta bien a una base de datos exigente: ajuste su memoria de trabajo (`shared_buffers` para PostgreSQL, `innodb_buffer_pool_size` para MySQL) en función de la memoria de su tamaño.

Mantenga su base de datos a la escucha en `localhost`, y adminístrela desde su ordenador mediante un túnel SSH:

```
ssh -L 5432:localhost:5432 root@app.mi-empresa.com
```

Su herramienta (DBeaver, pgAdmin, TablePlus) se conecta entonces a `localhost:5432`.

## Preguntas frecuentes

### Mi sitio muestra un error de certificado.

Compruebe por orden: sus registros `A` y `AAAA` designan las direcciones de su tarjeta (`dig`), su servidor web escucha en los puertos 80 y 443 (`ss -tlnp`), su cortafuegos los deja pasar (`ufw status`), y el certificado cubre ese nombre (`certbot certificates`).

### ¿Puedo alojar varios sitios en mi VPS Ultra?

Sí, tantos como desee: apunte cada dominio a sus direcciones y añada su bloque a su servidor web.
