# Poner su sitio en línea

## Dónde van sus archivos

Cada dominio de su cuenta tiene su carpeta, y su sitio se sirve desde la carpeta `public_html` que contiene:

```
/home/USUARIO/domains/su-dominio.com/public_html
```

`USUARIO` es el nombre de usuario de su cuenta, que aparece en su área de cliente. Un archivo `index.php` o `index.html` depositado en `public_html` se convierte en la página de inicio de su sitio.

## Depositar sus archivos

Tres caminos llevan a la misma carpeta; elija el que más le convenga.

### El gestor de archivos

En el panel, **File Manager**: envíe sus archivos desde su navegador, incluido un archivo `.zip`, que descomprime allí mismo. Es el camino más rápido para unos pocos archivos.

### El FTP cifrado (FTPS)

En un programa FTP como FileZilla:

| Ajuste                | Valor                                                                            |
| --------------------- | -------------------------------------------------------------------------------- |
| **Protocolo**         | FTP, con **cifrado TLS explícito** (FTPS)                                        |
| **Servidor**          | el nombre de su servidor, por ejemplo `web1.simafri.cloud`                       |
| **Puerto**            | `21`                                                                             |
| **Nombre de usuario** | el nombre de usuario de su cuenta, o una cuenta FTP creada en **FTP Management** |
| **Contraseña**        | la del panel, o la de la cuenta FTP                                              |

El cifrado TLS protege su contraseña y sus archivos durante la transferencia; en FileZilla, elija **Requiere FTP explícito sobre TLS**. Una cuenta FTP creada en **FTP Management** tiene la forma `nombre@su-dominio.com` y puede limitarse a una carpeta, para un proveedor externo por ejemplo.

### El SSH y el SFTP

El acceso SSH se realiza con una **clave**, que usted registra en el panel:

1. ¿Todavía no tiene clave? En su ordenador, ejecute `ssh-keygen -t ed25519` y abra el archivo que termina en `.pub`: es su clave **pública**.
2. En el panel, abra **SSH Keys** y pegue su clave pública.
3. Conéctese:

```
ssh USUARIO@web1.simafri.cloud
```

La misma clave abre el **SFTP** (puerto `22`) en FileZilla o WinSCP. Solo se registra la clave pública: su clave privada se queda en su ordenador.

## Elegir la versión de PHP

Cada dominio elige su versión de PHP en **PHP Version Selector**. Hoy se ofrecen **PHP 8.4**, **8.3** (la versión predeterminada), **8.1** y **7.4**, con OPcache y las extensiones habituales: intl, mbstring, gd, curl, zip, xml, sodium, bcmath, soap, PDO para MySQL y SQLite. ¿Su aplicación necesita otra versión? Escriba al soporte: nuestro equipo la añade.

## Crear una base de datos

1. En el panel, abra **MySQL Databases** y cree una base de datos: su nombre y su usuario tienen la forma `USUARIO_nombre`.
2. Anote la contraseña del usuario.
3. En su aplicación, indique:

| Ajuste                          | Valor                                               |
| ------------------------------- | --------------------------------------------------- |
| **Servidor**                    | `localhost`                                         |
| **Puerto**                      | `3306`                                              |
| **Base de datos** y **usuario** | los que acaba de crear, por ejemplo `USUARIO_sitio` |

**phpMyAdmin**, abierto desde el mismo apartado, importa un archivo `.sql`, exporta su base de datos y recorre sus tablas.

## Composer, Node.js y los frameworks

Por SSH, su alojamiento ejecuta:

* **Composer 2**: `composer install`, `composer update`;
* **Node.js 24** y **npm**: `npm install`, `npm run build` para compilar su front-end o sus assets;
* **Git**, **Python 3** y **Perl**.

Para **Symfony** o **Laravel**, la raíz web del dominio es la carpeta `public/` del proyecto. Deposite su proyecto junto a `public_html` y sustituya `public_html` por un enlace a su carpeta `public/`:

```
cd ~/domains/su-dominio.com

mv public_html public_html.original

ln -s mi-proyecto/public public_html
```

Los comandos del framework (`php bin/console`, `php artisan`) se ejecutan en la carpeta del proyecto. Para un front-end **Angular**, **React** o **Vue**, deposite el resultado de `npm run build` en `public_html`, con un archivo `.htaccess` que redirija las rutas a `index.html`.

Una aplicación que debe permanecer en ejecución de forma continua, como un servidor Node.js o una cola de mensajes, tiene su lugar en un [VPS Pro](https://docs.simafri.com/es/vps-pro/).

## Programar una tarea

En **Cron Jobs**, indique la frecuencia y el comando, por ejemplo cada día a las 3:00:

```
0 3 * * * /usr/local/bin/php /home/USUARIO/domains/su-dominio.com/mi-proyecto/bin/console app:limpieza
```

## El HTTPS de sus dominios

Cada dominio y subdominio recibe su **certificado HTTPS** Let's Encrypt, solicitado y renovado automáticamente en cuanto el dominio apunta a su servidor. **SSL/TLS Certificates** muestra el certificado de cada dominio. Para enviar siempre a sus visitantes a la dirección en `https://`, añada al principio del archivo `.htaccess` de `public_html`:

```
RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
```

## Preguntas frecuentes

### Mi sitio sigue mostrando la página predeterminada.

Su página de inicio debe encontrarse directamente en `public_html`, con el nombre `index.php` o `index.html`, y no en una subcarpeta. Elimine la página predeterminada si todavía está allí.

### ¿Cómo instalo WordPress?

Escriba al soporte indicando el dominio: nuestro equipo instala WordPress en su alojamiento y le entrega el acceso a su administración.

### Mi conexión SSH es rechazada.

Compruebe que su clave **pública** figura en **SSH Keys** y que se conecta con el **Nombre de usuario** de su cuenta. La conexión SSH se realiza con clave: su programa debe usar la clave privada que corresponde a la registrada.
