GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Configuración de ISPConfig Perfect Multiserver en Ubuntu 20.04 y Debian 10

Este tutorial lo guiará a través de la instalación de su propia configuración multiservidor ISPConfig 3 con servidores dedicados para el panel, web, DNS, correo y correo web. Tanto el DNS como el servidor de correo tendrán un servidor espejo para redundancia. Puede agregar fácilmente más servidores de cierto tipo después.

Se utilizará el instalador automático oficial de ISPConfig para configurar los servidores. Se utilizará Debian 10 como sistema operativo. La guía también se probó con Ubuntu 20.04.2.

Puede leer más sobre el instalador automático aquí.

1. Nota Preliminar

Estos serán los hosts que estamos instalando:

host     FQDN                IP
panel     panel.example.com    10.0.64.12
web01     web01.example.com    10.0.64.13
mx1        mx1.example.com        10.mx14
ns1        ns1.example.com        10.0.64.16
ns2        ns2.example.com        10.0.64.17
webmail 6   webmail.

Usaremos ejemplos de nombres de host, direcciones IP y rangos de IP. Asegúrese de cambiarlos en consecuencia en sus comandos/configuración.

Todos los servidores están en la misma red privada pero tienen su propia IP pública. Si sus servidores no tienen una red local compartida, use sus direcciones IPv4 públicas.

Antes de iniciar la instalación de un servidor, configure un registro A y eventual AAAA que apunte al público Dirección IP de su servidor. Por ejemplo, si el nombre de host es panel.example.com y la IP pública es 11.22.33.44, debe configurar un registro A para panel.example.com que apunte a 11.22.33.44. Cada servidor debe tener su propia IP pública y nombre de host.

2. Instalación del servidor maestro

Inicie sesión como root o ejecute

su -

para convertirse en el usuario raíz de su servidor antes de continuar. IMPORTANTE :Debe usar 'su -' y no solo 'su', de lo contrario, Debian configura incorrectamente su variable PATH.

2.1 Configurar el nombre de host y los hosts

El nombre de host de su servidor debe ser un subdominio como "panel.example.com". No use un nombre de dominio sin una parte de subdominio como "example.com" como nombre de host, ya que esto causará problemas más adelante con la configuración de su correo. Primero, debe verificar el nombre de host en /etc/hosts y cambiarlo cuando sea necesario. La línea debe ser:"Dirección IP - espacio - nombre de host completo, incluido el dominio - espacio - parte del subdominio". Para nuestro nombre de host panel.example.com, el archivo se verá así (algunas líneas pueden ser diferentes, puede diferir según el proveedor de alojamiento):

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
# Esta línea debe cambiarse en cada nodo al nombre de servidor correcto:
127.0.1.1 panel.example.com panel
# Estas líneas son las mismo en cada nodo:10.0.64.12 panel.example.com panel
10.0.64.13 web01.example.com web01
10.0.64.14 mx1.example.com mx1
10.0.64.15 mx2.example .com mx2
10.0.64.16 ns1.example.com ns1
10.0.64.17 ns2.example.com ns2
10.0.64.18 webmail.example.com webmail# Las siguientes líneas son deseables para IPv6 hosts compatibles::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allrouters

Como puede ver, también agregamos los nombres de host de nuestros otros servidores, para que puedan comunicarse a través de la red interna más tarde.

Luego edite el archivo /etc/hostname:

nano /etc/nombre de host

Contendrá solo la parte del subdominio, en nuestro caso:

panel

Finalmente, reinicia el servidor para aplicar el cambio:

reinicio systemctl

Inicie sesión nuevamente y verifique si el nombre de host es correcto ahora con estos comandos:

nombre de host
nombre de host -f

La salida será así:

[email protected]:~$ hostname
panel
[email protected]:~$ hostname -f
panel.example.com

Ahora podemos ejecutar el instalador automático para instalar todos los paquetes necesarios e ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --use-php=sistema

Después de un tiempo, verá:

¡ADVERTENCIA! ¡Este script reconfigurará su servidor completo!
Debe ejecutarse en un servidor recién instalado y lo más probable es que se pierda toda la configuración actual que haya realizado.
Escriba 'sí' si realmente desea continuar:

Responda "sí" y presione enter. Ahora se iniciará el instalador.

Cuando el instalador haya terminado, le mostrará el administrador de ISPConfig y la contraseña raíz de MySQL de esta manera:

