GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instalar ISPConfig en CentOS 8

En este tutorial instalaremos ISPConfig en CentOS 8.

ISPConfig es un panel de control de código abierto para Linux. Tiene una interfaz web fácil de usar. Con ISPConfig, los usuarios pueden administrar sus sitios web, direcciones de correo electrónico, cuentas FTP, registros DNS, bases de datos y cuentas shell.

Administrador, revendedor, cliente y usuario de correo electrónico son los cuatro niveles diferentes de acceso de usuario a ISPConfig. Cada nivel de usuario tiene un tipo diferente de dirección.

Primero, configure SElinux en modo permisivo.

nano /etc/selinux/config

Cambie el modo de habilitado a permisivo como se muestra en la imagen a continuación.

Ahora reinicie el sistema.

reboot

Habilitar repositorios adicionales:

Primero, importa la clave GPG para paquetes de software.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Habilitar repositorio Epel.

dnf -y install epel-release

Ahora activaremos las herramientas eléctricas.

dnf config-manager --set-enabled powertools

Ahora actualizaremos usando el siguiente comando:

dnf -y update

Instale algunos paquetes adicionales.

dnf -y groupinstall 'Development Tools'

Tenemos que habilitar Remi Repository para obtener versiones más nuevas de PHP.

dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf -y install yum-utils
dnf -y module reset php
dnf -y module install php:remi-7.4
dnf update

Utilice el siguiente comando para instalar los paquetes necesarios:

dnf -y install httpd mod_ssl mariadb-server php php-mysqlnd php-mbstring

Por seguridad, deshabilitaremos el encabezado HTTP_PROXY en apache globalmente usando el siguiente comando:

echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf

Reinicie el servicio httpd para aplicar los cambios de configuración.

systemctl restart httpd

Ahora instalaremos PhpMyAdmin.

