GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo instalar ISPConfig 3 en Ubuntu 18.04

En este tutorial, le mostraremos cómo configurar e instalar ISPConfig 3 en un VPS con Ubuntu 18.04.

ISPConfig es un conocido panel de control de alojamiento web de código abierto que nos permite administrar servicios a través de un navegador web. Podemos agregar fácilmente host virtual Apache o bloques de servidor Nginx, crear/editar/eliminar bases de datos, configurar trabajos cron, crear cuentas de correo electrónico y mucho más. Es una alternativa gratuita a los paneles de control pagos:no tiene que gastar dinero para usar este panel de control.

Requisitos previos:

  • Un VPS con Ubuntu 18.04
  • Acceso SSH con privilegios de root

Paso 1:Inicie sesión a través de SSH y actualice el sistema

Inicie sesión en su Ubuntu 18.04 VPS con SSH como usuario root o un usuario con privilegios sudo:

ssh root@IP_Address -p Port_number

Reemplace IP_Address y Port_number con sus respectivos valores para su servidor.

Puede verificar si tiene instalada la versión adecuada de Ubuntu en su servidor con el siguiente comando:

lsb_release -a

Deberías obtener este resultado:

Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic

Luego, ejecute el siguiente comando para asegurarse de que todos los paquetes instalados en el servidor estén actualizados a la última versión disponible:

apt update && apt upgrade

En este tutorial, usaremos ubuntu.mydomain.com como nombre de host del servidor; un nombre de host debe ser un FQDN (un nombre de dominio completamente calificado). Es importante utilizar un subdominio como nombre de host y no el dominio principal. Si no usa un subdominio para el nombre de host del servidor, por ejemplo, tendrá un problema con amavis y otros programas relacionados con el correo electrónico. Obtenga más información sobre cómo cambiar su nombre de host.

Paso 2:reconfigurar Bash y detener el programa 'apparmor'

Necesitamos usar bash como shell del sistema predeterminado, no dash, para continuar con la instalación de ISPConfig.

dpkg-reconfigure dash
Use dash as the default system shell (/bin/sh)? No
systemctl stop apparmor
systemctl disable apparmor

Compruebe si ya tiene servicios ejecutándose en su servidor:

netstat -pltn

Paso 3:Instale MariaDB, Postfix y Dovecot

Ejecute los siguientes comandos para instalar MariaDB, Postfix y Dovecot.

apt install mariadb-server postfix postfix-mysql openssl dovecot-mysql dovecot-pop3d dovecot-sieve dovecot-lmtpd binutils dovecot-imapd

En el proceso de instalación, se le harán dos preguntas para postfix:asegúrese de usar su nombre de host como el nombre de correo del sistema.

General type of mail configuration: Internet Site
System mail name: ubuntu.mydomain.com

A continuación, edite /etc/postfix/master.cf utilizando su editor de texto preferido.

Básicamente, necesitaremos descomentar algunas líneas en el archivo de configuración y agregar -o smtpd_client_restrictions=permit_sasl_authenticated,reject en las secciones de envío y smtpd. El archivo debería tener el siguiente aspecto:

submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING

smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING

Cuando termine, guarde y salga del archivo y reinicie Postfix:

systemctl restart postfix

En este punto, MariaDB se está ejecutando y ahora vamos a crear una contraseña para el usuario root. Ejecute el siguiente comando para crear una contraseña raíz, elimine la base de datos de prueba, elimine el usuario anónimo y luego vuelva a cargar los privilegios.

mysql_secure_installation

Una vez creada, puede probar la contraseña invocando este comando. Se le pedirá la contraseña de root que configuró en el comando anterior:

# mysql -u root -p

Paso 4:Instale Spamassassin, Clamav y Amavisd-new

Ejecute la siguiente línea para instalar Spamassassin, Clamav y Amavisd-new, así como algunos paquetes necesarios para que estos programas funcionen correctamente.