[INFO] Su contraseña de administrador de ISPConfig es:5GvfSSSYsdfdYC
[INFO] Su contraseña de root de MySQL es:kkAkft82d!kafMwqxdtYs

Asegúrese de anotar esta información, junto con el servidor al que pertenecen, ya que los necesitará más adelante.

2.2 Configurando los usuarios remotos de MySQL para nuestros servidores esclavos

Iniciaremos sesión en MySQL para permitir que los otros servidores se conecten a la base de datos ISPConfig en este nodo durante la instalación, agregando registros de usuario raíz de MySQL en la base de datos maestra para cada nombre de host y dirección IP del servidor esclavo.

En la terminal, ejecuta

mysql -u raíz -p

Ingrese su contraseña de MySQL y luego ejecute los siguientes comandos:

CREAR USUARIO 'root'@'10.0.64.13' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'10.0.64.13' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'10.0.64.14' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'10.0.64.14' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'10.0.64.15' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'10.0.64.15' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'10.0.64.16' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'10.0.64.16' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'10.0.64.17' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'10.0.64.17' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'10.0.64.18' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'10.0.64.18' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'web01.example.com' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'web01.example.com' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'mx1.example.com' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'mx1.example.com' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'mx2.example.com' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'mx2.example.com' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'ns1.example.com' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'ns1.example.com' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREATE USER 'root'@'ns2.example.com' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'ns2.example.com' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREAR USUARIO 'root'@'webmail.example.com' IDENTIFICADO POR 'myrootpassword';
CONCEDER TODOS LOS PRIVILEGIOS EN * . * TO 'root'@'webmail.example.com' IDENTIFICADO POR 'myrootpassword' CON GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

En los comandos SQL anteriores, reemplace las direcciones IP (10.0.64.12 - 10.0.64.18) con las direcciones IP de sus servidores, web01.example.com, mx1.example.com, mx2.example.com, ns1.example.com , ns2.example.com y webmail.example.com con los nombres de host de sus servidores y myrootpassword con la contraseña raíz deseada (es una buena práctica usar una contraseña diferente para cada host. Anótelas, ya que las necesitará más adelante al instalar o actualizar sus servidores esclavos).

Cuando haya terminado, puede salir de MySQL con:

SALIR;

Ahora puede iniciar sesión en ISPConfig en https://panel.example.com:8080 con el nombre de usuario admin y la contraseña que le mostró el instalador.

2.3 Configuración del cortafuegos

Lo último que debe hacer es configurar nuestro firewall.

Inicie sesión en la interfaz de usuario de ISPConfig y vaya a Sistema -> Firewall. Luego haga clic en "Agregar nuevo registro de firewall".

Para el servidor del panel, tenemos que abrir los siguientes puertos:

TCP:

22,80,443,8080,8081

No es necesario abrir puertos UDP a través de la interfaz de usuario.

También vamos a abrir el puerto 3306, que se usa para MySQL, pero solo desde nuestra red local por razones de seguridad. Para hacerlo, ejecute el siguiente comando desde la CLI, después de que se propague el cambio desde el panel ISPConfig (cuando desaparezca el punto rojo):

ufw permite desde 10.0.64.0/24 a cualquier puerto 3306 proto tcp

Su panel ahora está configurado y listo para usar.

En el siguiente paso, instalaremos el servidor web.


Ubuntu
  1. Perfect Server Automated ISPConfig 3 Instalación en Debian 10 - 11 y Ubuntu 20.04

  2. El servidor perfecto:Ubuntu 15.04 (nginx, BIND, Dovecot e ISPConfig 3)

  3. Perfect Server Automated ISPConfig 3 Instalación en Debian 10 - 11 y Ubuntu 20.04

  4. Perfect Server Automated ISPConfig 3 Instalación en Debian 10 - 11 y Ubuntu 20.04

  5. Cómo configurar la conmutación por error de IP con KeepAlived en Ubuntu y Debian

El servidor perfecto:Ubuntu 14.04 (nginx, BIND, MySQL, PHP, Postfix, Dovecot e ISPConfig 3)

Reemplazo de Amavisd con Rspamd en ISPConfig 3.1 en Debian y Ubuntu

Cómo instalar y configurar RabbitMQ en Ubuntu 16.04

Cómo instalar y configurar Apache Spark en Ubuntu 21.04

Instalar y configurar OwnCloud en Ubuntu 21 / Debian 11

Cómo instalar y configurar Apache Spark en Ubuntu/Debian