cd /tmp
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.tar.gz
tar xzvf phpMyAdmin-5.0.2-all-languages.tar.gz
mkdir /usr/share/phpmyadmin
mv phpMyAdmin-5.0.2-all-languages/* /usr/share/phpmyadmin/
mkdir /usr/share/phpmyadmin/tmp
chown -R apache:apache /usr/share/phpmyadmin
chmod 777 /usr/share/phpmyadmin/tmp

Instalar Dovecot:instalar ISPConfig en CentOS 8

Usamos los siguientes comandos para instalar dovecot.

dnf -y install dovecot dovecot-mysql dovecot-pigeonhole

Cree un archivo de configuración vacío y cree enlaces simbólicos con el archivo de configuración principal.

touch /etc/dovecot/dovecot-sql.conf
ln -s /etc/dovecot/dovecot-sql.conf /etc/dovecot-sql.conf
ln -s /etc/dovecot/dovecot.conf /etc/dovecot.conf

Ahora habilite Dovecot para que pueda comenzar a iniciarse automáticamente. Además, inicie el servicio.

systemctl enable dovecot
systemctl start dovecot

Instalar Postfix:

Use el siguiente comando para instalar postfix:

dnf -y install postfix postfix-mysql

Ahora abriremos los puertos TLS/SSL y de envío en postfix.

nano /etc/postfix/master.cf

Después de editar el archivo master.cf, debería verse así:

submission inet n - n - - 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 - n - - 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

Simplemente cambie las líneas, no elimine ningún contenido en el archivo, solo cambie las líneas mencionadas anteriormente.

Habilite e inicie el servicio Postfix y mariadb.

systemctl enable mariadb.service
systemctl start mariadb.service

systemctl enable postfix.service
systemctl restart postfix.service

Instalar Getmail:

Use los siguientes comandos para instalar getmail:

dnf install python2
cd /tmp
wget http://pyropus.ca/software/getmail/old-versions/getmail-5.14.tar.gz
tar xvfz getmail-5.14.tar.gz
cd getmail-5.14
python2 setup.py build
python2 setup.py install

Ahora estableceremos la contraseña MYSQL y configuraremos phpMyAdmin.

Use el siguiente comando para la configuración de mariadb:

mysql_secure_installation

Establezca todas las configuraciones de la siguiente manera:


NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Ahora configuraremos phpmyadmin.

nano /etc/httpd/conf.d/phpmyadmin.conf

Agregue las siguientes líneas en el archivo:

# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL

Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
  #  <RequireAny>
     #  Require ip 127.0.0.1
     #  Require ip ::1
  #  </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

A continuación, cambiaremos la autenticación en phpMyAdmin de cookie a http.

cp -pf /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
nano /usr/share/phpmyadmin/config.inc.php

Cambie la siguiente línea:

$cfg['Servers'][$i]['auth_type'] = 'http';

Habilite e inicie el servicio Apache.

systemctl enable httpd
systemctl restart httpd

Instalar Amavisd-new, SpamAssassin, ClamAV y Postgrey:

Instalaremos amavisd-new, SpamAssassin y ClamAV usando el siguiente comando:

dnf -y install amavisd-new spamassassin clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd unzip bzip2 perl-DBD-mysql postgrey re2c

A continuación, habilitaremos e iniciaremos estos servicios.

sa-update
freshclam
systemctl enable amavisd.service
systemctl start amavisd.service
systemctl start [email protected]
systemctl enable postgrey.service
systemctl start postgrey.service

Ahora configuraremos el servicio postgrey.

nano /etc/sysconfig/postgrey

Change the following line

POSTGREY_TYPE="--unix=/var/spool/postfix/postgrey/socket"

to 

POSTGREY_TYPE="--inet=10023"

guarde y cierre el archivo y reinicie el servicio postgrey.

systemctl restart postgrey.service

Ahora configura Amivisd.

nano /etc/clamd.d/amavisd.conf

change the following line

LocalSocket /run/clamd.amavisd/clamd.sock

to

LocalSocket /var/spool/amavisd/clamd.sock

guarde y cierre el archivo y reinicie el servicio clamAV.

systemctl restart [email protected]
systemctl status [email protected]

Ahora crearemos freshclam como un servicio para que pueda iniciarse y detenerse usando systemctl. Para que esto funcione tendremos que crear un archivo con la ruta /usr/lib/systemd/system/freshclam.service.

nano /usr/lib/systemd/system/freshclam.service

Agregue el siguiente contenido al archivo:

[Unit]
Description = ClamAV Scanner
After = network.target

[Service]
Type = forking
# if you want to scan more than one in a day change the number 1 with your desired number in below line.
ExecStart = /usr/bin/freshclam -d -c 1
Restart = on-failure
PrivateTmp =true

[Install]
WantedBy=multi-user.target

guardar y salir del archivo.

Ahora habilite e inicie el servicio.

systemctl enable freshclam.service
systemctl start freshclam.service
systemctl status freshclam.service

Instalar Apache con mod_php, mod_fcgi/PHP, PHP-FPM:

ISPConfig 3 le permite usar mod_php, mod_fcgi/PHP, cgi/PHP y PHP-FPM según el sitio web.

Instale Apache2 con mod_php, mod_fcgid y PHP usando el siguiente comando:

dnf -y install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel php-fpm php-intl php-imagick php-pspell wget

Ahora configuraremos el archivo php.ini.

nano /etc/php.ini

Cambie el informe de errores para que no se muestre el aviso, configure la zona horaria y elimine el comentario de la línea "cgi.fix_pathinfo=1 “.

Habilite httpd y PHP-FPM para que el servicio pueda iniciarse en el momento del arranque e inicie el servicio PHP-FPM.

systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl status php-fpm.service

Ahora habilite y reinicie el servicio apache.

systemctl enable httpd.service
systemctl restart httpd.service
systemctl status httpd.service

Ahora agregaremos soporte para Let's encrypt. ISPConfig usa acme.sh como cliente de Let's Encrypt. Instale acme.sh usando el siguiente comando:

curl https://get.acme.sh | sh -s

Instalación de mod_python:

mod_python es un módulo de apache. No está disponible como RPM, por lo que tendremos que compilarlo desde la fuente. Primero, instalaremos los archivos de desarrollo de python y luego descargaremos la versión actual del archivo mod_python tar.gz.

dnf -y install python3-devel
cd /usr/local/src/
wget http://dist.modpython.org/dist/mod_python-3.5.0.tgz
tar xfz mod_python-3.5.0.tgz
cd mod_python-3.5.0

Ahora configuraremos y compilaremos mod_python.

./configure --with-python=/usr/bin/python3
make

Hay un error en el módulo compilado que hará que la instalación falle con el error “version =“fatal:No es un repositorio de git (ni ninguno de los directorios principales):.git “. Para resolver ese error, ejecute este comando sed (¡el comando es una línea!).

sed -e 's/(git describe --always)/(git describe --always 2>\/dev\/null)/g' -e 's/`git describe --always`/`git describe --always 2>\/dev\/null`/g' -i $( find . -type f -name Makefile\* -o -name version.sh )

Ahora instale el módulo usando el siguiente comando:

make install

Habilite el módulo en Apache usando el siguiente comando:

echo 'LoadModule python_module modules/mod_python.so' > /etc/httpd/conf.modules.d/10-python.conf
systemctl restart httpd.service
systemctl status httpd.service

Instalar PureFTPd:

PureFTPd se puede instalar usando el siguiente comando:

dnf -y install pure-ftpd

Habilite e inicie el servicio PureFTPd.

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service
systemctl status pure-ftpd.service

Ahora, configuraremos PureFTPd para permitir sesiones FTP y TLS. FTP es un protocolo muy inseguro porque todas las contraseñas y los datos se transfieren en texto claro. Mediante el uso de TLS, toda la comunicación se puede cifrar, lo que hace que el FTP sea mucho más seguro.

TLS necesita OpenSSL; para instalar OpenSSL use el siguiente comando:

dnf install openssl

Abra /etc/pure-ftpd/pure-ftpd.conf y habilitar TLS.

nano /etc/pure-ftpd/pure-ftpd.conf

Permitir sesiones FTP y TLS, establecer TLS a 1 quitando el # delante de la línea TLS. Se recomienda encarecidamente habilitar TLS.

Para usar TLS, debemos crear un certificado SSL. créelo en /etc/ssl/private/ , por lo tanto, crearemos ese directorio primero:

mkdir -p /etc/ssl/private/

Ahora, generaremos un certificado SSL usando el siguiente comando:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Cambiar los permisos del certificado SSL:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Ahora, crea un archivo DHParam usando el siguiente comando:

openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048

Reinicie PureFTPd Service para aplicar todas las configuraciones.

systemctl restart pure-ftpd.service
systemctl status pure-ftpd.service

Instalar BIND:

Instale BIND usando el siguiente comando:

dnf -y install bind bind-utils haveged

Configuraremos BIND según nuestras necesidades, por lo tanto, haga una copia de seguridad del archivo de configuración existente y cree uno nuevo de la siguiente manera:

cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
nano /etc/named.conf

Agregue las siguientes líneas en el archivo de configuración.

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "https://1118798822.rsc.cdn77.org/var/named/data/cache_dump.db";
        statistics-file "https://1118798822.rsc.cdn77.org/var/named/data/named_stats.txt";
        memstatistics-file "https://1118798822.rsc.cdn77.org/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
				allow-recursion {"none";};
        recursion no;
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
include "https://1118798822.rsc.cdn77.org/etc/named.conf.local";

guardar y salir del archivo.

Cree el archivo /etc/named.conf.local que se incluye al final de /etc/named.conf/etc/named.conf.local ” se completará más tarde con ISPConfig si crea zonas DNS en ISPConfig.

touch /etc/named.conf.local

Habilite e inicie BIND y tenga.

systemctl enable named.service
systemctl start named.service

systemctl status named.service
systemctl enable haveged.service
systemctl start haveged.service
systemctl status haveged.service

Instalar AWStats:

AWStats es una aplicación de estadísticas web. Utilice el siguiente comando para instalar AWStats:

dnf -y install awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

Instalar Jailkit:

Usaremos Jailkit para hacer chroot de usuarios SSH y cronjobs. Se puede instalar de la siguiente manera:

ln -s /usr/bin/python2 /usr/bin/python
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.21.tar.gz
tar xvfz jailkit-2.21.tar.gz
cd jailkit-2.21
./configure
make
make install
cd ..
rm -rf jailkit-2.21*

Instalar Fail2Ban:

Fail2Ban es opcional pero recomendado, porque el monitor ISPConfig intenta mostrar el registro.

Use el siguiente comando para instalar Fail2Ban.

dnf -y install iptables-services fail2ban fail2ban-systemd
systemctl stop firewalld.service
systemctl mask firewalld.service
systemctl disable firewalld.service

Luego, cree el archivo /etc/fail2ban/jail.local y habilite el monitoreo para el servicio ssh, email y ftp.

nano /etc/fail2ban/jail.local

Agregue las siguientes líneas en el archivo:

[sshd]
enabled = true
action = iptables[name=sshd, port=ssh, protocol=tcp]

[pure-ftpd]
enabled = true
action = iptables[name=FTP, port=ftp, protocol=tcp]
maxretry = 3

[dovecot]
enabled = true
action = iptables-multiport[name=dovecot, port="pop3,pop3s,imap,imaps", protocol=tcp]
maxretry = 5

[postfix-sasl]
enabled = true
action = iptables-multiport[name=postfix-sasl, port="smtp,smtps,submission", protocol=tcp]
maxretry = 3

Habilite e inicie el servicio Fail2Ban.

systemctl enable fail2ban.service
systemctl start fail2ban.service
systemctl status fail2ban.service

Instalar rkhunter:

Ahora instalaremos rkhunter usando el siguiente comando:

dnf -y install rkhunter

Instalar Mailman:

Si desea administrar listas de correo con Mailman en su servidor, instale mailman ahora. Mailman es compatible con ISPConfig, por lo que podrá crear nuevas listas de correo a través de ISPConfig más adelante.

dnf -y install mailman

Antes de iniciar mailman, cree una lista de correo llamada mailman.

touch /var/lib/mailman/data/aliases
postmap /var/lib/mailman/data/aliases
/usr/lib/mailman/bin/newlist mailman
ln -s /usr/lib/mailman/mail/mailman /usr/bin/mailman

Abra Alias ​​usando el siguiente comando:

nano /etc/aliases

Agregue las siguientes líneas en el archivo:

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

Ejecute el siguiente comando para aplicar la configuración recién agregada:

newaliases

Reinicie Postfix.

systemctl restart postfix.service

Configuraremos el archivo de configuración de Apache mailman.

nano /etc/httpd/conf.d/mailman.conf

Agregue la línea ScriptAlias ​​/cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/ . Comentar Alias ​​/pipermail/ /var/lib/mailman/archives/public/ y agregue la línea Alias ​​/pipermail /var/lib/mailman/archives/public/ .

Después de editar el archivo se verá así:

#
#  httpd configuration settings for use with mailman.
#

ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/
<Directory /usr/lib/mailman/cgi-bin/>
    AllowOverride None
    Options ExecCGI
    Require all granted
</Directory>


#Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /pipermail /var/lib/mailman/archives/public/
<Directory /var/lib/mailman/archives/public>
    Options MultiViews FollowSymLinks
    AllowOverride None
    Require all granted
    AddDefaultCharset Off
</Directory>

# Uncomment the following line, replacing www.example.com with your server's
# name, to redirect queries to /mailman to the listinfo page (recommended).

# RedirectMatch ^/mailman[/]*$ http://www.example.com/mailman/listinfo

Reinicie Apache Service para aplicar configuraciones.

systemctl restart httpd.service

Habilite e inicie el servicio Mailman.

systemctl enable mailman.service
systemctl start mailman.service
systemctl status mailman.service

Después de instalar ISPConfig 3, puede usar Mailman de la siguiente manera:

Puede usar el alias /cgi-bin/mailman para todos los vhosts de Apache (tenga en cuenta que suExec y CGI deben estar deshabilitados para todos los vhosts desde los que desea acceder a Mailman), lo que significa que puede acceder a la interfaz de administración de Mailman para obtener una lista en http:///cgi-bin/mailman/admin/, y la página web para usuarios de una lista de correo se puede encontrar en http:///cgi-bin/mailman/listinfo/.

En http:///pipermail/ puede encontrar los archivos de la lista de correo.

Instalar el correo web de Roundcube:

Descargaremos Roundcube webmail usando wget y luego lo instalaremos.

cd /tmp
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz

Descomprima el archivo tar.gz y mueva la fuente de RoundCube a /usr/share/roundcubemail.

tar xfz roundcubemail-1.4.3-complete.tar.gz
mkdir /usr/share/roundcubemail
mv /tmp/roundcubemail-1.4.3/* /usr/share/roundcubemail/
chown -R root:root /usr/share/roundcubemail
chown apache /usr/share/roundcubemail/temp
chown apache /usr/share/roundcubemail/logs

cree un archivo de configuración de roundcube.

nano /etc/httpd/conf.d/roundcubemail.conf

Agregue las siguientes líneas en el archivo:

#
# Round Cube Webmail is a browser-based multilingual IMAP client
#

Alias /roundcubemail /usr/share/roundcubemail
Alias /webmail /usr/share/roundcubemail

# Define who can access the Webmail
# You can enlarge permissions once configured

<Directory /usr/share/roundcubemail/>
        Options none
        AllowOverride Limit
        Require all granted
</Directory>

# Define who can access the installer
# keep this secured once configured

<Directory /usr/share/roundcubemail/installer>
        Options none
        AllowOverride Limit
        Require all granted
</Directory>


# Those directories should not be viewed by Web clients.
<Directory /usr/share/roundcubemail/bin/>
    Order Allow,Deny
    Deny from all
</Directory>
<Directory /usr/share/roundcubemail/plugins/enigma/home/>
    Order Allow,Deny
    Deny from all
</Directory>

Reinicie Apache.

systemctl restart httpd.service

Ahora necesitamos una base de datos para el correo de RoundCube, la crearemos de la siguiente manera:

mysql -u root -p

use las siguientes consultas para crear la base de datos:

CREATE DATABASE roundcubedb;
CREATE USER roundcubeuser@localhost IDENTIFIED BY 'roundcubepassword';
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ;
FLUSH PRIVILEGES;
exit

Ahora instalaremos RoundCube en el navegador en http://YOUR_IPAddress/roundcubemail/installer/

Ahora crea el archivo config.inc.php.

nano /usr/share/roundcubemail/config/config.inc.php

Agregue las siguientes líneas en él:

<?php

/* Local configuration for Roundcube Webmail */

