Dans ce tutoriel, nous allons vous montrer comment configurer et installer ISPConfig 3 sur un VPS exécutant Ubuntu 18.04.
ISPConfig est un panneau de contrôle d'hébergement Web open source bien connu qui nous permet de gérer des services via un navigateur Web. Nous pouvons facilement ajouter un hôte virtuel Apache ou des blocs de serveur Nginx, créer/modifier/supprimer des bases de données, configurer des tâches cron, créer des comptes de messagerie, et bien plus encore. C'est une alternative gratuite aux panneaux de contrôle payants - vous n'avez pas à dépenser d'argent pour utiliser ce panneau de contrôle.
Prérequis :
- Un VPS Ubuntu 18.04
- Accès SSH avec privilèges root
Étape 1 :Connectez-vous via SSH et mettez à jour le système
Connectez-vous à votre VPS Ubuntu 18.04 avec SSH en tant qu'utilisateur root ou en tant qu'utilisateur avec des privilèges sudo :
ssh root@IP_Address -p Port_number
Remplacez IP_Address et Port_number par leurs valeurs respectives pour votre serveur.
Vous pouvez vérifier si vous avez la bonne version d'Ubuntu installée sur votre serveur avec la commande suivante :
lsb_release -a
Vous devriez obtenir ce résultat :
Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic
Ensuite, exécutez la commande suivante pour vous assurer que tous les packages installés sur le serveur sont mis à jour vers la dernière version disponible :
apt update && apt upgrade
Dans ce didacticiel, nous utiliserons ubuntu.mydomain.com comme nom d'hôte du serveur - un nom d'hôte doit être un FQDN (un nom de domaine complet). Il est important d'utiliser un sous-domaine comme nom d'hôte, et non le domaine principal. Si vous n'utilisez pas de sous-domaine pour le nom d'hôte du serveur, vous aurez par exemple un problème avec amavis
et d'autres programmes liés aux e-mails. En savoir plus sur la modification de votre nom d'hôte.
Étape 2 :Reconfigurer Bash et arrêter le programme "apparmor"
Nous devons utiliser bash comme shell système par défaut, et non dash, pour procéder à l'installation d'ISPConfig.
dpkg-reconfigure dash
Use dash as the default system shell (/bin/sh)? No
systemctl stop apparmor systemctl disable apparmor
Vérifiez si vous avez déjà des services en cours d'exécution sur votre serveur :
netstat -pltn
Étape 3 :Installez MariaDB, Postfix et Dovecot
Exécutez les commandes suivantes pour installer MariaDB, Postfix et Dovecot.
apt install mariadb-server postfix postfix-mysql openssl dovecot-mysql dovecot-pop3d dovecot-sieve dovecot-lmtpd binutils dovecot-imapd
Au cours du processus d'installation, deux questions vous seront posées pour le postfix :assurez-vous d'utiliser votre nom d'hôte comme nom de messagerie système.
General type of mail configuration: Internet Site
System mail name: ubuntu.mydomain.com
Ensuite, modifiez /etc/postfix/master.cf
en utilisant votre éditeur de texte préféré.
Fondamentalement, nous devrons décommenter quelques lignes dans le fichier de configuration et ajouter -o smtpd_client_restrictions=permit_sasl_authenticated,reject
sous les sections soumission et smtpd. Le fichier devrait ressembler à ceci :
submission inet n - y - - 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 - y - - 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
Une fois terminé, enregistrez et quittez le fichier et redémarrez Postfix :
systemctl restart postfix
À ce stade, MariaDB est en cours d'exécution et nous allons maintenant créer un mot de passe pour l'utilisateur root. Exécutez la commande suivante pour créer un mot de passe root, supprimer la base de données de test, supprimer l'utilisateur anonyme puis recharger les privilèges.
mysql_secure_installation
Une fois créé, vous pouvez tester le mot de passe en appelant cette commande. Il vous sera demandé le mot de passe root que vous avez défini dans la commande précédente :
# mysql -u root -p
Étape 4 :Installez Spamassassin, Clamav et Amavisd-new
Exécutez la ligne suivante pour installer Spamassassin, Clamav et Amavisd-new, ainsi que certains packages requis pour que ces programmes fonctionnent correctement.
apt install spamassassin clamav clamav-daemon amavisd-new postgrey zip unzip bzip2 arj nomarch lzop cabextract libnet-ldap-perl libauthen-sasl-perl daemon libnet-ident-perl libnet-dns-perl libio-string-perl libio-socket-ssl-perl apt-listchanges
Pour libérer de la mémoire, nous pouvons arrêter spamassassin. ISPConfig 3 utilise amavisd, qui charge les bibliothèques Spamassassin en interne, afin que nous puissions arrêter spamassassin.
systemctl stop spamassassin systemctl disable spamassassin
freshclam
Si vous voyez le message d'erreur lors de l'exécution de la commande "freshclam" comme indiqué ci-dessous, vous pouvez l'ignorer car cela signifie que freshclam est déjà en cours d'exécution :
ERROR: /var/log/clamav/freshclam.log is locked by another process ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
systemctl start clamav-daemon
Au moment de la rédaction de cet article, amavisd-new a un bogue dans Ubuntu 18.04 qui doit être corrigé. Pour résoudre ce problème, exécutez les commandes suivantes :
cd /tmp wget https://git.ispconfig.org/ispconfig/ispconfig3/raw/stable-3.1/helper_scripts/ubuntu-amavisd-new-2.11.patch cd /usr/sbin cp -pf amavisd-new{,.orig} patch < /tmp/ubuntu-amavisd-new-2.11.patch
Vous verrez le message suivant. Mais, si vous voyez un message d'erreur, cela signifie que amavisd-new a déjà été corrigé.
Étape 5 :Installez Apache et d'autres packages
Exécutez la commande suivante pour installer les packages requis par ISPConfig. Il est probable qu'au moins quelques-uns d'entre eux seront déjà installés sur votre système.
apt install apache2 apache2-utils apache2-doc libapache2-mod-php php7.2 php7.2-common php7.2-cli php7.2-mysql php7.2-sqlite3 php7.2-imap php7.2-gd php7.2-cgi php7.2-zip php7.2-mbstring php7.2-opcache php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2-xsl libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby memcached php-memcache php-imagick libapache2-mod-python php-gettext php-apcu phpmyadmin mailman roundcube roundcube-core roundcube-mysql roundcube-plugins php-net-sieve tinymce getmail4 javascript-common libjs-jquery-mousewheel rkhunter binutils vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl bind9 dnsutils haveged daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl quota quotatool libnet-dns-perl pure-ftpd-common pure-ftpd-mysql cabextract certbot
Lors de l'installation, vous devrez répondre à quelques questions de base. Si vous êtes invité à sélectionner un serveur Web, sélectionnez Apache2.
De plus, il vous sera demandé de saisir le mot de passe de l'application MySQL pour phpMyAdmin et le mot de passe de l'application MySQL pour Roundcube. Vous pouvez entrer un mot de passe fort de votre choix ou les laisser vides pour que le système leur crée des mots de passe aléatoires. Idéalement, vous créeriez le mot de passe afin de savoir quel est le mot de passe.
Configurer Apache et PHP
Une fois l'installation des packages requis terminée, il est temps de configurer le logiciel. Commençons par Apache. Activez les modules Apache et PHP suivants :
a2enmod rewrite ssl cgi include actions suexec dav_fs dav auth_digest alias phpenmod mcrypt
systemctl restart apache2
Nous devons également configurer le webmail Roundcube pour l'empêcher d'afficher le nom du serveur dans le formulaire de connexion au webmail.
nano /etc/roundcube/config.inc.php
Modifiez la valeur "default_host" en "localhost"
$config['default_host'] = 'localhost';
Enregistrez le fichier, puis quittez.
Configurer pure-ftpd
Étant donné que vous devrez fournir aux utilisateurs un accès FTP à votre VPS Ubuntu afin qu'ils puissent télécharger et télécharger des fichiers, vous devez configurer un environnement chroot. De cette façon, les utilisateurs n'auront pas accès au reste du système. Modifiez le /etc/default/pure-ftpd-common
file et changez la valeur de VIRTUALCHROOT de false à true.
nano /etc/default/pure-ftpd-common
VIRTUALCHROOT=true
Enregistrez le fichier et quittez, puis redémarrez le service pour que les modifications prennent effet :
systemctl restart pure-ftpd-mysql
Créer une nouvelle liste pour Mailman
Nous pouvons créer une nouvelle liste pour Mailman maintenant.
newlist mailman
Il vous sera demandé d'entrer l'e-mail de la personne qui gère la liste ainsi qu'un mot de passe. Le script vous fournira une sortie des alias qui doivent être ajoutés au /etc/aliases
fichier.
nano /etc/aliases
Le fichier doit ressembler à ce qui suit :
# Required aliases postmaster: root MAILER-DAEMON: postmaster # Common aliases abuse: postmaster spam: postmaster # Other aliases clamav: root mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Enregistrez et fermez le fichier. Initialisez la base de données d'alias et redémarrez les services.
newaliases systemctl restart mailman
Désactiver le cron awstats
nano /etc/cron.d/awstats
Nous devons commenter toutes les lignes de ce fichier en ajoutant "#" devant les lignes, cela devrait ressembler à ceci :
#MAILTO=root #*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
Étape 6 :Installez Fail2Ban
Vous pouvez ignorer cette étape, mais pour des raisons de sécurité, il est recommandé d'avoir Fail2Ban en cours d'exécution sur votre serveur. Cela interdit temporairement les adresses IP des ordinateurs qui tentent de se connecter trop souvent via SSH. Exécutez cette commande pour l'installer :
apt install fail2ban -y
Une fois installé, utilisez votre éditeur de texte préféré pour modifier le fichier de configuration de Fail2Ban.
nano /etc/fail2ban/jail.local
[pure-ftpd] enabled = true port = ftp filter = pure-ftpd logpath = /var/log/syslog maxretry = 3 [dovecot] enabled = true filter = dovecot action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5 [postfix] enabled = true port = smtp filter = postfix logpath = /var/log/mail.log maxretry = 3
Étape 7 :Installez Jailkit
Si vous souhaitez chrooter vos utilisateurs SSH, vous devez installer Jailkit avant d'installer ISPConfig.
apt-get -y install build-essential autoconf automake1.11 libtool flex bison debhelper
cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.20.tar.gz tar xvfz jailkit-2.20.tar.gz cd jailkit* echo 5 > debian/compat ./debian/rules binary
Nous pouvons maintenant installer Jailkit avec la commande suivante :
cd .. dpkg -i jailkit_2.20-1_*.deb
Étape 8 :Installez ISPConfig 3
Enfin, installons ISPConfig. Téléchargez la dernière version et installez-la à l'aide des commandes suivantes :
cd /tmp wget -O ispconfig.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1 tar xfz ispconfig.tar.gz cd ispconfig3*/install/ php -q install.php
Répondez aux questions pour terminer l'installation, puis accédez au panneau de configuration de l'hébergement ISPConfig à :http://yourIPAddress:8080
Toutes nos félicitations! À ce stade, vous devriez pouvoir accéder à ISPConfig sur http://yourIPAddress:8080
. Pour plus d'informations sur ISPConfig, ses fonctionnalités et sa configuration, veuillez consulter leur documentation officielle.
N'hésitez pas à consulter notre tutoriel sur l'installation d'ISPConfig 3 sur CentOS 3.
Bien sûr, vous n'avez pas besoin de savoir comment installer ISPConfig sur Ubuntu 18.04 si vous utilisez nos services d'hébergement VPS Ubuntu 18.04. Vous pouvez simplement demander à notre équipe d'assistance d'installer ISPConfig sur Ubuntu 18.04 pour vous. Ils sont disponibles 24h/24 et 7j/7 et pourront vous aider à installer ISPConfig sur Ubuntu 18.04.
PS . Si vous aimez lire cet article de blog sur l'installation d'ISPConfig sur Ubuntu 18.04, n'hésitez pas à le partager sur les réseaux sociaux en utilisant les raccourcis de partage ci-dessous, ou laissez simplement un commentaire dans la section des commentaires. Merci.