GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment installer ISPConfig 3 sur Ubuntu 18.04

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.


Panels
  1. Comment installer Webmin sur Ubuntu 18.04

  2. Comment installer Panda3D sur Ubuntu 10.04

  3. Comment installer ATutor sur Ubuntu 14.04

  4. Comment installer Traq sur Ubuntu 16.04

  5. Comment installer Pip sur Ubuntu 16.04

Comment installer Go sur Ubuntu 18.04

Comment installer R sur Ubuntu 18.04

Comment installer qt sur Ubuntu 20.04

Comment installer ISPConfig sur Ubuntu 20.04 LTS

Comment installer Go dans Ubuntu 20.04

Comment installer Go sur Ubuntu 22.04