Recherche de site Web

Le serveur parfait – CentOS 8 avec Apache, Postfix, Dovecot, Pure-FTPD, BIND et ISPConfig 3.2


Ce tutoriel montre l'installation d'ISPConfig 3.2 sur un serveur CentOS 8 (64 bits). ISPConfig est un panneau de contrôle d'hébergement Web qui vous permet de configurer les services suivants via un navigateur Web : serveur Web Apache, PHP, serveur de messagerie Postfix, MySQL, serveur de noms BIND, PureFTPd, SpamAssassin, ClamAV, Mailman et bien d'autres.

1 Exigences

Pour installer un tel système, vous aurez besoin des éléments suivants :

  • Un système de serveur minimal Centos 8. Il peut s'agir d'un serveur installé à partir de zéro, comme décrit dans notre didacticiel sur le serveur minimal Centos 8, ou d'un serveur virtuel ou d'un serveur racine d'une société d'hébergement sur laquelle une configuration Centos 8 minimale est installée.
  • Une connexion Internet rapide.

2 Remarque préliminaire

Dans ce tutoriel, j'utilise le nom d'hôte server1.example.com avec l'adresse IP 192.168.0.100 et la passerelle 192.168.0.1. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant.

3 Préparer le serveur

Définir la disposition du clavier

