Ce tutoriel montre comment préparer un serveur Debian Jessie (avec Apache2, BIND, Dovecot) pour l'installation d'ISPConfig 3.1, et comment installer ISPConfig. Le panneau de contrôle d'hébergement Web ISPConfig 3 vous permet de configurer les services suivants via un navigateur Web :serveur Web Apache ou nginx, serveur de messagerie Postfix, serveur Courier ou Dovecot IMAP/POP3, serveur de noms MySQL, BIND ou MyDNS, PureFTPd, SpamAssassin, ClamAV, et beaucoup plus. Cette configuration couvre Apache (au lieu de nginx), BIND et Dovecot (au lieu de Courier).
1 Remarque préliminaire
Dans ce tutoriel, j'utiliserai le nom d'hôte server1.example.com avec l'adresse IP 192.168.1.100 et la passerelle 192.168.1.1. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant. Avant de poursuivre, vous devez disposer d'une installation minimale de Debian 8. Il peut s'agir d'une image minimale Debian de votre fournisseur d'hébergement ou vous utilisez le didacticiel Minimal Debian Server pour configurer le système de base.
Quoi de neuf dans cette version du tutoriel ?
- Prise en charge des nouvelles fonctionnalités ISPConfig 3.1.
- Prise en charge des certificats SSL Let's Encrypt.
- Prise en charge de HHVM (HipHop Virtual Machine) pour exécuter des scripts PHP.
- Prise en charge de XMPP (métronome).
- Prise en charge de la liste grise des e-mails avec Postgrey.
- UFW en tant que pare-feu pour remplacer Bastille.
- Webmail RoundCube au lieu de Squirrelmail.
2 Installer le serveur SSH (facultatif)
Si vous n'avez pas installé le serveur OpenSSH lors de l'installation du système, vous pouvez le faire maintenant :
apt-get install ssh openssh-server
À partir de maintenant, vous pouvez utiliser un client SSH tel que PuTTY et vous connecter depuis votre poste de travail à votre serveur Debian Jessie et suivre les étapes restantes de ce tutoriel.
3 Installer un éditeur de texte shell (facultatif)
Nous utiliserons nano éditeur de texte dans ce tutoriel. Certains utilisateurs préfèrent l'éditeur vi classique, nous allons donc installer les deux éditeurs ici. Le programme vi par défaut a un comportement étrange sur Debian et Ubuntu; pour résoudre ce problème, nous installons vim-nox :
apt-get install nano vim-nox
Si vi est votre éditeur préféré, remplacez nano par vi dans les commandes suivantes pour modifier les fichiers.
4 Configurer le nom d'hôte
Le nom d'hôte de votre serveur doit être un sous-domaine tel que "server1.example.com". N'utilisez pas un nom de domaine sans partie de sous-domaine comme "example.com" comme nom d'hôte car cela causera des problèmes plus tard avec votre configuration de messagerie. Tout d'abord, vous devez vérifier le nom d'hôte dans /etc/hosts et le modifier si nécessaire. La ligne doit être :"Adresse IP - espace - nom d'hôte complet, y compris domaine - espace - partie sous-domaine". Pour notre nom d'hôte server1.example.com, le fichier ressemblera à ceci :
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.1.100 server1.example.com server1# Les lignes suivantes sont souhaitables pour les hôtes compatibles IPv6 ::1 localhost ip6-localhost ip6-loopbackff02 ::1 ip6-allnodesff02 ::2 ip6 -allrouters
Modifiez ensuite le fichier /etc/hostname :
nano /etc/hostname
Il ne contiendra que la partie sous-domaine, dans notre cas :
serveur1
Enfin, redémarrez le serveur pour appliquer la modification :
redémarrer
Connectez-vous à nouveau et vérifiez si le nom d'hôte est correct maintenant avec ces commandes :
nomhôte
nomhôte -f
La sortie doit ressembler à ceci :
[email protected] :/tmp# hostname
server1
[email protected] :/tmp# hostname -f
server1.example.com
5 Mettre à jour votre installation Debian
Assurez-vous d'abord que votre /etc/apt/sources.list contient le référentiel jessie/updates (cela garantit que vous obtenez toujours les dernières mises à jour de sécurité), et que les référentiels contrib et non-free sont activés (certains packages tels que libapache2- mod-fastcgi ne sont pas dans le référentiel principal).
nano /etc/apt/sources.list
#deb cdrom :[Debian GNU/Linux 8.0.0 _Jessie_ - Official amd64 NETINST Binary-1 20150425-12:50]/ jessie main
deb http://ftp.us.debian .org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http:/ /security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
Exécuter :
apt-obtenir la mise à jour
Pour mettre à jour la base de données des packages apt
apt-get upgrade
et pour installer les dernières mises à jour (s'il y en a).
6 Changer le Shell par défaut
/bin/sh est un lien symbolique vers /bin/dash, cependant nous avons besoin de /bin/bash, pas de /bin/dash. C'est pourquoi nous procédons comme suit :
dpkg-reconfigure dash
Utiliser dash comme shell système par défaut (/bin/sh) ? <- non
Si vous ne le faites pas, l'installation d'ISPConfig échouera.
7 Synchroniser l'horloge système
C'est une bonne idée de synchroniser l'horloge système avec un NTP (n réseau t temps p rotocol) sur Internet. Exécutez simplement
apt-get install ntp
et l'heure de votre système sera toujours synchronisée.
8 Installer Postfix, Dovecot, MySQL, rkhunter et Binutils
Nous pouvons installer Postfix, Dovecot, MySQL, rkhunter et binutils avec une seule commande :
apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo
Si vous préférez MySQL à MariaDB, remplacez les packages "mariadb-client mariadb-server" dans la commande ci-dessus par "mysql-client mysql-server".
Les questions suivantes vous seront posées :
Type général de configuration de messagerie :<-- Site Internet
Nom de messagerie système :<-- server1.example.com
Nouveau mot de passe pour l'utilisateur "root" de MariaDB :<-- yourrootsqlpassword
Répéter mot de passe pour l'utilisateur "root" de MariaDB : <-- yourrootsqlpassword
Pour sécuriser l'installation de MariaDB / MySQL et pour désactiver la base de données de test, exécutez cette commande :
mysql_secure_installation
Nous n'avons pas à changer le mot de passe root MySQL car nous venons d'en définir un nouveau lors de l'installation. Répondez aux questions comme suit :
Modifier le mot de passe root ? [O/n] <-- n
Supprimer les utilisateurs anonymes ? [O/n] <-- o
Interdire la connexion root à distance ? [O/n] <-- o
Supprimer la base de données de test et y accéder ? [O/n] <-- o
Recharger les tables de privilèges maintenant ? [O/n] <-- o
Ensuite, ouvrez les ports TLS/SSL et de soumission dans Postfix :
nano /etc/postfix/master.cf
Décommentez les sections de soumission et smtps comme suit et ajoutez des lignes si nécessaire afin que cette section du fichier master.cf ressemble exactement à celle ci-dessous.
[...]submission inet 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=$dender_mua_sender br /># -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet 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_r estrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING[...]
Redémarrez ensuite Postfix :
redémarrage postfixé du service
Nous voulons que MariaDB écoute sur toutes les interfaces, pas seulement sur localhost. Par conséquent, nous modifions /etc/mysql/my.cnf et commentons la ligne bind-address =127.0.0.1 :
nano /etc/mysql/my.cnf
[...]# Au lieu de sauter la mise en réseau, la valeur par défaut est désormais d'écouter uniquement sur# localhost qui est plus compatible et n'est pas moins sécurisé.#bind-address =127.0.0.1[...]
Ensuite, nous redémarrons MySQL :
service redémarrage mysql
Vérifiez maintenant que la mise en réseau est activée. Exécuter
netstat -tap | grep mysql
Le résultat devrait ressembler à ceci :
[email protected] :/# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* ECOUTEZ 16806/mysqld
9 Installer Amavisd-new, SpamAssassin et ClamAV
Pour installer amavisd-new, SpamAssassin et ClamAV, nous lançons
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj noarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl- perl libnet-ident-perl zip libnet-dns-perl postgrey
La configuration d'ISPConfig 3 utilise amavisd qui charge la bibliothèque de filtres SpamAssassin en interne, nous pouvons donc arrêter SpamAssassin pour libérer de la RAM :
service spamassassin stop
systemctl disable spamassassin
9.1 Installer le serveur Metronome XMPP (facultatif)
Cette étape installe le serveur Metronome XMPP qui fournit un serveur de discussion compatible avec le protocole XMPP. Cette étape est facultative, si vous n'avez pas besoin d'un serveur de chat, vous pouvez ignorer cette étape. Aucune autre fonction ISPConfig ne dépend de ce logiciel.
Ajoutez le référentiel de packages Prosody dans Debian.
echo "deb http://packages.prosody.im/debian jessie main"> /etc/apt/sources.list.d/metronome.list
wget http://prosody.im/files/ prosody-debian-packages.key -O - | sudo apt-key ajouter -
Mettre à jour la liste des packages :
apt-obtenir la mise à jour
et installez les packages avec apt.
apt-get install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocks
luarocks installer lpc
Ajoutez un utilisateur shell pour Metronome.
adduser --no-create-home --disabled-login --gecos Métronome 'Metronome'
Téléchargez Metronome dans le répertoire /opt et compilez-le.
cd /opt ; git clone https://github.com/maranda/metronome.git metronome
cd ./metronome; ./configure --ostype=debian --prefix=/usr
make
make install
Metronome a maintenant été installé sur /opt/metronome.
10 Installer Apache2, PHP, FCGI, suExec, Pear, phpMyAdmin et mcrypt
Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear et mcrypt peuvent être installés comme suit :
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-pspell php5-recode php5 -sqlite php5-tidy php5-xmlrpc php5-xsl memcached libapache2-mod-passenger
Vous verrez les questions suivantes :
Serveur Web à reconfigurer automatiquement : <- apache2
Configurer la base de données pour phpmyadmin avec dbconfig-common ? <- oui
Entrez le mot de passe de l'utilisateur administratif ? <- yourrootmysqlpassword
Entrez le mot de passe de l'application phpmyadmin ? <- Appuyez simplement sur Entrée
Exécutez ensuite la commande suivante pour activer les modules Apache suexec, rewrite, ssl, actions et include (plus dav, dav_fs et auth_digest si vous souhaitez utiliser WebDAV) :
les actions SSL de réécriture a2enmod suexec incluent les en-têtes cgi dav_fs dav auth_digest
Pour s'assurer que le serveur ne peut pas être attaqué via la vulnérabilité HTTPOXY, nous allons désactiver globalement l'en-tête HTTP_PROXY dans apache en ajoutant le fichier de configuration /etc/apache2/conf-available/httpoxy.conf.
sudo nano /etc/apache2/conf-available/httpoxy.conf
Collez le contenu suivant dans le fichier :
RequestHeader unset Proxy early
Et activez le module en exécutant :
a2enconf httpoxy
redémarrage du service apache2
10.1 Installer HHVM (HipHop Virtual Machine)
Dans cette étape, nous allons installer HHVM à partir de son référentiel Debian officiel. Ajoutez le référentiel HHVM et importez la clé.
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/debian jessie main | sudo tee /etc/apt/sources.list.d/hhvm.list
Mettre à jour la liste des packages :
sudo apt-get update
et installez HHVM :
sudo apt-get install hhvm
10.2 Installer SuPHP (facultatif, mais non recommandé)
NOTE MISE À JOUR :SuPHP ne devrait plus être installé, passez à l'étape 11
SuPHP n'est plus disponible pour Debian Jessie. Le mode suphp ne devrait plus être utilisé dans ISPConfig car il existe de meilleurs modes PHP comme php-fpm et php-fcgi disponibles. Si vous avez vraiment besoin de suphp pour des raisons héritées, suivez les étapes de ce chapitre pour le compiler manuellement. Mais nous ne recommandons pas son installation.
apt-get install apache2-dev build-essential autoconf automake libtool flex bison debhelper binutils
cd /usr/local/src
wget http://suphp.org/download/suphp-0.7.2.tar.gz
tar zxvf suphp-0.7.2.tar.gz
wget -O suphp.patch https://lists.marsching.com/pipermail/suphp/attachments/20130520/74f3ac02/attachment.patch
patch -Np1 -d suphp-0.7.2cd suphp-0.7.2
autoreconf -if
./configure --prefix=/usr/ --sysconfdir=/etc/suphp/ --with-apr=/usr/bin /apr-1-config --with-apache-user=www-data --with-setid-mode=owner --with-logfile=/var/log/suphp/suphp.log
make
faire installer
Créez le répertoire de configuration suphp et le fichier suphp.conf :
mkdir /var/log/suphp
mkdir /etc/suphp
nano /etc/suphp/suphp.conf
[global]
;Chemin d'accès au fichier journal
logfile=/var/log/suphp/suphp.log
;Loglevel
loglevel=info
;L'utilisateur Apache s'exécute en tant que
webserver_user=www-data
;Chemin dans lequel tous les scripts doivent se trouver
docroot=/var/www
;Chemin vers chroot() avant d'exécuter le script
;chroot=/mychroot
; Options de sécurité
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false
;Vérifier si le script se trouve dans DOCUMENT_ROOT
check_vhost_docroot =true
;Envoie des messages d'erreur mineurs au navigateur
errors_to_browser=false
;Variable d'environnement PATH
env_path=/bin:/usr/bin
;Umask à définir, à spécifier en notation octale
umask=0022
; UID minimal
min_uid=100
; GID minimum
min_gid=100
[gestionnaires]
;Gestionnaire pour les scripts php
x-httpd-suphp="php:/usr/ bin/php-cgi"
;Gestionnaire pour les scripts CGI
x-suphp-cgi=execute:!self
umask=0022
Ensuite, nous allons ajouter un fichier de configuration pour charger le module suphp dans apache :
echo "LoadModule suphp_module /usr/lib/apache2/modules/mod_suphp.so"> /etc/apache2/mods-available/suphp.load
Et puis ouvrez /etc/apache2/mods-available/suphp.conf...
nano /etc/apache2/mods-available/suphp.conf
... et ajoutez le contenu suivant :
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp suPHP_Engine on # Par défaut, désactiver suPHP pour les applications Web empaquetées par Debian, car les fichiers # appartiennent à root et ne peuvent pas être exécutés par suPHP à cause de min_uid. suPHP_Engine off # # Utiliser un fichier de configuration php spécifique (un répertoire contenant un fichier php.ini)# suPHP_ConfigPath /etc/php5/cgi/suphp/# # Dit à mod_suphp de NE PAS gérer requêtes avec le type.# suPHP_RemoveHandler
Activez le module suphp dans apache :
a2enmod suphp
Redémarrez ensuite Apache :
redémarrage du service apache2
11 Installer Let's Encrypt
ISPConfig 3.1 prend en charge l'autorité de certification SSL gratuite Let's encrypt. La fonction Let's Encrypt vous permet de créer des certificats SSL gratuits pour votre site Web à partir d'ISPConfig.
Nous allons maintenant ajouter la prise en charge de Let's encrypt.
mkdir /opt/certbot
cd /opt/certbot
wget https://dl.eff.org/certbot-auto
chmod a+x ./certbot-autoExécutez maintenant la commande certboot-auto qui téléchargera et installera le logiciel et ses dépendances.
./certbot-autoLa commande vous dira alors que "aucun nom n'a été trouvé dans vos fichiers de configuration" et vous demandera si cela doit continuer, veuillez choisir "non" ici car les certificats seront créés par ISPConfig.
12 Installer PHP-FPM et XCache
XCache est un cache d'opcode PHP gratuit et ouvert pour la mise en cache et l'optimisation du code intermédiaire PHP. Il est similaire à d'autres cacheurs d'opcodes PHP, tels que eAccelerator et APC. Il est fortement recommandé d'en installer un pour accélérer votre page PHP.
12.1 PHP-FPM (recommandé)
À partir d'ISPConfig 3.0.5, il existe un mode PHP supplémentaire que vous pouvez sélectionner pour une utilisation avec Apache :PHP-FPM.
Pour utiliser PHP-FPM avec Apache, nous avons besoin du module Apache mod_fastcgi (veuillez ne pas le confondre avec mod_fcgid - ils sont très similaires, mais vous ne pouvez pas utiliser PHP-FPM avec mod_fcgid). Nous pouvons installer PHP-FPM et mod_fastcgi comme suit :
apt-get install libapache2-mod-fastcgi php5-fpmAssurez-vous d'activer le module et de redémarrer Apache :
a2enmod actions fastcgi alias
service redémarrage apache2
12.2 Installer XCache
XCache peut être installé comme suit :
apt-get install php5-xcacheMaintenant, redémarrez Apache :
redémarrage du service apache2
13 Installer Mailman
ISPConfig vous permet de gérer (créer/modifier/supprimer) des listes de diffusion Mailman. Si vous souhaitez utiliser cette fonctionnalité, installez Mailman comme suit :
apt-get install mailmanSélectionnez au moins une langue, par exemple :
Langues à prendre en charge : <-- fr (anglais)
Liste de sites manquante <-- OkAvant de pouvoir démarrer Mailman, une première liste de diffusion appelée mailman doit être créée :
nouvelle liste de facteur[email protected] : # newlist mailman
Saisissez l'adresse e-mail de la personne qui gère la liste : <-- l'adresse e-mail de l'administrateur, par ex. [email protected]
Mot de passe initial mailman : <-- mot de passe admin pour la liste mailman
Pour finir la création de votre liste d'envoi , vous de vaut modifier votre /etc/aliases (ou
équivalent) fichier en en ajoutant les lignes suivantes et éventuellement en exécutant le programme
`newaliases' :
## mailman mailing list
mailman : "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin : "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces : "|/var/lib/mailman/mail/mailman rebondit mailman"
mailman-confirm : "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join : "|/var/lib/mailman/mail/mailman join mailman"
mailman- congé : "|/var/lib/mailman/mail/mailman congé 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-unsu bscribe : "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Appuyez sur Entrée pour notifier le propriétaire du mailman... <-- ENTER
[email protected] :~#Ouvrez ensuite /etc/aliases...
nano /etc/aliases... et ajoutez les lignes suivantes :
[...]## mailman mailing listmailman:"|/var/lib/mailman/mail/mailman post mailman"mailman-admin:"|/var/lib/mailman/mail/mailman admin mailman"mailman- rebondit :"|/var/lib/mailman/mail/mailman rebondit mailman"mailman-confirm :"|/var/lib/mailman/mail/mailman confirme mailman"mailman-join :"|/var/lib/mailman/mail /mailman rejoindre mailman"mailman-leave :"|/var/lib/mailman/mail/mailman quitter mailman"mailman-owner :"|/var/lib/mailman/mail/mailman propriétaire mailman"mailman-request :"|/ var/lib/mailman/mail/mailman demande mailman"mailman-subscribe:"|/var/lib/mailman/mail/mailman s'abonner mailman"mailman-unsubscribe:"|/var/lib/mailman/mail/mailman se désabonner mailman"Exécuter :
nouveaux aliaset relancez Postfix :
redémarrage postfixé du serviceEnfin, il faut activer la configuration de Mailman Apache :
ln -s /etc/mailman/apache.conf /etc/apache2/conf-enabled/mailman.confCela définit l'alias /cgi-bin/mailman/ pour tous les vhosts Apache, ce qui signifie que vous pouvez accéder à l'interface d'administration Mailman pour une liste à http://server1.example.com/cgi-bin/mailman/admin/, et le page Web pour les utilisateurs d'une liste de diffusion peut être trouvé à http://server1.example.com/cgi-bin/mailman/listinfo/.
Sous http://server1.example.com/pipermail, vous trouverez les archives de la liste de diffusion.
Redémarrez ensuite Apache :
redémarrage du service apache2Démarrez ensuite le démon Mailman :
démarrage du facteur de service
14 Installer PureFTPd et Quota
PureFTPd et quota peuvent être installés avec la commande suivante :
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatoolEditez le fichier /etc/default/pure-ftpd-common...
nano /etc/default/pure-ftpd-common... et assurez-vous que le mode de démarrage est défini sur autonome et définissez VIRTUALCHROOT=true :
[...]STANDALONE_OR_INETD=autonome[...]VIRTUALCHROOT=true[...]Nous configurons maintenant PureFTPd pour autoriser les sessions FTP et TLS. FTP est un protocole très peu sûr car tous les mots de passe et toutes les données sont transférés en texte clair. En utilisant TLS, toute la communication peut être cryptée, ce qui rend le FTP beaucoup plus sécurisé.
Si vous souhaitez autoriser les sessions FTP et TLS, exécutez
echo 1> /etc/pure-ftpd/conf/TLSPour 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.pemNom du pays (code à 2 lettres) [AU] :<-- Saisissez le nom de votre pays (par exemple, "DE").
Nom de l'État ou de la province (nom complet) [Some-State] :<-- Saisissez le nom de votre État ou de votre province.
Nom de la localité (par exemple, ville) [] :<-- Saisissez votre ville.
Nom de l'organisation (par exemple, société) [Internet Widgits Pty Ltd] :<-- Saisissez votre nom d'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, "Service informatique").
Nom commun (par exemple, VOTRE nom) [] :<-- Saisissez le nom de domaine complet du système (par exemple, "serveur1.exemple.com").
Adresse e-mail [] : <-- Saisissez votre adresse e-mail.Modifiez les autorisations du certificat SSL :
chmod 600 /etc/ssl/private/pure-ftpd.pemRedémarrez ensuite PureFTPd :
redémarrage du service pure-ftpd-mysqlModifiez /etc/fstab. Le mien ressemble à ceci (j'ai ajouté ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 à la partition avec le point de montage /):
nano /etc/fstab# /etc/fstab :informations statiques sur le système de fichiers.
#
# Utilisez 'blkid' pour imprimer l'identifiant universel unique d'un
# périphérique ; cela peut être utilisé avec UUID=comme un moyen plus robuste de nommer les périphériques
# qui fonctionne même si des disques sont ajoutés et supprimés. Voir fstab(5).
#
#
# / était sur /dev/sda1 lors de l'installation
UUID=3dc3b58d-97e5-497b-8254-a913fdfc5408 / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
# swap was on /dev /sda5 lors de l'installation
UUID=36bf486e-8f76-492d-89af-5a8eb3ce8a02 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0Pour activer le quota, exécutez ces commandes :
monter -o remonter /quotacheck -avugm
quotaon -avug
15 Installer le serveur DNS BIND
BIND peut être installé comme suit :
apt-get install bind9 dnsutilsSi votre serveur est une machine virtuelle, il est fortement recommandé d'installer le démon haveged pour obtenir une entropie plus élevée pour la signature DNSSEC. Vous pouvez également installer haveged sur des serveurs non virtuels, cela ne devrait pas faire de mal.
apt-get install havegedUne explication sur ce sujet peut être trouvée ici.
16 Installer Webalizer et AWStats
Webalizer et AWStats peuvent être installés comme suit :
apt-get install webalizer awstats geoip-database libclass-dbi-mysql-perl libtimedate-perlOuvrez ensuite /etc/cron.d/awstats...
nano /etc/cron.d/awstats... et commentez tout ce qui se trouve dans ce fichier :
#MAILTO=root#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] &&/usr/share/awstats/tools/update.sh# Générer des statiques rapports :#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] &&/usr/share/awstats/tools/buildstatic.sh
17 Installer Jailkit
Jailkit n'est nécessaire que si vous souhaitez chrooter les utilisateurs SSH. Il peut être installé comme suit (important :Jailkit doit être installé avant ISPConfig - il ne peut pas être installé après !) :
apt-get install build-essential autoconf automake libtool flex bison debhelper binutilscd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
tar xvfz jailkit-2.19.tar.gz
cd jailkit- 2.19
./debian/rules binaireVous pouvez maintenant installer le package Jailkit .deb comme suit :
cd ..
dpkg -i jailkit_2.19-1_*.deb
rm -rf jailkit-2.19*
18 Installer fail2ban et le pare-feu UFW
Ceci est facultatif mais recommandé, car le moniteur ISPConfig essaie d'afficher le journal :
apt-get install fail2banPour que fail2ban surveille PureFTPd et Dovecot, créez le fichier /etc/fail2ban/jail.local :
nano /etc/fail2ban/jail.local
[pureftpd]enabled =trueport =ftpfilter =pureftpdlogpath =/var/log/syslogmaxretry =3[dovecot-pop3imap]enabled =truefilter =dovecot-pop3imapaction =iptables-multiport[name=dovecot-pop3imap, port="pop3, pop3s,imap,imaps", protocol=tcp]logpath =/var/log/mail.logmaxretry =5[postfix-sasl]enabled =trueport =smtpfilter =postfix-sasllogpath =/var/log/mail.logmaxretry =3Créez ensuite les deux fichiers de filtre suivants :
nano /etc/fail2ban/filter.d/pureftpd.conf[Definition]failregex =.*pure-ftpd :\(.*@\) \[WARNING\] L'authentification a échoué pour l'utilisateur.*ignoreregex = nano /etc/fail2ban/filter.d/dovecot-pop3imap.conf[Definition]failregex =(?:pop3-login|imap-login):.*(?:Échec de l'authentification|Connexion abandonnée \(échec de l'authentification|Connexion abandonnée \(tentative d'utilisation désactivée|Déconnecté \(échec de l'authentification| Connexion interrompue \(\d+ tentatives d'authentification).*rip=(?P\S*),.*ignoreregex = Ensuite, pour ajouter la ligne ignoreregex dans le fichier de filtre postfix-sasl, exécutez :
echo "ignoreregex =">> /etc/fail2ban/filter.d/postfix-sasl.confRedémarrez ensuite fail2ban :
redémarrage du service fail2banPour installer le pare-feu UFW, exécutez cette commande apt :
apt-get install ufw
19 Installer RoundCube
Roundcube n'est pas disponible dans le référentiel principal de Debian 8, mais nous pouvons l'obtenir via les backports.
Ajoutez le dépôt Backports au fichier /etc/apt/sources.list :
echo "deb http://ftp.debian.org/debian jessie-backports main">> /etc/apt/sources.listet lancez apt-get update.
apt-obtenir la mise à jourInstallez ensuite RoundCube avec cette commande :
apt-get install roundcube roundcube-core roundcube-mysql roundcube-pluginsLe programme d'installation posera les questions suivantes :
Configurer la base de données pour roundcube avec dbconfig.common ? <-- oui
Sélectionnez le type de base de données :<-- mysql
Mot de passe de l'administrateur de la base de données :<-- saisissez ici le mot de passe root MySQL.
Mot de passe de l'application MySQL pour roundcube :<- - appuyez sur entréeModifiez ensuite le fichier RoundCube /etc/roundcube/config.inc.php et ajustez quelques paramètres :
nano /etc/roundcube/config.inc.phpDéfinissez default_host et smtp_server sur localhost.
$config['default_host'] ='localhost';
$config['smtp_server'] ='localhost';Modifiez ensuite le fichier de configuration Apache roundcube /etc/apache2/conf-enabled/roundcube.conf :
nano /etc/apache2/conf-enabled/roundcube.confEt ajoutez une ligne d'alias pour l'alias apache/webmail, vous pouvez ajouter la ligne juste au début du fichier. REMARQUE :N'utilisez pas /mail comme alias, sinon le module de messagerie ispconfig cessera de fonctionner !
Alias /webmail /var/lib/roundcubePuis rechargez Apache :
service rechargement apache2Vous pouvez désormais accéder à RoundCube comme suit :
http://192.168.1.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (après avoir installé ISPConfig, consultez le chapitre suivant)
20 Télécharger ISPConfig 3
20.1 Télécharger la version stable (recommandé)
Pour installer ISPConfig 3 à partir de la dernière version publiée, procédez comme suit :
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/20.2 Télécharger une version bêta de la version 3.1 (recommandé uniquement pour les configurations de test !)
A ce jour (12 avril 2016), la version finale d'ISPConfig 3.1 n'est pas encore disponible au téléchargement. Si vous souhaitez essayer la pré-version de la prochaine version 3.1, téléchargez-la avec cette commande :
cd /tmp
wget -O ISPConfig-3.1-beta.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ISPConfig-3.1-beta.tar.gz
cd ispconfig3-stable-3.1*
cd install
21 Installer ISPConfig
L'étape suivante consiste à exécuter le programme d'installation d'ISPConfig.
php -q install.phpCela lancera le programme d'installation d'ISPConfig 3. Le programme d'installation configurera tous les services comme Postfix, Dovecot, etc. pour vous. Une configuration manuelle telle que requise pour ISPConfig 2 (guides de configuration parfaits) n'est pas nécessaire.
REMARQUE :Ne vous inquiétez pas si le programme d'installation d'ISPConfig 3 identifie Debian Jessie comme étant une version inconnue. Cela n'interfère avec aucune fonctionnalité et sera corrigé avec la prochaine mise à jour d'ISPConfig.
# php -q install.php
------------------------------------------------------- -------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
-------------------------------------------------- ------------------------------------------
>> Configuration initialeSystème d'exploitation :Debian 8.0 (Jessie) ou compatibleVoici quelques questions pour la configuration principale, alors soyez prudent.
Les valeurs par défaut sont entre [crochets] et peuvent être acceptées avec.
Appuyez sur "quit" (sans les guillemets) pour arrêter le programme d'installation.
Sélectionnez la langue (en,de) [en] :<-- Appuyez sur EntréeMode d'installation (standard, expert) [standard] : <-- Appuyez sur EntréeNom d'hôte complet (FQDN) du serveur, par exemple server1.domain.tld [server1.canomi.com] : <-- Appuyez sur EntréeNom d'hôte du serveur MySQL [localhost] : <-- Appuyez sur EntréePort du serveur MySQL [3306] : <-- Appuyez sur EntréeNom d'utilisateur root MySQL [root] : <-- Appuyez sur EntréeMot de passe root MySQL [] : <-- Saisissez votre mot de passe root MySQLBase de données MySQL pour créer [dbispconfig] : <-- Appuyez sur EntréeJeu de caractères MySQL [utf8] : <-- Appuyez sur EntréeConfigurer Postgrey
Configurer Postfix
Générer une clé privée RSA 4096 bits
............................ ...............................................++
.................................................. .................................................. .......................................++
écriture d'une nouvelle clé privée pour 'smtpd.key'
-----
Vous êtes sur le point d'être invité à saisir des informations qui seront incorporées
dans votre demande de certificat.
Ce que vous êtes sur le point de saisir est ce qu'on appelle un nom distinctif ou un DN.
Il y a pas mal de champs mais vous pouvez laisser des champs vides
Pour certains champs, il y aura une valeur par défaut,
Si vous entrez '. ', le champ restera vide.
-----
Nom du pays (code à 2 lettres) [AU] :<-- Entrez le code du pays à 2 lettres
Nom de l'État ou de la province ( nom complet) [Some-State] :<-- Saisissez le nom de l'état
Nom de la localité (par exemple, ville) [] :<-- Saisissez votre ville
Nom de l'organisation (par exemple, société) [ Int ernet Widgits Pty Ltd] :<-- Entrez le nom de l'entreprise ou appuyez sur Entrée
Nom de l'unité organisationnelle (par exemple, section) [] : <-- Appuyez sur Entrée
Nom commun (par exemple, FQDN du serveur ou VOTRE nom) [] :<-- Entrez le nom d'hôte du serveur, dans mon cas :server1.example.com
Adresse e-mail [] : <-- Appuyez sur Entrée
Configuration de Mailman
Configuration de Dovecot
Configuration de Spamassassin
Configuration d'Amavisd
Configuration de Getmail
Configuration de BIND
Configuration de Jailkit
Configuration de Pureftpd
Configuration d'Apache
Configuration de vlogger
Configuration du serveur Metronome XMPP
écriture d'une nouvelle clé privée dans 'localhost.key'
-----
Nom du pays (code à 2 lettres) [AU] : <-- Entrée Code pays à 2 lettres
Nom de la localité (par exemple, ville) [] : <-- Saisissez votre ville
Nom de l'organisation (par exemple, société) [Internet Widgits Pty Ltd] : <-- Saisissez le nom de la société ou appuyez sur saisissez
Nom de l'unité organisationnelle (par exemple, section) [] : <-- Appuyez sur Entrée
Nom commun (par exemple, FQDN du serveur ou VOTRE nom) [server1.canomi.com] : <-- Saisissez le nom d'hôte du serveur , dans mon cas :server1.example.com
Adresse e-mail [] : <-- Appuyez sur EntréeConfiguration du pare-feu Ubuntu
Configuration Fail2ban
[INFO] service OpenVZ non détecté
Configuration Apps vhost
Installation ISPConfig
Port ISPConfig [8080] :Mot de passe administrateur [admin] :Souhaitez-vous une connexion sécurisée (SSL) à l'interface Web ISPConfig (y,n) [y] : <-- Appuyez sur EntréeGénération de la clé privée RSA, module long de 4096 bits
.......................++
..... .................................................. .................................................. .......................++
e est 65537 (0x10001)
Vous êtes sur le point d'être invité à saisir des informations qui être incorporé
dans votre demande de certificat.
Ce que vous êtes sur le point d'entrer est ce qu'on appelle un nom distinctif ou un DN.
Il y a pas mal de champs mais vous pouvez laisser certains champs vides
Pour certains champs, il y aura une valeur par défaut,
Si vous saisissez '.', le champ restera vide.
-----
Nom du pays (code à 2 lettres) [AU] : <-- Saisissez le code de pays à 2 lettres
Nom de l'État ou de la province (nom complet) [Some-State] : <-- Saisissez le nom de l'état
Nom de la localité (par exemple, la ville) [] : <-- Saisissez votre ville
Nom de l'organisation (par exemple, société) [Internet Widgits Pty Ltd] : <-- Saisissez le nom de la société ou appuyez sur Entrée
Nom de l'unité organisationnelle (par exemple, section) [] : <-- Appuyez sur Entrée
Nom commun (ex. FQDN du serveur ou VOTRE nom) [] : <-- Entrez le nom d'hôte du serveur, dans mon cas :server1.example.com
Adresse e-mail [] : <-- Appuyez sur EntréeVeuillez saisir les attributs "supplémentaires" suivants
à envoyer avec votre demande de certificat
Un mot de passe de test [] : <-- Appuyez sur Entrée
Un nom de société facultatif [] : <- - Appuyez sur Entrée
écriture de la clé RSA
Configuration de DBServer
Installation d'ISPConfig crontab
pas de crontab pour root
pas de crontab pour getmail
Détecter les adresses IP
Redémarrage des services...
Installation terminée.Le programme d'installation configure automatiquement tous les services sous-jacents, aucune configuration manuelle n'est donc nécessaire.
Ensuite, vous pouvez accéder à ISPConfig 3 sous http(s)://server1.example.com:8080/ ou http(s)://192.168.1.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) :
Le système est maintenant prêt à être utilisé.
21.1 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 tutoriels 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.
22 notes supplémentaires
22.1 OpenVZ
Si le serveur Debian que vous venez de configurer dans ce tutoriel est un conteneur OpenVZ (machine virtuelle), vous devez le faire sur le système hôte (je suppose que l'ID du conteneur OpenVZ est 101 - remplacez-le par le correct VPSID sur votre système):
VPSID=101
pour CAP dans CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
vzctl set $VPSID --capability ${CAP} :sur --save
fait
23 liens
- Debian :http://www.debian.org/
- ISPConfig :http://www.ispconfig.org/