GNU/Linux >> Tutoriels Linux >  >> Cent OS

Installer ISPConfig sur CentOS 8

Dans ce tutoriel, nous allons installer ISPConfig sur CentOS 8.

ISPConfig est un panneau de contrôle open source pour Linux. Il a une interface Web conviviale. Grâce à ISPConfig, les utilisateurs peuvent gérer leurs sites Web, adresses e-mail, comptes FTP, enregistrements DNS, bases de données et comptes shell.

Administrateur, Revendeur, Client et Utilisateur de messagerie sont les quatre différents niveaux d'accès utilisateur ISPConfig. Chaque niveau d'utilisateur a un type d'adresse différent.

Tout d'abord, configurez SElinux en mode permissif.

nano /etc/selinux/config

Changez le mode d'activer à permissif comme indiqué dans l'image ci-dessous.

Redémarrez maintenant le système.

reboot

Activer les référentiels supplémentaires :

Tout d'abord, importez la clé GPG pour les packages logiciels.

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

Activer le référentiel Epel.

dnf -y install epel-release

Nous allons maintenant activer les outils électriques.

dnf config-manager --set-enabled powertools

Nous allons maintenant mettre à jour en utilisant la commande suivante :

dnf -y update

Installez quelques packages supplémentaires.

dnf -y groupinstall 'Development Tools'

Nous devons activer Remi Repository pour obtenir les nouvelles versions 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

Utilisez la commande suivante pour installer les packages requis :

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

Pour des raisons de sécurité, nous désactiverons globalement l'en-tête HTTP_PROXY dans apache à l'aide de la commande suivante :

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

Redémarrez le service httpd pour appliquer les modifications de configuration.

systemctl restart httpd

Nous allons maintenant installer 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

Installer Dovecot - Installer ISPConfig sur CentOS 8

Nous utilisons les commandes suivantes pour installer dovecot.

dnf -y install dovecot dovecot-mysql dovecot-pigeonhole

Créez un fichier de configuration vide et créez des liens symboliques avec le fichier de configuration 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

Activez maintenant Dovecot pour qu'il puisse démarrer automatiquement. Démarrez également le service.

systemctl enable dovecot
systemctl start dovecot

Installer Postfix :

Utilisez la commande suivante pour installer postfix :

dnf -y install postfix postfix-mysql

Nous allons maintenant ouvrir les ports TLS/SSL et de soumission dans postfix.

nano /etc/postfix/master.cf

Après avoir modifié le fichier master.cf, il devrait ressembler à ceci :

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

Je viens de changer les lignes, ne supprimez aucun contenu du fichier, modifiez simplement les lignes mentionnées ci-dessus.

Activez et démarrez Postfix et le service mariadb.

systemctl enable mariadb.service
systemctl start mariadb.service

systemctl enable postfix.service
systemctl restart postfix.service

Installer Getmail :

Utilisez les commandes suivantes pour installer 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

Nous allons maintenant définir le mot de passe MYSQL et configurer phpMyAdmin.

Utilisez la commande suivante pour la configuration de mariadb :

mysql_secure_installation

Définissez toutes les configurations comme ci-dessous :


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!

Nous allons maintenant configurer phpmyadmin.

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

Ajoutez les lignes suivantes dans le fichier :

# 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>

Ensuite, nous allons changer l'authentification dans phpMyAdmin de cookie à http.

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

Modifiez la ligne suivante :

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

Activer et démarrer le service Apache.

systemctl enable httpd
systemctl restart httpd

Installez Amavisd-new, SpamAssassin, ClamAV et Postgrey :

Nous allons installer amavisd-new, SpamAssassin et ClamAV en utilisant la commande suivante :

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

Ensuite, nous allons activer et démarrer ces services.

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

Nous allons maintenant configurer le service postgrey.

nano /etc/sysconfig/postgrey

Change the following line

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

to 

POSTGREY_TYPE="--inet=10023"

enregistrez et quittez le fichier et redémarrez le service postgrey.

systemctl restart postgrey.service

Configurez maintenant Amivisd.

nano /etc/clamd.d/amavisd.conf

change the following line

LocalSocket /run/clamd.amavisd/clamd.sock

to