apt install spamassassin clamav clamav-daemon amavisd-new postgrey zip unzip bzip2 arj nomarch lzop cabextract libnet-ldap-perl libauthen-sasl-perl daemon libnet-ident-perl libnet-dns-perl libio-string-perl libio-socket-ssl-perl apt-listchanges

Para liberar algo de uso de memoria, podemos detener spamassassin. ISPConfig 3 usa amavisd, que carga las bibliotecas de Spamassassin internamente, por lo que podemos detener spamassassin.

systemctl stop spamassassin
systemctl disable spamassassin
freshclam

Si ve el mensaje de error cuando ejecuta el comando "freshclam" como se muestra a continuación, puede ignorarlo, ya que significa que freshclam ya se está ejecutando:

ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
systemctl start clamav-daemon

En el momento de escribir este artículo, amavisd-new tiene un error en Ubuntu 18.04 que debe corregirse. Para solucionarlo, ejecute los siguientes comandos:

cd /tmp
wget https://git.ispconfig.org/ispconfig/ispconfig3/raw/stable-3.1/helper_scripts/ubuntu-amavisd-new-2.11.patch
cd /usr/sbin
cp -pf amavisd-new{,.orig}
patch < /tmp/ubuntu-amavisd-new-2.11.patch

Verá el siguiente mensaje. Pero, si ve un mensaje de error, significa que amavisd-new ya ha sido parcheado.

Paso 5:Instale Apache y otros paquetes

Ejecute el siguiente comando para instalar los paquetes requeridos por ISPConfig. Es probable que al menos algunos de estos ya estén instalados en su sistema.

apt install apache2 apache2-utils apache2-doc libapache2-mod-php php7.2 php7.2-common php7.2-cli php7.2-mysql php7.2-sqlite3 php7.2-imap php7.2-gd php7.2-cgi php7.2-zip php7.2-mbstring php7.2-opcache php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2-xsl libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby memcached php-memcache php-imagick libapache2-mod-python php-gettext php-apcu phpmyadmin mailman roundcube roundcube-core roundcube-mysql roundcube-plugins php-net-sieve tinymce getmail4 javascript-common libjs-jquery-mousewheel rkhunter binutils vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl bind9 dnsutils haveged daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl quota quotatool libnet-dns-perl pure-ftpd-common pure-ftpd-mysql cabextract certbot

Durante la instalación, deberá responder algunas preguntas básicas. Si se le pide que seleccione un servidor web, seleccione Apache2.
Además, se le pedirá que ingrese la contraseña de la aplicación MySQL para phpMyAdmin y la contraseña de la aplicación MySQL para Roundcube. Puede ingresar una contraseña segura de su elección o dejarlos en blanco para que el sistema cree contraseñas aleatorias para ellos. Idealmente, crearía la contraseña para que pueda saber cuál es la contraseña.

Configurar Apache y PHP

Una vez que se completa la instalación de los paquetes requeridos, es hora de configurar el software. Comencemos con Apache. Habilite los siguientes módulos de Apache y PHP:

a2enmod rewrite ssl cgi include actions suexec dav_fs dav auth_digest alias
phpenmod mcrypt
systemctl restart apache2

También necesitamos configurar el correo web de Roundcube para evitar que muestre la entrada del nombre del servidor en el formulario de inicio de sesión del correo web.

nano /etc/roundcube/config.inc.php

Edite el valor 'default_host' a 'localhost'

$config['default_host'] = 'localhost';

Guarde el archivo y luego salga.

Configurar ftpd puro

Dado que deberá proporcionar a los usuarios acceso FTP a su Ubuntu VPS para que puedan cargar y descargar archivos, debe configurar un entorno chroot. De esa forma, los usuarios no tendrán acceso al resto del sistema. Edite el /etc/default/pure-ftpd-common y cambie el valor de VIRTUALCHROOT de falso a verdadero.

nano /etc/default/pure-ftpd-common
VIRTUALCHROOT=true

Guarde el archivo y salga, luego reinicie el servicio para que los cambios surtan efecto:

systemctl restart pure-ftpd-mysql

Crear una nueva lista para Mailman

Podemos crear una nueva lista para Mailman ahora.