// ----------------------------------
// SQL DATABASE
// ----------------------------------
// Database connection string (DSN) for read+write operations
// Format (compatible with PEAR MDB2): db_provider://user:password@host/database
// Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv, oracle
// For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php
// NOTE: for SQLite use absolute path (Linux): 'sqlite:////full/path/to/sqlite.db?mode=0646'
// or (Windows): 'sqlite:///C:/full/path/to/sqlite.db'
$config['db_dsnw'] = 'mysql://roundcubeuser:roundcubepassword@localhost/roundcubedb';

// ----------------------------------
// IMAP
// ----------------------------------
// The IMAP host chosen to perform the log-in.
// Leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Supported replacement variables:
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %s - domain name after the '@' from e-mail address provided at login screen
// For example %n = mail.domain.tld, %t = domain.tld
// WARNING: After hostname change update of mail_host column in users table is
// required to match old user data records with the new host.
$config['default_host'] = 'localhost';
$config['smtp_server'] = 'localhost';
$config['smtp_port'] = 25;

// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';

// This key is used for encrypting purposes, like storing of imap password
// in the session. For historical reasons it's called DES_key, but it's used
// with any configured cipher_method (see below).
$config['des_key'] = 'pb0UucO0eqjgvhrqYlFTBVjE';

// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = array();