LocalSocket /var/spool/amavisd/clamd.sock

enregistrez et quittez le fichier et redémarrez le service clamAV.

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

Nous allons maintenant créer freshclam en tant que service afin qu'il puisse être démarré et arrêté à l'aide de systemctl. Pour que cela fonctionne, nous devrons créer un fichier ayant le chemin /usr/lib/systemd/system/freshclam.service.

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

Ajoutez le contenu suivant au fichier :

[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

enregistrez et quittez le fichier.

Maintenant, activez et démarrez le service.

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

Installez Apache avec mod_php, mod_fcgi/PHP, PHP-FPM :

ISPConfig 3 vous permet d'utiliser mod_php, mod_fcgi/PHP, cgi/PHP et PHP-FPM selon la base du site Web.

Installez Apache2 avec mod_php, mod_fcgid et PHP à l'aide de la commande suivante :

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

Nous allons maintenant configurer le fichier php.ini.

nano /etc/php.ini

Modifiez le rapport d'erreur afin que l'avis ne soit pas affiché, définissez le fuseau horaire et décommentez la ligne "cgi.fix_pathinfo=1 ".

Activez httpd et PHP-FPM pour que le service puisse démarrer au démarrage et lancer le service PHP-FPM.

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

Maintenant, activez et redémarrez le service apache.

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

Nous allons maintenant ajouter la prise en charge de Let's encrypt. ISPConfig utilise acme.sh comme client Let's Encrypt. Installez acme.sh à l'aide de la commande suivante :

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

Installation de mod_python :

mod_python est un module d'apache. Il n'est pas disponible en tant que RPM, nous devrons donc le compiler à partir des sources. Tout d'abord, nous allons installer les fichiers de développement python, puis télécharger la version actuelle du fichier 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

Nous allons maintenant configurer et compiler mod_python.

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

Il y a une erreur dans le module compilé qui fera échouer l'installation avec l'erreur "version ="fatal :Pas un référentiel git (ou l'un des répertoires parents) :.git “. Pour résoudre cette erreur, exécutez cette commande sed (la commande est sur une ligne !).

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 )

Installez maintenant le module à l'aide de la commande suivante :

make install

Activez le module dans Apache à l'aide de la commande suivante :

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

Installez PureFTPd :

PureFTPd peut être installé à l'aide de la commande suivante :

dnf -y install pure-ftpd

Activer et démarrer le service PureFTPd.

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

Maintenant, nous allons configurer PureFTPd pour autoriser les sessions FTP et TLS. FTP est un protocole très peu sûr car tous les mots de passe et données sont transférés en texte clair. En utilisant TLS, toute la communication peut être cryptée, ce qui rend le FTP beaucoup plus sécurisé.

OpenSSL est requis par TLS ; pour installer OpenSSL utilisez la commande suivante :

dnf install openssl

Ouvrez /etc/pure-ftpd/pure-ftpd.conf et Activer TLS.

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

Autoriser les sessions FTP et TLS, définir TLS à 1 en supprimant le # devant la ligne TLS. Il est fortement recommandé d'activer TLS.

Pour utiliser TLS, nous devons créer un certificat SSL. créez-le dans /etc/ssl/private/ , donc nous allons d'abord créer ce répertoire :

mkdir -p /etc/ssl/private/

Nous allons maintenant générer un certificat SSL à l'aide de la commande suivante :

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

Modifiez les autorisations du certificat SSL :

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

Maintenant, créez un fichier DHCParam à l'aide de la commande suivante :

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

Redémarrez le service PureFTPd pour appliquer toutes les configurations.

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

Installer BIND :

Installez BIND à l'aide de la commande suivante :

dnf -y install bind bind-utils haveged

Nous allons donc configurer BIND selon nos besoins. Sauvegardez le fichier de configuration existant et créez-en un nouveau comme suit :

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

Ajoutez les lignes suivantes dans le fichier de configuration.

//
// 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";

enregistrez et quittez le fichier.

Créez le fichier /etc/named.conf.local qui est inclus à la fin de /etc/named.conf « /etc/named.conf.local ” sera ensuite rempli par ISPConfig si vous créez des zones DNS dans ISPConfig.

touch /etc/named.conf.local

Activer et démarrer BIND et 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

Installez AWStats :

AWStats est une application de statistiques Web. Utilisez la commande suivante pour installer AWStats :

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

Installez Jailkit :

Nous utiliserons Jailkit pour chrooter les utilisateurs SSH et les cronjobs. Il peut être installé comme suit :

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*

Installer Fail2Ban :

Fail2Ban est facultatif mais recommandé, car le moniteur ISPConfig essaie d'afficher le journal.

Utilisez la commande suivante pour installer Fail2Ban.

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

Ensuite, créez le fichier /etc/fail2ban/jail.local et activez la surveillance des services ssh, e-mail et ftp.

nano /etc/fail2ban/jail.local

Ajoutez les lignes suivantes dans le fichier :

[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

Activer et démarrer le service Fail2Ban.

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

Installer rkhunter :

Nous allons maintenant installer rkhunter à l'aide de la commande suivante :

dnf -y install rkhunter

Installer Mailman :

Si vous souhaitez gérer des listes de diffusion avec Mailman sur votre serveur, installez mailman maintenant. Mailman est pris en charge par ISPConfig, vous pourrez donc créer ultérieurement de nouvelles listes de diffusion via ISPConfig.

dnf -y install mailman

Avant de démarrer mailman, créez une liste de diffusion appelée 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

Ouvrez les alias à l'aide de la commande suivante :

nano /etc/aliases

Ajoutez les lignes suivantes dans le fichier :

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"

Exécutez la commande suivante pour appliquer la configuration nouvellement ajoutée :

newaliases

Redémarrez Postfix.

systemctl restart postfix.service

Nous allons configurer le fichier de configuration Apache mailman.

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

Ajoutez la ligne ScriptAlias ​​/cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/ . Commentez Alias ​​/pipermail/ /var/lib/mailman/archives/public/ et ajoutez la ligne Alias ​​/pipermail /var/lib/mailman/archives/public/ .

Après l'édition, le fichier ressemblera à ceci :

#
#  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

Redémarrez le service Apache pour appliquer les configurations.

systemctl restart httpd.service

Activer et démarrer le service Mailman.

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

Après avoir installé ISPConfig 3, vous pouvez utiliser Mailman comme suit :

Vous pouvez utiliser l'alias /cgi-bin/mailman pour tous les vhosts Apache (veuillez noter que suExec et CGI doivent être désactivés pour tous les vhosts à partir desquels vous souhaitez accéder à Mailman !), ce qui signifie que vous pouvez accéder à l'interface d'administration de Mailman pour une liste à http:///cgi-bin/mailman/admin/, et la page Web pour les utilisateurs d'une liste de diffusion se trouve à http:///cgi-bin/mailman/listinfo/.

Sous http:///pipermail/, vous trouverez les archives de la liste de diffusion.

Installez la messagerie Web Roundcube :

Nous allons télécharger le webmail Roundcube en utilisant wget puis l'installer.

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

Décompressez le fichier tar.gz et déplacez la source RoundCube vers /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

créer un fichier de configuration roundcube.

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

Ajoutez les lignes suivantes dans le fichier :

#
# 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>

Redémarrez Apache.

systemctl restart httpd.service

Nous avons maintenant besoin d'une base de données pour le courrier RoundCube, nous allons la créer comme suit :

mysql -u root -p

utilisez les requêtes suivantes pour créer la base de données :

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

Nous allons maintenant installer RoundCube dans le navigateur à l'adresse http://YOUR_IPAddress/roundcubemail/installer/

Créez maintenant le fichier config.inc.php.

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

Ajoutez-y les lignes suivantes :

<?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. Installez MariaDB 10.0 sur CentOS 6

  2. Comment installer DNF sur CentOS 7

  3. Installer ownCloud sur CentOS 6

  4. Installer Fail2ban sur CentOS

  5. Comment installer ISPConfig 3 sur CentOS 7

Comment installer R sur CentOS 8

Comment installer et configurer ISPConfig CP sur CentOS 7

Installer Keepalived sur CentOS 8

Installer Neofetch sur CentOS 8

Comment installer ISPConfig sur CentOS 7

Comment installer ISPConfig sur CentOS 7.x ?