Dominios ======== Primer paso: consigue tu dominio -------------------------------- Para poder instalar aplicaciones necesitas disponer de un dominio propio. Con un único dominio puedes crear distintos subdominios, uno para cada web o aplicación que quieras instalar. Si todavía no dispones de dominio propio, aquí te dejamos algunos proveedores de ejemplo donde puedes registrarlo de manera sencilla (¡pero hay muchísimos `más `__!): - `Njal.la `__ - `gandi.net `__ Recuerda que **MaadiX no es un proveedor de dominios ni ofrece un editor de zonas DNS.** El panel de control de MaadiX tiene dos secciones distintas que trabajan con dominios, y es importante no confundirlas: - **Dominios**: activa un dominio creando un Vhost con certificado SSL de Let's Encrypt, y permite además crear cuentas de correo electrónico para ese dominio. - **Instalar aplicaciones**: instala de forma automatizada aplicaciones como Jitsi Meet, RocketChat, Only Office Online, Collabora Online, Discourse, Mailtrain, etc. Durante la instalación se te pide indicar el dominio en el que se instalará la aplicación. **Error habitual:** añadir primero el dominio en la sección 'Dominios' y, después, intentar usar ese mismo dominio para instalar una aplicación. El sistema no lo permite, porque el dominio ya está en uso, y la instalación no puede realizarse. Por eso, **si tu objetivo es instalar una aplicación de forma automatizada, no lo añadas antes en la sección 'Dominios'**: indícalo directamente en el campo correspondiente del formulario de instalación, como se muestra `aquí `__. Solo necesitas activar el dominio desde la sección 'Dominios' si quieres crear tu propio Vhost (por ejemplo, para subir una web manualmente) y/o configurar cuentas de correo electrónico para ese dominio. En el caso de las listas de correo, es necesario añadir los dominios a través de Mailman, como se indica `aquí `__. Activar dominio --------------- Para activar un dominio tienes que ir a tu panel de control, a la sección '**Dominios**' -> '**Añadir un dominio nuevo**'. Se desplegará un formulario dividido en tres secciones: - Web: toda la información necesaria para activar el servidor web y conseguir que el dominio sea accesible desde cualquier navegador. Se incluye la opción de instalar Wordpress de forma automatizada. - Permisos: para otorgar permisos de lectura/escritura a una cuenta, normalmente la persona encargada del desarrollo/mantenimiento de la aplicación web. - Correo electrónico: activación y configuración del correo electrónico. .. figure:: img/domains/Add_domain202301.png :alt: Añadir dominio Añadir dominio Los campos disponibles y su función se describen a continuación. Web *** .. figure:: img/domains/domain-web.png :alt: Dominio sección web Añadir dominio sección web - **Nombre del dominio**: introduce el nombre completo de tu dominio o subdominio (por ejemplo: example.com o docs.example.com). Por cada dominio o subdominio que actives, se creará una carpeta en tu servidor cuya ubicación será ``/var/www/html/example.com/``. Debes subir tu web o aplicación a esta carpeta para que sea accesible desde el navegador visitando *example.com* - **Activar Servidor Web**: activando esta casilla se creará la configuración necesaria para que el dominio sea accesible desde cualquier navegador. En el caso de que solo quieras utilizar el dominio para cuentas de correo electrónico y alojar la web en otro servidor, deja esta casilla desactivada. Ten en cuenta que solo podrás activar el servidor web si los DNS para este dominio están apuntando a la IP del servidor. Esto es debido a que todos los dominios se activan con https por defecto creando los certificados con Let's Encrypt. Si no hay correspondencia entre la IP del servidor y el registro DNS de tipo A, la creación del certificado fallará. Si tienes dudas sobre cómo crear el registro DNS necesario, consulta el apartado `Configura los DNS de tu dominio para que apunten a tu servidor <#configura-los-dns-de-tu-dominio-para-que-apunten-a-tu-servidor>`__ de esta página. Si tu servidor tiene Nginx instalado, al activar el servidor web aparecerá la opción de elegir entre Apache o Nginx. De forma muy resumida, Apache ofrece mayor compatibilidad (por ejemplo con ficheros .htaccess), mientras que Nginx es más ligero y rápido sirviendo contenido estático y bajo alta concurrencia. - **Carpeta raíz**: Deja este campo en blanco para que la carpeta raíz sea /var/www/html/example.com/ En el caso de que necesites separar la carpeta raíz de otros archivos puedes añadir subcarpetas a este directorio, por ejemplo insertando public_html/web. En este caso la carpeta raíz será /var/www/html/example.com/public_html/web/ y es donde tendrías que ubicar los archivos de la web. Este valor no se puede editar así que si quieres cambiarlo tendrías que eliminar el dominio y volverlo a crear. En caso de dudas, deja el espacio en blanco para una configuración estándar. .. figure:: img/domains/domain-wordpress.png :alt: Dominio instalar wordpress Instalar Wordpress - **Instalar Wordpress**: Activando esta casilla se instalará Wordpress de forma automatizada. En este caso aparecerán dos campos para que introduzcas la contraseña que necesitarás para acceder al panel de administración una vez completada la instalación. Ten en cuenta que solo se podrá instalar Wordpress si se puede activar el servidor web (es decir, si has activado la casilla anterior y la configuración de los DNS es correcta) y si la carpeta raíz está vacía. .. _phppool: - **PhpPool**: si instalas un Wordpress o cualquier otra aplicación PHP, te recomendamos encarecidamente asignarle un pool propio eligiéndolo desde el desplegable, en lugar de dejarlo en el pool compartido por defecto. ¿Por qué es tan importante? Piensa en cada pool como un compartimento estanco donde se ejecuta una web. Si varios dominios comparten el mismo pool y uno de ellos sufre un problema, por ejemplo un fallo de seguridad, un plugin defectuoso o un pico de visitas que consume muchos recursos, ese problema puede acabar afectando también al resto de webs que comparten ese mismo pool, aunque no tengan nada que ver entre sí. Asignando un pool propio a cada dominio consigues que cada web funcione de forma aislada e independiente, de modo que un problema en una de ellas no pueda repercutir en las demás. Es, por tanto, una medida sencilla que mejora notablemente tanto la seguridad como la estabilidad de todos tus proyectos. El número entre paréntesis junto al nombre de cada pool indica cuántos dominios tiene ya asignados, para ayudarte a elegir uno libre o bien crear uno nuevo. Puedes añadir nuevos pools desde la página '**Sistema**' -> '**PHP-FPM Pools**'. En esta página puedes encontrar más información sobre esta funcionalidad: `PHP-FPM Pools `__ Permisos ******** - **Webmaster**: es la cuenta que va a administrar los archivos de la web. Puedes asignar una cuenta webmaster distinta a cada dominio o subdominio que actives en MaadiX; será la cuenta que tú, o la persona encargada de mantener la web, utilizaréis para subir y modificar sus archivos. Solo puede asignarse como webmaster una cuenta ordinaria que tenga activado el acceso por SFTP o por SFTP+SSH (las dos formas de conectarse al servidor para subir y gestionar archivos). Al hacer clic en el desplegable 'Asignar Webmaster' verás todas las cuentas que cumplen este requisito. Si no aparece ninguna cuenta, primero tendrás que crear una desde la sección 'Usuarixs' > 'Cuentas ordinarias'. `Aquí `__ puedes leer más sobre las cuentas ordinarias y sobre qué permite hacer cada tipo de acceso (SSH y SFTP). La cuenta webmaster podrá crear, borrar o modificar los archivos dentro de la carpeta ``/var/www/html/example.com/``, que es donde se aloja la aplicación web. Por seguridad, desde la versión 201901 **ya no se puede asignar como webmaster la cuenta Superusuarix** (la cuenta con máximo privilegio sobre todo el servidor). .. _activar-acl: - **Activar ACL**: te recomendamos activar siempre esta opción, especialmente si vas a instalar Wordpress o cualquier aplicación que se gestione desde un panel de administración. Sin las ACL, es muy probable que en algún momento no consigas editar o borrar, desde tu cuenta webmaster, algún archivo creado por tu propia aplicación web (por ejemplo, una imagen subida desde el editor de Wordpress). Las ACL evitan este problema de permisos de forma automática. La única razón para dejarlas desactivadas es si, por motivos de seguridad, prefieres que el servidor web no tenga permiso de escritura sobre los archivos, por ejemplo si despliegas la web mediante git o un sistema de integración continua y quieres evitar que nada la modifique por fuera de ese proceso. ¿Por qué puede pasar esto? Cuando subes archivos a mano con la cuenta webmaster (por SFTP o SSH), esos archivos quedan "a nombre de" dicha cuenta. Pero cuando es la propia aplicación la que crea archivos de forma automática, por ejemplo al subir una imagen desde su editor o al instalar un plugin desde su panel de administración, esos archivos quedan "a nombre de" otra cuenta del sistema: la que usa el servidor web para funcionar (normalmente llamada ``www-data``). El resultado es que tu cuenta webmaster puede encontrarse con archivos que ve, pero no puede modificar ni borrar. Al activar las ACL, tanto tu cuenta webmaster como la del servidor web reciben permiso de lectura y escritura sobre todos los archivos del dominio, sin importar cuál de las dos los haya creado. Así podrás editarlos sin problemas, tanto si los subes tú manualmente como si los genera la propia aplicación. Correo Electrónico ****************** - **Activar servidor de correo para este dominio**: si quieres usar el servidor de correo interno para el dominio que estás creando, esta opción tiene que estar activada. Si de lo contrario quieres que el correo electrónico sea gestionado por otro servidor externo, déjala desactivada. Podrás cambiar esta opción en cualquier momento desde la página de edición del dominio. - **Activar DKIM**: si activas el servidor de correo es muy recomendable que actives también esta casilla para conseguir que los correos que envíes no sean tratados como SPAM. Si la activas tendrás también que crear un registro DNS adicional. Consulta la página de instrucciones para la `configuración de DNS `__ para más detalles. Configura los DNS de tu dominio para que apunten a tu servidor -------------------------------------------------------------- Para saber si el proceso de activación y configuración del servidor web para el dominio ha terminado con éxito, consulta el icono **Servidor web** de la página **Ver Dominios**. Si el icono está en verde (Activado) la configuración para poder crear una web se ha llevado a cabo satisfactoriamente. .. figure:: img/domains/domain-list-web-server.png :alt: Servidor web activado Servidor web activado Para que tu dominio apunte hacia tu servidor, debes modificar sus DNS. Los servidores DNS (Domain Name System, Sistema de Nombre de Dominios) son los que transforman los nombres de dominio, pensados para la comprensión humana, en números que corresponden a las direcciones IP de las diferentes máquinas conectadas y accesibles públicamente en Internet. Haciendo clic en "Ver DNS" en la columna de tu dominio, encontrarás las configuraciones requeridas para que tu dominio funcione tanto para tu aplicación web (Registro A) como para tu servidor de correo (Registro MX, SPF y DKIM). .. figure:: img/domains/domain-list-dns.png :alt: Ver DNS Ver DNS Debes introducir estos datos en la sección correspondiente de la configuración de DNS dentro del **área de cliente de tu proveedor de dominio** (esta fase tienes que completarla fuera de tu servidor MaadiX). Seguramente habrá un enlace o pestaña, quizás en el menú, que diga algo como *DNS*, *Editar registros DNS* o *Editar zona DNS*. Puedes consultar la sección `DNS `__ para obtener instrucciones detalladas sobre los diferentes tipos de registros necesarios para un correcto funcionamiento de todos los servicios. .. figure:: img/domains/required-dns.png :alt: Required DNS DNS requeridos Una vez hechos los cambios, vuelve a consultar la página de configuración de DNS en el panel de control de tu servidor MaadiX, haciendo clic en "Ver DNS" en la columna del dominio. Recuerda que el proceso de propagación de los nuevos DNS puede tardar hasta 48 horas, de modo que es normal que durante un tiempo la configuración siga resultando incorrecta aunque la hayas cambiado. HTTPS ----- Todos los dominios que actives a través del panel de control tendrán siempre activado un certificado SSL y serán accesibles a través de la dirección: https://tudominio.com La creación y configuración de los certificados está automatizada y se completa junto con todo el proceso de activación y configuración de dominios en tu sistema utilizando `Let's Encrypt `__. No necesitas llevar a cabo ninguna configuración adicional para activar HTTPS para tu dominio. Los certificados tienen validez de tres meses y se renuevan automáticamente. Subir tu web o aplicación al dominio propio ------------------------------------------- Una vez aparezca el check verde "Activado" para el Servidor Web de tu dominio, ya puedes subir los archivos de tu aplicación web a la recién creada carpeta ``/var/www/html/example.com/``. Puedes hacerlo muy fácilmente con un cliente SFTP (por ejemplo, `Filezilla `__) o a través de una conexión SSH (por ejemplo, con los comandos scp o rsync), según los permisos de acceso que tenga la cuenta webmaster asignada a este dominio. Una vez los archivos estén ahí, podrás visitarlos desde el navegador en tu dominio *example.com*. Puedes encontrar más indicaciones aquí: `crea tu web o aplicación `__. Empieza a usar tu servidor de correo ------------------------------------ Si has activado la casilla 'Activar servidor de correo para este dominio', también puedes empezar a usar tu servidor de correo electrónico. Entra en el apartado *Correos > Cuentas de correo* para abrir nuevas cuentas, haciendo clic en el botón '*Añade una cuenta nueva*' que encontrarás arriba a la derecha de esta página. Recuerda que los registros MX y SPF tienen que estar correctamente configurados para que apunten a tu servidor. Puedes encontrar más indicaciones aquí: `crea y gestiona cuentas de correo `__.