// Set the spell checking engine. Possible values:
// - 'googie' - the default (also used for connecting to Nox Spell Server, see 'spellcheck_uri' setting)
// - 'pspell' - requires the PHP Pspell module and aspell installed
// - 'enchant' - requires the PHP Enchant module
// - 'atd' - install your own After the Deadline server or check with the people at http://www.afterthedeadline.com before using their API
// Since Google shut down their public spell checking service, the default settings
// connect to http://spell.roundcube.net which is a hosted service provided by Roundcube.
// You can connect to any other googie-compliant service by setting 'spellcheck_uri' accordingly.
$config['spellcheck_engine'] = 'pspell';
$config['enable_installer'] = true;

Now click Next in the web browser:

Then press continue and you will enter a new page where It will give you the configurations. Just copy these configurations and paste on config.php.ini file.

then initailize database.

Now, Open config file.

nano /usr/share/roundcubemail/config/config.inc.php

change the line:

$config['enable_installer'] = true;

to

$config['enable_installer'] = false;

Roundcube is available now under the aliases /webmail and /roundcubemail on your server:

http://YOUR_IPAddress/webmail

The RoundCube login is the email address and password of an email account that you create later in ISPConfig.

Install ISPConfig on CentOS 8

The ISPConfig installer will configure all services like Postfix, Dovecot, etc. for you.

