In questo tutorial installeremo ISPConfig su CentOS 8.
ISPConfig è un pannello di controllo open source per Linux. Ha un'interfaccia web facile da usare. Utilizzando ISPConfig gli utenti possono gestire i propri siti Web, indirizzi e-mail, account FTP, record DNS, database e account shell.
Amministratore, Rivenditore, Cliente e Utente e-mail sono i quattro diversi livelli di accesso utente a ISPConfig. Ciascun livello utente ha un diverso tipo di indirizzo.
Per prima cosa, imposta SElinux in modalità permissiva.
nano /etc/selinux/config
Cambia la modalità da abilitata a permissiva come mostrato nell'immagine qui sotto.
Ora riavvia il sistema.
reboot
Abilita repository aggiuntivi:
Innanzitutto, importa la chiave GPG per i pacchetti software.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Abilita repository Epel.
dnf -y install epel-release
Ora attiveremo gli elettroutensili.
dnf config-manager --set-enabled powertools
Ora aggiorneremo usando il seguente comando:
dnf -y update
Installa alcuni pacchetti aggiuntivi.
dnf -y groupinstall 'Development Tools'
Dobbiamo abilitare Remi Repository per ottenere versioni più recenti di 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
Utilizzare il comando seguente per installare i pacchetti richiesti:
dnf -y install httpd mod_ssl mariadb-server php php-mysqlnd php-mbstring
Per sicurezza disabiliteremo l'intestazione HTTP_PROXY in apache a livello globale usando il seguente comando:
echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf
Riavvia il servizio httpd per applicare le modifiche alla configurazione.
systemctl restart httpd
Ora installeremo 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
Installa Dovecot:installa ISPConfig su CentOS 8
Usiamo i seguenti comandi per installare dovecot.
dnf -y install dovecot dovecot-mysql dovecot-pigeonhole
Crea un file di configurazione vuoto e crea collegamenti simbolici con il file di configurazione principale.
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
Ora abilita Dovecot in modo che possa avviarsi automaticamente. Inoltre, avvia il servizio.
systemctl enable dovecot
systemctl start dovecot
Installa Postfix:
Usa il seguente comando per installare postfix:
dnf -y install postfix postfix-mysql
Ora apriremo le porte TLS/SSL e di invio in postfix.
nano /etc/postfix/master.cf
Dopo aver modificato il file master.cf dovrebbe apparire così:
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
Appena cambiate le righe non cancellano alcun contenuto nel file cambia solo le righe sopra menzionate.
Abilita e avvia il servizio Postfix e mariadb.
systemctl enable mariadb.service
systemctl start mariadb.service
systemctl enable postfix.service
systemctl restart postfix.service
Installa Getmail:
Utilizzare i seguenti comandi per installare 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
Ora imposteremo la password MYSQL e configureremo phpMyAdmin.
Utilizzare il seguente comando per la configurazione di mariadb:
mysql_secure_installation
Imposta tutte le configurazioni come di seguito:
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!
Ora configureremo phpmyadmin.
nano /etc/httpd/conf.d/phpmyadmin.conf
Aggiungi le seguenti righe nel file:
# 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>
Successivamente, cambieremo l'autenticazione in phpMyAdmin da 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
Modifica la seguente riga:
$cfg['Servers'][$i]['auth_type'] = 'http';
Abilita e avvia il servizio Apache.
systemctl enable httpd
systemctl restart httpd
Installa Amavisd-new, SpamAssassin, ClamAV e Postgrey:
Installeremo amavisd-new, SpamAssassin e ClamAV usando il seguente 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
Successivamente, abiliteremo e avvieremo questi servizi.
sa-update
freshclam
systemctl enable amavisd.service
systemctl start amavisd.service
systemctl start [email protected]
systemctl enable postgrey.service
systemctl start postgrey.service
Ora configureremo il servizio postgrey.
nano /etc/sysconfig/postgrey
Change the following line
POSTGREY_TYPE="--unix=/var/spool/postfix/postgrey/socket"
to
POSTGREY_TYPE="--inet=10023"
salva ed esci dal file e riavvia il servizio postgrey.
systemctl restart postgrey.service
Ora configura Amvisd.
nano /etc/clamd.d/amavisd.conf
change the following line
LocalSocket /run/clamd.amavisd/clamd.sock
to
LocalSocket /var/spool/amavisd/clamd.sock
salva ed esci dal file e riavvia il servizio clamAV.
systemctl restart [email protected]
systemctl status [email protected]
Ora creeremo freshclam come servizio in modo che possa essere avviato e interrotto usando systemctl. Perché ciò funzioni dovremo creare un file con il percorso /usr/lib/systemd/system/freshclam.service.
nano /usr/lib/systemd/system/freshclam.service
Aggiungi il seguente contenuto al file:
[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
salva ed esci dal file.
Ora abilita e avvia il servizio.
systemctl enable freshclam.service
systemctl start freshclam.service
systemctl status freshclam.service
Installa Apache con mod_php, mod_fcgi/PHP, PHP-FPM:
ISPConfig 3 ti consente di utilizzare mod_php, mod_fcgi/PHP, cgi/PHP e PHP-FPM in base al sito Web.
Installa Apache2 con mod_php, mod_fcgid e PHP usando il seguente 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
Ora configureremo il file php.ini.
nano /etc/php.ini
Modificare la segnalazione degli errori in modo che l'avviso non venga visualizzato, impostare il fuso orario e decommentare la riga "cgi.fix_pathinfo=1 “.
Abilita httpd e PHP-FPM in modo che il servizio possa avviarsi all'avvio e avviare il servizio PHP-FPM.
systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl status php-fpm.service
Ora abilita e riavvia il servizio Apache.
systemctl enable httpd.service
systemctl restart httpd.service
systemctl status httpd.service
Ora aggiungeremo il supporto per Let's encrypt. ISPConfig utilizza acme.sh come client Let's Encrypt. Installa acme.sh usando il seguente comando:
curl https://get.acme.sh | sh -s
Installazione di mod_python:
mod_python è un modulo di apache. Non è disponibile come RPM, quindi dovremo compilarlo dal sorgente. Innanzitutto, installeremo i file di sviluppo python e quindi scaricheremo la versione corrente del file 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
Ora configureremo e compileremo mod_python.
./configure --with-python=/usr/bin/python3
make
Si è verificato un errore nel modulo compilato che causerà il fallimento dell'installazione con l'errore “version =“fatale:non è un repository git (o una qualsiasi delle directory principali):.git “. Per risolvere l'errore, esegui questo comando sed (il comando è una riga!).
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 )
Ora installa il modulo usando il seguente comando:
make install
Abilita il modulo in Apache usando il seguente 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
Installa PureFTPd:
PureFTPd può essere installato utilizzando il seguente comando:
dnf -y install pure-ftpd
Abilita e avvia il servizio PureFTPd.
systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service
systemctl status pure-ftpd.service
Ora configureremo PureFTPd per consentire sessioni FTP e TLS. FTP è un protocollo molto insicuro perché tutte le password e i dati vengono trasferiti in chiaro. Utilizzando TLS, l'intera comunicazione può essere crittografata, rendendo così l'FTP molto più sicuro.
OpenSSL è necessario per TLS; per installare OpenSSL usa il seguente comando:
dnf install openssl
Apri /etc/pure-ftpd/pure-ftpd.conf e Abilita TLS.
nano /etc/pure-ftpd/pure-ftpd.conf
Consenti sessioni FTP e TLS, imposta TLS a 1 rimuovendo il # davanti alla riga TLS. Si consiglia vivamente di abilitare TLS.
Per utilizzare TLS, dobbiamo creare un certificato SSL. crealo in /etc/ssl/private/ , quindi cesseremo prima quella directory:
mkdir -p /etc/ssl/private/
Ora genereremo un certificato SSL usando il seguente comando:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Modifica le autorizzazioni del certificato SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Ora, crea un file DHParam usando il seguente comando:
openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048
Riavvia il servizio PureFTPd per applicare tutte le configurazioni.
systemctl restart pure-ftpd.service
systemctl status pure-ftpd.service
Installa BIND:
Installa BIND usando il seguente comando:
dnf -y install bind bind-utils haveged
Configurare BIND secondo le nostre necessità, quindi, eseguire il backup del file di configurazione esistente e crearne uno nuovo come segue:
cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
nano /etc/named.conf
Aggiungi le seguenti righe nel file di configurazione.
//
// 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";
salva ed esci dal file.
Crea il file /etc/named.conf.local che è incluso alla fine di /etc/named.conf “/etc/named.conf.local ” verrà successivamente popolato da ISPConfig se crei zone DNS in ISPConfig.
touch /etc/named.conf.local
Abilita e avvia BIND e havege.
systemctl enable named.service
systemctl start named.service
systemctl status named.service
systemctl enable haveged.service
systemctl start haveged.service
systemctl status haveged.service
Installa AWSstats:
AWSstats è un'applicazione di statistiche web. Utilizza il comando seguente per installare AWSstats:
dnf -y install awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
Installa Jailkit:
Useremo Jailkit per eseguire il chroot di utenti SSH e cronjob. Può essere installato come segue:
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*
Installa Fail2Ban:
Fail2Ban è facoltativo ma consigliato, perché il monitor ISPConfig tenta di mostrare il registro.
Utilizzare il comando seguente per installare Fail2Ban.
dnf -y install iptables-services fail2ban fail2ban-systemd
systemctl stop firewalld.service
systemctl mask firewalld.service
systemctl disable firewalld.service
Quindi, crea il file /etc/fail2ban/jail.local e abilita il monitoraggio per ssh, email e servizio ftp.
nano /etc/fail2ban/jail.local
Aggiungi le seguenti righe nel file:
[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
Abilita e avvia il servizio Fail2Ban.
systemctl enable fail2ban.service
systemctl start fail2ban.service
systemctl status fail2ban.service
Installa rkhunter:
Ora installeremo rkhunter usando il seguente comando:
dnf -y install rkhunter
Installa Mailman:
Se ti piace gestire le mailing list con Mailman sul tuo server, installa subito mailman. Mailman è supportato da ISPConfig, quindi potrai creare nuove mailing list tramite ISPConfig in seguito.
dnf -y install mailman
Prima di avviare mailman, crea una mailing list chiamata 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
Apri gli alias usando il seguente comando:
nano /etc/aliases
Aggiungi le seguenti righe nel file:
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"
Esegui il comando seguente per applicare la configurazione appena aggiunta:
newaliases
Riavvia Postfix.
systemctl restart postfix.service
Configureremo il file di configurazione del mailman di Apache.
nano /etc/httpd/conf.d/mailman.conf
Aggiungi la riga ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/ . Commenta Alias /pipermail/ /var/lib/mailman/archives/public/ e aggiungi la riga Alias /pipermail /var/lib/mailman/archives/public/ .
Dopo aver modificato il file apparirà così:
#
# 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
Riavvia il servizio Apache per applicare le configurazioni.
systemctl restart httpd.service
Abilita e avvia il servizio postino.
systemctl enable mailman.service
systemctl start mailman.service
systemctl status mailman.service
Dopo aver installato ISPConfig 3, puoi utilizzare Mailman come segue:
Puoi usare l'alias /cgi-bin/mailman per tutti i vhost Apache (tieni presente che suExec e CGI devono essere disabilitati per tutti i vhost da cui vuoi accedere a Mailman!), Ciò significa che puoi accedere all'interfaccia di amministrazione di Mailman per un elenco all'indirizzo http:///cgi-bin/mailman/admin/ e la pagina Web per gli utenti di una mailing list è disponibile all'indirizzo http:///cgi-bin/mailman/listinfo/.
Sotto http:///pipermail/ puoi trovare gli archivi della mailing list.
Installa webmail Roundcube:
Scaricheremo la webmail Roundcube usando wget e poi la installeremo.
cd /tmp
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz
Decomprimi il file tar.gz e sposta il sorgente RoundCube in /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
crea un file di configurazione di roundcube.
nano /etc/httpd/conf.d/roundcubemail.conf
Aggiungi le seguenti righe nel file:
#
# 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>
Riavvia Apache.
systemctl restart httpd.service
Ora abbiamo bisogno di un database per la posta RoundCube, lo creeremo come segue:
mysql -u root -p
utilizzare le seguenti query per creare il database:
CREATE DATABASE roundcubedb;
CREATE USER roundcubeuser@localhost IDENTIFIED BY 'roundcubepassword';
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ;
FLUSH PRIVILEGES;
exit
Ora installeremo RoundCube nel browser all'indirizzo http://YOUR_IPAddress/roundcubemail/installer/
Ora crea il file config.inc.php.
nano /usr/share/roundcubemail/config/config.inc.php
Aggiungi le seguenti righe:
<?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.