Alojamiento web: primeros pasos
Todo lo que sigue se hace desde Cuenta → Hosting en medialab.works. Los planes y precios están en la página de alojamiento; lo que incluye se describe en la presentación del alojamiento.
1. Contrata un plan
- Abre la página de alojamiento y elige un plan y el período de facturación (mensual o anual).
- Añade opciones si las necesitas: más disco, vCPU o RAM, o copia de seguridad ampliada. Puedes cambiarlas más adelante.
- Introduce tu dirección de correo (o inicia sesión si ya tienes cuenta; si no, tu cuenta de cliente se crea al pagar y la contraseña temporal llega por correo), marca la casilla para aceptar los Términos, la Política de uso aceptable y el Acuerdo de tratamiento de datos, y paga con Stripe.
Tu cuenta de alojamiento se crea automáticamente tras el pago, normalmente en pocos minutos, y recibes un correo. La garantía de devolución de 30 días empieza con tu primer pago.
2. Añade un sitio web
En Sitios web → Añadir un sitio web:
- Nombre: letras minúsculas, cifras y guiones. Se convierte en la carpeta
www-data/<nombre>de tu carpeta personal. - Tecnología: PHP 8.1–8.5, Node.js 22 o 24, Python 3.12 (Node.js y Python desde Standard) o estático.
- Servidor web (solo PHP): Apache lee los archivos
.htaccess, como la mayoría de los alojamientos compartidos, y es la opción segura para WordPress y para la mayoría de las aplicaciones PHP que traen reglas de reescritura en.htaccess. nginx es más ligero y más rápido con los archivos estáticos, pero ignora.htaccess; WordPress funciona en él sin cambios. Eliges para cada sitio. - Dominio (opcional): tu dominio o un subdominio de un dominio de la cuenta (por ejemplo
blog.tudominio.es); el registro DNS del subdominio se crea automáticamente. Sin dominio, el sitio funciona de inmediato en su dirección de vista previa,<sitio>-<usuario>.hosting.medialab.works(solo HTTP, hasta que traslades el dominio). - Raíz web (PHP y estático): la carpeta de
www-data/<sitio>que se sirve a los visitantes,publicpor defecto;.significa la propia carpeta del sitio.
Al crearlo, la carpeta del sitio recibe una página de inicio (index.php o index.html) que muestra que el dominio llega al servidor, dónde está alojado el sitio y qué versión de PHP se ejecuta. Sustitúyela por tus archivos.
Dónde van tus archivos:
| Tecnología | Carpeta |
|---|---|
| PHP, estático | www-data/<sitio>/public (o la raíz web elegida) |
| Node.js, Python | www-data/<sitio>/app |
3. Conecta tu dominio
Cuando añades un dominio (con un sitio web o en Dominios), creamos por ti:
- una zona DNS en Cloudflare, en nuestra cuenta, con los registros web y los de correo (MX, SPF, DKIM, DMARC, autoconfig);
- el dominio de correo en nuestro servidor de correo, con su clave DKIM;
- el sitio web en el servidor, con un certificado SSL en cuanto el dominio apunte a nosotros.
Lo que haces tú: en la empresa donde registraste el dominio (el registrador), sustituye los servidores de nombres por los dos que aparecen en Cuenta → Hosting → Dominios. El cambio suele tardar entre unos minutos y unas horas, a veces hasta 48 horas. La página del dominio muestra cada paso; cuando se detectan los servidores de nombres, la zona se activa y el certificado se emite automáticamente. Comprobar DNS y Emitir certificado te permiten reintentarlo al momento.
¿Quieres mantener tu proveedor de DNS actual? Apunta en su lugar un registro A a la dirección IP que aparece en la cuenta, y añade tú mismo los registros de correo si quieres correo en el dominio (la tabla de registros DNS de la cuenta los enumera). Sin nuestros servidores de nombres, los registros DNS son responsabilidad tuya.
4. Publica un sitio PHP (ejemplo con WordPress)
- Crea un sitio con PHP 8.4 (o la versión que necesite tu aplicación) y Apache.
- Crea una base de datos MariaDB en Bases de datos (por ejemplo
wp; su nombre completo será<usuario>_wp). La contraseña de tu usuario de base de datos se muestra una sola vez, al crear tu primera base de datos MariaDB: guárdala. - Sube WordPress a
www-data/<sitio>/publicdesde Archivos (un archivo.zipy luego Extraer), por SFTP (sección 8) o por SSH. - En
wp-config.phpusa:DB_NAME:<usuario>_wpDB_USER: tu usuario de base de datos (el mismo que el usuario de tu cuenta)DB_PASSWORD: la contraseña guardadaDB_HOST:mlw-db:3390
- Abre la dirección del sitio y termina el instalador de WordPress.
Otras aplicaciones PHP (Laravel, Symfony, Drupal, WHMCS, Nextcloud…) funcionan igual. Sube el proyecto a www-data/<sitio> y luego, en Ajustes junto al sitio, pulsa Detectar: reconocemos la aplicación y te proponemos la raíz web (public en Laravel y Symfony, web en Drupal con Composer, la carpeta de la aplicación en WordPress, WHMCS o Nextcloud). Los archivos fuera de la raíz web (vendor/, storage/, .env, los datos de Nextcloud, las carpetas attachments, downloads y templates_c de WHMCS) siguen accesibles para la aplicación, pero no desde el navegador.
5. Aplicaciones Node.js y Python
Sube tu aplicación a www-data/<sitio>/app. Debe escuchar en el puerto de la variable de entorno PORT (8080 dentro del contenedor) en todas las interfaces (0.0.0.0), no solo en localhost. Delante están el servidor web y el certificado; tú no abres ningún puerto.
Cómo se inicia la aplicación, en este orden:
- Node.js: un
start.shejecutable enapp/; si no,npm startdesdepackage.json(las dependencias se instalan connpm ci --omit=devcuando faltanode_modules); si no,server.js,index.js,app.jsomain.js. - Python: un
start.shejecutable; si no,asgi.py(servido por workers de uvicorn en gunicorn); si no,app.pycon un objetoappowsgi.pyconapplication(gunicorn).requirements.txtse instala en un entorno virtual, y se vuelve a instalar al arrancar cuando el archivo ha cambiado.
Después de subir una versión nueva, pulsa Reiniciar junto al sitio. Mientras no se encuentre ninguna aplicación, el sitio muestra una página provisional que indica qué falta.
6. Archivos y registros
Archivos, en Cuenta → Hosting, es un gestor de archivos para www-data (tus sitios), logs (los registros) y restore (las copias restauradas):
- navegas por las carpetas, creas, renombras, mueves y eliminas (para eliminar hay que escribir el nombre como confirmación);
- subes archivos de cualquier tamaño que permita tu plan (los archivos grandes se envían por partes) y extraes
.zip,.tar.gz,.tar.bz2o.tar.xz, con la opción de vaciar antes la carpeta de destino; - editas archivos de texto (hasta 1 MB) directamente en el navegador;
- descargas un archivo o una carpeta entera como
.zip: el archivo comprimido se prepara en segundo plano y aparece en Operaciones y descargas, donde se conserva 24 horas.
Los registros de cada sitio están en logs/<sitio>/: nginx/ o apache/ (access.log, error.log) y php/ (o node/, python/) para la salida de la aplicación. También los ves en Ajustes → Registros, junto al sitio, y por SFTP.
También desde Ajustes puedes detener e iniciar un sitio (mientras está detenido, los visitantes ven una página de «no disponible»), descargar su archivo comprimido o restaurarlo desde un archivo que subas.
7. Bases de datos
- MariaDB y PostgreSQL. Todas tus bases de datos del mismo tipo comparten un único usuario de base de datos, con el mismo nombre que tu cuenta. Su contraseña se muestra una vez, con la primera base de datos de ese tipo; Nueva contraseña crea otra para todas las bases de datos de ese tipo (actualiza después tus sitios).
- Desde tus sitios web (dentro de los contenedores), el host de la base de datos es
mlw-db, puerto 3390 para MariaDB y 5490 para PostgreSQL. - Por SSH (desde Standard), las mismas bases de datos están en
127.0.0.1, con los mismos puertos, por ejemplomysql -h 127.0.0.1 -P 3390 -u <usuario> -popsql -h 127.0.0.1 -p 5490 -U <usuario> <usuario>_db. - El editor web (Adminer, para MariaDB y PostgreSQL) se abre con Editor junto a la base de datos: entras directamente, con un acceso temporal válido 4 horas, sin la contraseña de la base, y ves solo las bases de datos de tu cuenta.
- Exportación (
.sql.gz) e importación (.sql,.sql.gz; en PostgreSQL también.dumpdepg_dump -Fc) desde la misma lista. La importación se ejecuta con los permisos de tu cuenta: las tablas con el mismo nombre se sustituyen, así que exporta antes la base de datos si quieres una copia. - Las bases de datos no son accesibles directamente desde internet.
8. SFTP y SSH
El servidor, el puerto (22) y el nombre de usuario están en Cuenta → Hosting → SFTP y SSH.
- Start: SFTP con contraseña. Crear una nueva contraseña la muestra una vez; la anterior deja de funcionar.
- Standard, Pro y Business: SFTP y SSH con tus claves SSH (el acceso con contraseña está desactivado). Añade tu clave pública (
ssh-ed25519,ssh-rsaoecdsa-…) y conéctate con el comando que aparece allí. Git está disponible por SSH.
Tu carpeta personal contiene www-data (tus sitios), logs (los registros de los sitios) y restore (las copias restauradas). No guardes secretos en la raíz web.
9. Correo
- Añade primero el dominio; los buzones se pueden crear cuando su configuración de correo esté lista (la página del dominio muestra el paso).
- En Correo, crea un buzón y elige su espacio. La contraseña se muestra una vez.
- La mayoría de las aplicaciones de correo se configuran solas a partir de la dirección (autoconfig). Si la tuya lo pide, el servidor de entrada (IMAP, puerto 993) y de salida (SMTP submission, puerto 587) es el host de correo del registro MX de tu dominio, que figura en la tabla de registros DNS.
Envío desde tus sitios: envía por SMTP en el puerto 587 con uno de tus buzones (en WordPress, con un plugin SMTP). El envío directo por el puerto 25 está bloqueado para todas las cuentas de alojamiento.
10. Copias de seguridad y restauración
- Cada noche se hace una copia de seguridad de tus archivos y bases de datos, que se conserva según tu plan: Start 7 días, Standard 14 días, Pro 14 diarias + 4 semanales, Business 30 diarias + 12 mensuales. La opción de copia de seguridad ampliada te da la conservación del plan siguiente (Start → 14 días, Standard → 14 diarias + 4 semanales, Pro → 30 diarias + 12 mensuales).
- Las copias están cifradas y se guardan en un disco separado del mismo servidor, no en una segunda ubicación. Guarda tu propia copia de todo lo importante.
- Restaura tú mismo en Copias: elige la copia y qué restaurar (toda la cuenta, un sitio web o una base de datos). Por defecto, los archivos se copian en una carpeta nueva,
restore/, así que tus archivos actuales no cambian; marca Sustituir los archivos actuales para restaurar en su sitio. Una restauración de base de datos sustituye la base de datos por su copia. - Copia de seguridad ahora inicia una copia fuera del horario programado (como máximo 3 veces al día), por ejemplo antes de una actualización.
- Descarga de una copia un sitio, todos los sitios o una base de datos: el archivo aparece en Operaciones y descargas.
- Restauración hecha por nuestro equipo: describe qué hay que restaurar y de qué fecha. La primera restauración de cada mes es gratuita; las siguientes cuestan 10 € cada una.
11. Límites y uso
La página de la cuenta muestra el disco, los archivos (inodos), la CPU y la memoria en uso frente a tu plan. La CPU y la memoria son límites estrictos: una aplicación que necesita más se ralentiza o se detiene, nunca se factura de más. El número de sitios web, bases de datos y buzones depende de tu plan; en Business son ilimitados dentro del uso razonable.
Por encima del límite de disco o de archivos: te escribimos por correo y tienes 7 días para liberar espacio o añadir disco (la opción +10 GB). Pasados los 7 días, se bloquean las subidas (SFTP pasa a solo lectura) hasta que la cuenta vuelva a estar por debajo del límite; tus sitios web siguen funcionando. Cuando el uso baja del límite, las subidas se vuelven a permitir automáticamente, en la siguiente comprobación diaria.
12. Cambia de plan o cancela
- Cambiar plan u opciones en Cuenta → Hosting: primero ves el precio. Cuando subes de plan o añades opciones, pagas solo la diferencia por lo que queda del período actual (prorrateada) y los nuevos límites se aplican en un minuto. Un plan más pequeño solo se acepta si tus sitios, bases de datos, buzones y disco caben en él.
- Cancela desde la misma página. La cuenta sigue activa hasta el final del período pagado; después se suspende y se elimina 30 días más tarde; la copia de seguridad final se conserva durante esos 30 días. Puedes anular la cancelación antes de que termine el período.
- Pago fallido: tus sitios siguen funcionando durante el período de gracia de 7 días mientras se reintenta el cobro de la tarjeta. Si el pago sigue fallando, la cuenta se suspende (no se elimina) y vuelve a funcionar en cuanto se paga la factura.
- Devolución: en los 30 días siguientes a tu primer pago, pide el reembolso desde tu cuenta (ticket) o en contact@medialab.works; después, la cuenta se cierra.
¿Preguntas? Consulta las preguntas frecuentes o contáctanos.