You also have the possibility to let the installer create an SSL vhost for the ISPConfig control panel
so that ISPConfig can be accessed using https:// instead of http://. To achieve this, just press ENTER when you see this question:
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:.

To install ISPConfig 3.2 nightly build, use the following commands:

cd /tmp 
wget -O ispconfig.tar.gz https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/

The next step is to run:

php -q install.php

This will start the ISPConfig 3 installer. The installer will configure all services like Postfix, Dovecot, etc. for you.

Hit Enter if the value in bracket is what you want you set otherwise enter your desired value and press Enter.

Installation is now complete.

Afterwards you can access ISPConfig 3 using https://YOUR-IPAddress:8080.

Login with admin as Username and Password. You should change the default password after first login.

Now you can use ISPConfig as per your need.


Cent OS
  1. Instale MariaDB 10.0 en CentOS 6

  2. Cómo instalar DNF en CentOS 7

  3. Instalar PHP 7.4 en CentOS 8

  4. Instalar ownCloud en CentOS 6

  5. Cómo instalar ISPConfig 3 en CentOS 7

Cómo instalar R en CentOS 8

Cómo instalar y configurar ISPConfig CP en CentOS 7

Instalar Keepalived en CentOS 8

Instalar Neofetch en CentOS 8

Cómo instalar ISPConfig en CentOS 7

¿Cómo instalar ISPConfig en CentOS 7.x?