newlist mailman

Se le pedirá que ingrese el correo electrónico de la persona que maneja la lista, así como una contraseña. El script le proporcionará una salida de alias que deben agregarse a /etc/aliases archivo.

nano /etc/aliases

El archivo debe ser como el siguiente:

# Required aliases
postmaster: root
MAILER-DAEMON: postmaster

# Common aliases
abuse: postmaster
spam: postmaster

# Other aliases
clamav: root

mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Guarde y cierre el archivo. Inicialice la base de datos de alias y reinicie los servicios.

newaliases
systemctl restart mailman

Desactivar awstats cron

nano /etc/cron.d/awstats

Necesitamos comentar todas las líneas en ese archivo agregando "#" delante de las líneas, debería ser así:

#MAILTO=root

#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh

# Generate static reports:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

Paso 6:Instalar Fail2Ban

Puede omitir este paso, pero por motivos de seguridad se recomienda tener Fail2Ban ejecutándose en su servidor. Esto bloquea temporalmente las direcciones IP de las computadoras que intentan iniciar sesión a través de SSH demasiadas veces. Ejecute este comando para instalarlo:

apt install fail2ban -y

Una vez instalado, use su editor de texto preferido para editar el archivo de configuración de Fail2Ban.

nano /etc/fail2ban/jail.local
[pure-ftpd]
enabled = true
port = ftp
filter = pure-ftpd
logpath = /var/log/syslog
maxretry = 3

[dovecot]
enabled = true
filter = dovecot
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 5

[postfix]
enabled = true
port = smtp
filter = postfix
logpath = /var/log/mail.log
maxretry = 3

Paso 7:Instalar Jailkit

Si desea chrootear a sus usuarios de SSH, debe instalar Jailkit antes de instalar ISPConfig.

apt-get -y install build-essential autoconf automake1.11 libtool flex bison debhelper
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.20.tar.gz
tar xvfz jailkit-2.20.tar.gz
cd jailkit*
echo 5 > debian/compat

./debian/rules binary

Ahora podemos instalar Jailkit con el siguiente comando:

cd ..
dpkg -i jailkit_2.20-1_*.deb

Paso 8:Instalar ISPConfig 3

Finalmente, instalemos ISPConfig. Descargue la última versión e instálela usando los siguientes comandos:

cd /tmp
wget -O ispconfig.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/
php -q install.php

Responda las preguntas para completar la instalación y luego acceda al panel de control de hospedaje de ISPConfig en:http://yourIPAddress:8080

¡Felicidades! En este punto, debería poder acceder a ISPConfig en http://yourIPAddress:8080 . Para obtener más información sobre ISPConfig, sus características y configuración, consulte su documentación oficial.

No dude en consultar nuestro tutorial sobre cómo instalar ISPConfig 3 en CentOS 3.

Por supuesto, no es necesario que sepa cómo instalar ISPConfig en Ubuntu 18.04 si utiliza nuestros servicios de alojamiento VPS de Ubuntu 18.04. Simplemente puede pedirle a nuestro equipo de soporte que instale ISPConfig en Ubuntu 18.04 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y podrán ayudarlo con la instalación de ISPConfig en Ubuntu 18.04.

PD . Si disfruta leyendo esta publicación de blog sobre la instalación de ISPConfig en Ubuntu 18.04, siéntase libre de compartirla en las redes sociales usando los accesos directos para compartir a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.


Panels
  1. Cómo instalar ATutor en Ubuntu 14.04

  2. Cómo instalar Traq en Ubuntu 16.04

  3. Cómo instalar Pip en Ubuntu 16.04

  4. Cómo instalar WildFly en Ubuntu 16.04

  5. Cómo instalar R en Ubuntu 16.04

Cómo instalar Go en Ubuntu 18.04

Cómo instalar R en Ubuntu 18.04

Cómo instalar qt en Ubuntu 20.04

Cómo instalar ISPConfig en Ubuntu 20.04 LTS

Cómo instalar Go en Ubuntu 20.04

Cómo instalar Go en Ubuntu 22.04