Dans le cas où la disposition du clavier du serveur ne correspond pas à votre clavier, vous pouvez passer au bon clavier (dans mon cas "de" pour une disposition de clavier allemand, avec la commande localectl :

localectl set-keymap de

Pour obtenir une liste de toutes les configurations de clavier disponibles, exécutez :

localectl list-keymaps

Je souhaite installer ISPConfig à la fin de ce didacticiel. ISPConfig est livré avec le script de pare-feu Bastille que j'utiliserai comme pare-feu. C'est pourquoi je désactive maintenant le pare-feu CentOS par défaut. Bien sûr, vous êtes libre de laisser le pare-feu CentOS activé et de le configurer selon vos besoins (mais vous ne devriez alors pas utiliser d'autre pare-feu plus tard car il interférera très probablement avec le pare-feu CentOS).

Courir...

dnf -y install net-tools wget rsyslog curl
systemctl stop firewalld.service
systemctl disable firewalld.service

pour arrêter et désactiver le pare-feu CentOS. Ce n'est pas grave lorsque vous obtenez des erreurs ici, cela indique simplement que le pare-feu n'a pas été installé.

Ensuite, vous devez vérifier que le pare-feu a bien été désactivé. Pour ce faire, exécutez la commande :

iptables -L

Le résultat devrait ressembler à ceci :

[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Ou utilisez la commande firewall-cmd :

firewall-cmd --state
[root@server1 ~]# firewall-cmd --state
not running
[root@server1 ~]#

Je vais maintenant installer l'éditeur de configuration réseau et l'éditeur shell "nano" que j'utiliserai dans les prochaines étapes pour modifier les fichiers de configuration :

dnf -y install nano wget NetworkManager-tui yum-utils

Si vous n'avez pas configuré votre carte réseau lors de l'installation, vous pouvez le faire maintenant. Courir...

nmtui

... et allez dans Modifier une connexion :

Sélectionnez votre interface réseau :

Remplissez ensuite les détails de votre réseau - désactivez DHCP et remplissez une adresse IP statique, un masque de réseau, votre passerelle et un ou deux serveurs de noms, puis cliquez sur OK :

Sélectionnez ensuite OK pour confirmer les modifications que vous avez apportées aux paramètres réseau.

et Quitter pour fermer l'outil de configuration réseau nmtui.

Tu devrais courir

ifconfig

maintenant pour vérifier si l'installateur a bien obtenu votre adresse IP :

[root@server1 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:feee:b665  prefixlen 64  scopeid 0x20<link>
        inet6 2003:e1:bf22:1b00:20c:29ff:feee:b665  prefixlen 64  scopeid 0x0<global>
        ether 00:0c:29:ee:b6:65  txqueuelen 1000  (Ethernet)
        RX packets 2874  bytes 1369892 (1.3 MiB)
        RX errors 0  dropped 546  overruns 0  frame 0
        TX packets 968  bytes 160901 (157.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Si votre carte réseau n'y apparaît pas, alors elle ne sera pas activée au démarrage. Dans ce cas, ouvrez le fichier /etc/sysconfig/network-scripts/ifcfg-eth0

nano /etc/sysconfig/network-scripts/ifcfg-ens33

et définissez ONBOOT sur oui :

[...]
ONBOOT=yes
[...]

et redémarrez le serveur.

Vérifiez votre /etc/resolv.conf s'il répertorie tous les serveurs de noms que vous avez précédemment configurés :

cat /etc/resolv.conf

Si les serveurs de noms sont manquants, exécutez

nmtui

et ajoutez à nouveau les serveurs de noms manquants.

Passons maintenant à la configuration...

Ajustement de /etc/hosts et /etc/hostname

Ensuite, nous éditerons /etc/hosts. Faites-le ressembler à ceci :

nano /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.example.com     server1
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Définissez le nom d'hôte dans le fichier /etc/hostname. Le fichier doit contenir le nom de domaine complet (par exemple server1.example.com dans mon cas) et pas seulement le nom court comme "server1". Ouvrez le fichier avec l'éditeur nano :

nano /etc/hostname

Et définissez le nom d'hôte dans le fichier.

server1.example.com

Enregistrez le fichier et quittez nano.

Définissez SELinux sur permissif

SELinux est une extension de sécurité de CentOS qui devrait fournir une sécurité étendue. ISPConfig n'est pas livré avec un ensemble de règles SELinux, c'est pourquoi je l'ai défini sur permissif (c'est indispensable si vous souhaitez installer ISPConfig ultérieurement).

Modifiez /etc/selinux/config et définissez SELINUX=permissive :

nano /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Ensuite, nous devons redémarrer le système :

reboot

4 Activez des référentiels supplémentaires et installez certains logiciels

Tout d’abord, nous importons les clés GPG des progiciels :

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

Ensuite, nous activons le référentiel EPEL sur notre système CentOS car de nombreux packages que nous allons installer au cours de ce tutoriel ne sont pas disponibles dans le référentiel officiel CentOS 8 :

dnf -y install epel-release

Activer les outils électriques :

dnf config-manager --set-enabled powertools

Ensuite, nous mettons à jour nos packages existants sur le système :

dnf -y update

Nous installons maintenant certains packages logiciels qui seront nécessaires plus tard :

dnf -y groupinstall 'Development Tools'

5 Quotas

(Si vous avez choisi un schéma de partitionnement différent du mien, vous devez ajuster ce chapitre afin que le quota s'applique aux partitions où vous en avez besoin.)

Pour installer le quota, nous exécutons cette commande :

dnf -y install quota

Nous vérifions maintenant si le quota est déjà activé pour le système de fichiers où le site Web (/var/www) et les données Maildir (var/vmail) sont stockées. Dans cet exemple de configuration, j'ai une grande partition racine, donc je recherche « / » :

mount | grep ' / '
[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[root@server1 ~]#

Si vous disposez d'une partition /var distincte, utilisez :

mount | grep ' /var '

plutôt. Si la ligne contient le mot « noquota », suivez les étapes suivantes pour activer le quota.

Activation du quota sur la partition/(racine)

Normalement, vous activez le quota dans le fichier /etc/fstab, mais si le système de fichiers est le système de fichiers racine "/", alors le quota doit être activé par un paramètre de démarrage du noyau Linux.

Modifiez le fichier de configuration grub :

nano /etc/default/grub

Recherchez la ligne qui commence par GRUB_CMDLINE_LINUX et ajoutez rootflags=uquota,gquota aux paramètres de ligne de commande afin que la ligne résultante ressemble à ceci :

GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rootflags=uquota,gquota"

et appliquez les modifications en exécutant la commande suivante.

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfg

et redémarrez le serveur.

reboot

Vérifiez maintenant si le quota est activé :

mount | grep ' / '
[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@server1 ~]#

Lorsque le quota est actif, nous pouvons voir "usrquota,grpquota" dans la liste des options de montage.

Activation du quota sur une partition /var distincte

Si vous avez une partition /var distincte, éditez /etc/fstab et ajoutez ,uquota,gquota à la partition/(/dev/mapper/centos-var) :

nano /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Sep 21 16:33:45 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        1 1
/dev/mapper/centos-var /var                     xfs     defaults,uquota,gquota        1 2
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot                   xfs     defaults        1 3
/dev/mapper/centos-swap swap                    swap    defaults        0 0

Puis cours

mount -o remount /var
quotacheck -avugm
quotaon -avug

pour activer le quota. Lorsque vous obtenez une erreur indiquant qu'il n'y a aucune partition avec quota activé, redémarrez le serveur avant de continuer.

6 Installez Apache, PHP, MySQL et phpMyAdmin

Activez le référentiel Remi pour obtenir des versions PHP plus récentes (actuellement PHP 7.4) :

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

Nous pouvons installer les packages nécessaires avec une seule commande :

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

Pour garantir que le serveur ne peut pas être attaqué via la vulnérabilité HTTPOXY, nous désactiverons globalement l'en-tête HTTP_PROXY dans Apache.

Ajoutez la règle d'en-tête Apache à la fin du fichier httpd.conf :

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

Et redémarrez httpd pour appliquer le changement de configuration.

service httpd restart

Installez 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

Facultatif : modifiez le module Apache MPM

CentOS 8 utilise le module Apache MPM Event par défaut, c'est bien d'un côté, car cela vous permet d'utiliser le protocole HTTP/2. En revanche, il ne permet pas d'utiliser le module apache mod_php. En général, il faut aujourd'hui utiliser PHP-FPM par défaut et ISPConfig le prend en charge. Si vous avez besoin de l'ancien mode mod_php pour des raisons de compatibilité, vous pouvez changer l'Apache MPM comme ceci :

nano /etc/httpd/conf.modules.d/00-mpm.conf

Ajoutez un # devant la ligne d'événement MPM pour que cela ressemble à ceci :

# LoadModule mpm_event_module modules/mod_mpm_event.so

Supprimez ensuite le # in de la ligne MPM Prefork, pour que cela ressemble à ceci :

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Redémarrez ensuite httpd pour appliquer la modification de configuration.

service httpd restart

7 Installer le pigeonnier

Dovecot peut être installé comme suit :

dnf -y install dovecot dovecot-mysql dovecot-pigeonhole

Créez un fichier dovecot-sql.conf vide et créez des liens symboliques :

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

Créez maintenant les liens de démarrage du système et démarrez Dovecot :

systemctl enable dovecot
systemctl start dovecot

8 Installer Postfix

Postfix peut être installé comme suit :

dnf -y install postfix postfix-mysql

Ensuite, ouvrez les ports TLS/SSL et de soumission dans Postfix :

nano /etc/postfix/master.cf

Décommentez les sections submission et smtps comme suit et ajoutez des lignes si nécessaire afin que cette section du fichier master.cf ressemble exactement à celle ci-dessous. IMPORTANT : Supprimez le # devant les lignes qui commencent par smtps et submit également et pas seulement des lignes -o après ces lignes !

[...]
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
[...]

Désactivez ensuite Sendmail et démarrez Postfix et MariaDB (MySQL) :

systemctl enable mariadb.service
systemctl start mariadb.service
systemctl enable postfix.service
systemctl restart postfix.service

Nous désactivons sendmail pour garantir qu'il ne démarre pas s'il est installé sur votre serveur. Ainsi, le message d'erreur "Échec de l'appel de méthode : unité sendmail.service non chargée." peut être ignoré.

Pour activer la prise en charge des appareils anciens/obsolètes, exécutez cette commande (facultatif, à utiliser uniquement lorsque vous souhaitez que les anciens appareils de messagerie se connectent, car cela affaiblit la configuration SSL/TLS en autorisant des chiffrements moins sécurisés) :

update-crypto-policies --set LEGACY

9 Installer Getmail

Getmail peut être installé comme suit :

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

10 Définir les mots de passe MySQL et configurer phpMyAdmin

Définissez les mots de passe pour le compte root MySQL :

mysql_secure_installation
[root@server1 tmp]# mysql_secure_installation

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] <-- ENTER
New password: <-- yourrootsqlpassword
Re-enter new password: <-- yourrootsqlpassword
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] <-- ENTER
 ... 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] <-- ENTER
 ... 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] <-- ENTER
 - 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] <-- ENTER
 ... 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!
[root@server1 tmp]#

Maintenant, nous configurons phpMyAdmin. Créez ce fichier de configuration phpMyAdmin :

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

Ajoutez ce contenu au 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 modifions 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
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Ensuite, nous créons les liens de démarrage du système pour Apache et le démarrons :

systemctl enable httpd
systemctl restart httpd

Vous pouvez maintenant diriger votre navigateur vers http://server1.example.com/phpmyadmin/ ou http://192.168.0.100/phpmyadmin/ et vous connecter avec le nom d'utilisateur root et votre nouveau mot de passe root MySQL.

11 Installez Amavisd-new, SpamAssassin, ClamAV et Postgrey

Pour installer amavisd-new, SpamAssassin et ClamAV, exécutez 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 commençons Freshclam, amavisd et clamd.amavisd :

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

Dans l'étape suivante, nous configurons postgrey. Ouvrez le fichier /etc/sysconfig/postgrey dans un éditeur :

nano /etc/sysconfig/postgrey

et change la ligne :

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

à

POSTGREY_TYPE="--inet=10023"

Enregistrez le fichier et redémarrez postgrey :

service postgrey restart

Pour configurer amavisd, éditez le fichier /etc/clamd.d/amavisd.conf :

nano /etc/clamd.d/amavisd.conf

et change la ligne :

LocalSocket /run/clamd.amavisd/clamd.sock

à

LocalSocket /var/spool/amavisd/clamd.sock

Enregistrez le fichier de configuration modifié et redémarrez ClamAV :

systemctl restart [email 

Nous devons maintenant créer une unité système pour le service FreshClam. Créez un nouveau fichier /usr/lib/systemd/system/freshclam.service :

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

et entrez le contenu suivant dans ce 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 le fichier, puis activez et démarrez le service.

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

12 Installer 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 par site Web.

Nous pouvons installer Apache2 avec mod_php, mod_fcgid et PHP comme suit :

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

Ensuite, nous ouvrons /etc/php.ini...

nano /etc/php.ini

... et modifiez le rapport d'erreurs (afin que les notifications ne soient plus affichées), définissez le fuseau horaire et décommentez cgi.fix_pathinfo=1 :

[...]
;error_reporting = E_ALL & ~E_DEPRECATED
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PAppp.tldTH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]
date.timezone = 'Europe/Berlin'
[...]

Activez httpd et PHP-FPM pour démarrer au démarrage et démarrez le service PHP-FPM.

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

Enfin, nous redémarrons Apache :

systemctl restart httpd.service

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

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

13 Installation de mod_python

Le module Apache mod_python n'est pas disponible en package RPM, nous allons donc le compiler à partir des sources. La première étape consiste à installer les fichiers de développement Python et à télécharger la version actuelle de mod_python sous forme de fichier .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

puis configurez et compilez le module.

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

Il y a une erreur dans le module compilé qui entraînera l'échec de l'installation avec l'erreur "version="fatal : Pas un référentiel git (ou aucun des répertoires parents) : .git". Pour corriger Ensuite, exécutez cette commande sed (la commande est 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 ensuite le module avec cette commande.

make install

et activez le module dans Apache :

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

14 Installer PureFTPd

PureFTPd peut être installé avec la commande suivante :

dnf -y install pure-ftpd

Créez ensuite les liens de démarrage du système et démarrez PureFTPd :

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

Nous configurons maintenant PureFTPd pour autoriser les sessions FTP et TLS. FTP est un protocole très peu sécurisé car tous les mots de passe et toutes les données sont transférés en texte clair. En utilisant TLS, l'ensemble de la communication peut être cryptée, rendant ainsi FTP beaucoup plus sécurisé.

OpenSSL est nécessaire à TLS ; pour installer OpenSSL, on lance simplement :

dnf install openssl

Ouvrez /etc/pure-ftpd/pure-ftpd.conf...

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

Si vous souhaitez autoriser les sessions FTP et TLS, définissez TLS sur 1 en supprimant le # devant la ligne TLS. Il est fortement recommandé d'activer TLS.

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      1
[...]

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

mkdir -p /etc/ssl/private/

Ensuite, nous pouvons générer le certificat SSL comme suit :

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

Nom du pays (code à 2 lettres) [XX] : <-- Saisissez le nom de votre pays (par exemple, "DE").
Nom de l'État ou de la province (nom complet) [] :<-- Saisissez le nom de votre État ou de votre province.
Nom de la localité (par exemple, ville) [Ville par défaut] :<-- Entrez votre ville.
Nom de l'organisation (par exemple, entreprise) [Société par défaut Ltd] :<-- Entrez le nom de votre organisation (par exemple, le nom de votre entreprise).
Nom de l'unité organisationnelle (par exemple, section) [] :<-- Entrez le nom de votre unité organisationnelle (par exemple, « Département informatique »).
Nom commun (par exemple, votre nom ou le nom d'hôte de votre serveur) [] :<-- Saisissez le nom de domaine complet du système (par exemple, "server1.example.com").
Adresse e-mail [] :<-- Saisissez votre adresse e-mail.

Modifiez les autorisations du certificat SSL :

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

Créez un fichier DHParam :

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

Enfin, redémarrez PureFTPd :

systemctl restart pure-ftpd.service

C'est ça. Vous pouvez maintenant essayer de vous connecter en utilisant votre client FTP ; cependant, vous devez configurer votre client FTP pour utiliser TLS.

15 Installer BIND

Nous pouvons installer BIND comme suit :

dnf -y install bind bind-utils haveged

Faites une sauvegarde du fichier /etc/named.conf 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
//
// 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       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/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 "/etc/named.conf.local";

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

touch /etc/named.conf.local

Ensuite, nous créons les liens de démarrage et démarrons BIND :

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

16 Installer AWStats

AWStats peut être installé comme suit :

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

L'application alternative de statistiques Web « webalizer » n'est plus disponible pour CentOS 8, vous ne pourrez donc utiliser qu'AWStats.

17 Installer Jailkit

Jailkit est utilisé pour chrooter les utilisateurs SSH et les tâches cron. 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*

18 Installer Fail2Ban

Ceci est facultatif mais recommandé, car le moniteur ISPConfig tente d'afficher le journal.

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

Ensuite, nous créons le fichier /etc/fail2ban/jail.local et activons la surveillance des services SSH, Email et FTP.

nano /etc/fail2ban/jail.local

Ajoutez le contenu suivant au fichier jail.local :

[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

Créez ensuite les liens de démarrage du système pour fail2ban et démarrez-le :

systemctl enable fail2ban.service
systemctl start fail2ban.service

19 Installer rkhunter

rkhunter peut être installé comme suit :

dnf -y install rkhunter

20 Installer Mailman

Si vous aimez gérer les listes de diffusion avec Mailman sur votre serveur, installez Mailman maintenant. Mailman est pris en charge par ISPConfig, vous pourrez donc créer de nouvelles listes de diffusion via ISPConfig plus tard.

dnf -y install mailman

Avant de pouvoir démarrer Mailman, une première liste de diffusion appelée mailman doit être créée :

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

[root@server1 tmp]# /usr/lib/mailman/bin/newlist mailman
Saisissez l'adresse e-mail de la personne qui gère la liste : <-- adresse e-mail de l'administrateur, par ex. [email 
Mot de passe initial de mailman : <-- mot de passe admin pour la liste de mailman
Pour terminer la création de votre liste de diffusion, vous devez modifier votre fichier /etc/aliases (ou
équivalent) en ajoutant ce suivant lignes, et éventuellement exécuter le
`newaliases' :

## mailman mailing list
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 confirmer mailman"
mailman-join :         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave :        "|/usr/lib/mailman/mail /mailman quitter mailman"
propriétaire de mailman :        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request :      "|/usr/lib/mailman/mail/mailman request mailman"< br>mailman-subscribe :    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe :  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Appuyer entrez pour informer le propriétaire de mailman ... <-- ENTER

[root@server1 tmp]#

Ouvrez ensuite /etc/aliases...

nano /etc/aliases

... et ajoutez les lignes suivantes :

[...]
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"

Courir

newaliases

ensuite et redémarrez Postfix :

systemctl restart postfix.service

Ouvrez maintenant le fichier de configuration Mailman Apache /etc/httpd/conf.d/mailman.conf...

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

... et 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/ :

#
#  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
    Order allow,deny
    Allow from all
</Directory>


#Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /pipermail /var/lib/mailman/archives/public/
<Directory /var/lib/mailman/archives/public>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    AddDefaultCharset Off
</Directory>

# Uncomment the following line, to redirect queries to /mailman to the
# listinfo page (recommended).

# RedirectMatch ^/mailman[/]*$ /mailman/listinfo

Redémarrez Apache :

systemctl restart httpd.service

Créez les liens de démarrage du système pour Mailman et démarrez-le :

systemctl enable mailman.service
systemctl start mailman.service

Après avoir installé ISPConfig 3, vous pouvez accéder à 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 destinée aux utilisateurs d'une liste de diffusion peut être trouvée à http:///cgi-bin/mailman/listinfo /.

Sous http:///pipermail/ vous pouvez trouver les archives de la liste de diffusion.

21 Installer la messagerie Web Roundcube

Pour installer le client de messagerie Web RoundCube, téléchargez la dernière version avec wget dans le dossier /tmp :

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

Décompressez l'archive 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éez un fichier de configuration roundcubemail.conf avec l'éditeur nano :

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

Et ajoutez le contenu suivant à ce 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 l'initialiser comme suit :

mysql -u root -p

À l'invite MariaDB, utilisez :

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

J'utilise les détails de la base de données RoundCube à titre d'exemple. Veuillez remplacer les valeurs selon votre choix pour des raisons de sécurité.

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

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

nano /usr/share/roundcubemail/config/config.inc.php
<?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;

Appuyez ensuite sur « continuer » dans le programme d'installation Web. Sur la page suivante, appuyez sur le bouton "Initialiser la base de données".

Enfin, désactivez le programme d'installation de Roundecubemail. Changer le fichier de configuration RoundCube config.inc.php

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

et changez la ligne :

$config['enable_installer'] = true;

à :

$config['enable_installer'] = false;

Roundcube est disponible dès maintenant sous les alias /webmail et /roundcubemail sur votre serveur :

http://192.168.0.100/webmail

La connexion RoundCube est l'adresse e-mail et le mot de passe d'un compte de messagerie que vous créez ultérieurement dans ISPConfig.

22 Installer ISPConfig 3.2

Le programme d'installation d'ISPConfig configurera tous les services comme Postfix, Dovecot, etc. pour vous.

Vous avez désormais également la possibilité de laisser le programme d'installation créer un hôte virtuel SSL pour le panneau de configuration ISPConfig afin qu'ISPConfig soit accessible en utilisant https:// au lieu de http://. Pour y parvenir, appuyez simplement sur ENTRÉE lorsque vous voyez cette question : Souhaitez-vous une connexion sécurisée (SSL) à l'interface Web ISPConfig (o,n) [y] :.

Pour installer la version nocturne d'ISPConfig 3.2, procédez comme suit :

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/

L'étape suivante consiste à exécuter :

php -q install.php

Cela démarrera le programme d'installation d'ISPConfig 3. Le programme d'installation configurera tous les services comme Postfix, Dovecot, etc. pour vous.

[root@server1 install]# php install.php
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> Initial configuration
Operating System: CentOS 8.2
Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with <ENTER>.
Tap in "quit" (without the quotes) to stop the installer.
Select language (en,de) [en]: <-- Hit Enter
Installation mode (standard,expert) [standard]: <-- Hit Enter
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- Hit Enter
MySQL server hostname [localhost]: <-- Hit Enter
MySQL server port [3306]: <-- Hit Enter
MySQL root username [root]: <-- Hit Enter
MySQL root password []: <-- Ente the MySQL root password here
MySQL database to create [dbispconfig]: <-- Hit Enter
MySQL charset [utf8]: <-- Hit Enter
Configuring Postgrey
Configuring Postfix
Generating a 4096 bit RSA private key
................................++
.....................................................................................................................................................................................................................................................................................................................................................++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: <-- Enter 2 Letter country code, e.g. US
State or Province Name (full name) []: <-- Enter anme of State or Province
Locality Name (eg, city) [Default City]: <-- Name of city
Organization Name (eg, company) [Default Company Ltd]: <-- Company name
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (eg, your name or your server's hostname) []: <-- Enter server hostname here, in my case: server1.example.com
Email Address []: <-- Enter Email address
Configuring mailman
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Jailkit
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring vlogger
[INFO] service OpenVZ not detected
Configuring Bastille Firewall
[INFO] service Metronome XMPP Server not detected
Configuring Fail2ban
Configuring Apps vhost
Installing ISPConfig
ISPConfig Port [8080]: <-- Hit Enter
Admin password [fad579a6]: <-- Enter new password for ISPConfig admin user
Re-enter admin password []: <-- Repeat the password
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- Hit Enter
Generating RSA private key, 4096 bit long modulus
.................................................................................++
.....++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: <-- Enter 2 Letter country code, e.g. US
State or Province Name (full name) []: <-- Enter anme of State or Province
Locality Name (eg, city) [Default City]: <-- Name of city
Organization Name (eg, company) [Default Company Ltd]: <-- Company name
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (eg, your name or your server's hostname) []: <-- Enter server hostname here, in my case: server1.example.com
Email Address []: <-- Enter Email address
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- Hit Enter
An optional company name []: <-- Hit Enter
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Detect IP addresses
Restarting services ...
Installation completed.

Le programme d'installation configure automatiquement tous les services sous-jacents, aucune configuration manuelle n'est donc nécessaire.

23 Première connexion à ISPConfig

Ensuite, vous pouvez accéder à ISPConfig 3 sous http(s)://server1.example.com:8080/ ou http(s)://192.168.0.100:8080/ (http ou https dépend de ce que vous avez choisi lors de l'installation).

Connectez-vous avec le nom d'utilisateur admin et le mot de passe admin (vous devez changer le mot de passe par défaut après votre première connexion) :

23.1 Le manuel ISPConfig 3

Afin d'apprendre à utiliser ISPConfig 3, je vous recommande fortement de télécharger le manuel ISPConfig 3.

Sur plus de 300 pages, il couvre le concept derrière ISPConfig (administrateur, revendeurs, clients), explique comment installer et mettre à jour ISPConfig 3, inclut une référence pour tous les formulaires et champs de formulaire dans ISPConfig ainsi que des exemples d'entrées valides et fournit des didacticiels. pour les tâches les plus courantes dans ISPConfig 3. Il explique également comment rendre votre serveur plus sécurisé et est accompagné d'une section de dépannage à la fin.

24 Télécharger en tant que machine virtuelle

Cette configuration est disponible en téléchargement de machine virtuelle au format ova/ovf (compatible avec VMWare et Virtualbox) pour les abonnés howtoforge.

Informations de connexion pour la VM

  • Le mot de passe root est : commentforger
  • Le mot de passe de l'utilisateur "admin" d'ISPConfig est : howtoforge
  • Il existe un autre utilisateur shell avec le nom "howtoforge" et le mot de passe : howtoforge

Veuillez modifier les deux mots de passe lors de la première connexion.

  • L'adresse IP de la VM est 192.168.0.100

25 liens

  • CentOS : http://www.centos.org/
  • ISPConfig : http://www.ispconfig.org/