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://
Sous http://
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/