Le serveur parfait - Debian Wheezy (Apache2, BIND, Dovecot, ISPConfig 3)
Ce tutoriel montre comment préparer un serveur Debian Wheezy (avec Apache2, BIND, Dovecot) pour l'installation d'ISPConfig 3, et comment installer ISPConfig 3. ISPConfig 3 est un panneau de contrôle d'hébergement Web qui vous permet de configurer les services suivants via un navigateur :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 bien d'autres. Cette configuration couvre Apache (au lieu de nginx), BIND (au lieu de MyDNS) et Dovecot (au lieu de Courier).
Veuillez noter que cette configuration ne fonctionne pas pour ISPConfig 2 ! Il n'est valable que pour ISPConfig 3 !
Je n'émets aucune garantie que cela fonctionnera pour vous !
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.
Application de surveillance ISPConfig pour Android
Avec l'application ISPConfig Monitor, vous pouvez vérifier l'état de votre serveur et savoir si tous les services fonctionnent comme prévu. Vous pouvez vérifier les ports TCP et UDP et envoyer un ping à vos serveurs. En plus de cela, vous pouvez utiliser cette application pour demander des détails aux serveurs sur lesquels ISPConfig est installé (veuillez noter que la version minimale installée d'ISPConfig 3 avec prise en charge de l'application ISPConfig Monitor est 3.0.3.3 ! ); ces détails incluent tout ce que vous savez du module Monitor dans le panneau de configuration ISPConfig (par exemple, les services, les journaux de messagerie et système, la file d'attente de messagerie, les informations sur le processeur et la mémoire, l'utilisation du disque, les quotas, les détails du système d'exploitation, le journal RKHunter, etc.), et bien sûr , comme ISPConfig est compatible avec plusieurs serveurs, vous pouvez vérifier tous les serveurs contrôlés à partir de votre serveur maître ISPConfig.
Pour obtenir des instructions de téléchargement et d'utilisation, veuillez visiter http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.
1 Exigences
Pour installer un tel système, vous aurez besoin des éléments suivants :
- le CD d'installation du réseau Debian Wheezy, disponible ici :http://cdimage.debian.org/debian-cd/7.0.0/i386/iso-cd/debian-7.0.0-i386-netinst.iso (i386 ) ou http://cdimage.debian.org/debian-cd/7.0.0/amd64/iso-cd/debian-7.0.0-amd64-netinst.iso (x86_64)
- 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 Le système de base
Insérez votre CD d'installation réseau Debian Wheezy dans votre système et démarrez à partir de celui-ci. Sélectionnez Installer (cela lancera le programme d'installation textuel - si vous préférez un programme d'installation graphique, sélectionnez Installation graphique) :
Choisissez votre langue :
Sélectionnez ensuite votre emplacement :
Si vous avez sélectionné une combinaison inhabituelle de langue et de lieu (comme l'anglais comme langue et l'Allemagne comme lieu, comme dans mon cas), le programme d'installation peut vous dire qu'il n'y a pas de paramètres régionaux définis pour cette combinaison ; dans ce cas, vous devez sélectionner les paramètres régionaux manuellement. Je sélectionne en_US.UTF-8 ici :
Choisissez une disposition de clavier :
Le programme d'installation vérifie le CD d'installation, votre matériel et configure le réseau avec DHCP s'il y a un serveur DHCP sur le réseau :
Entrez le nom d'hôte. Dans cet exemple, mon système s'appelle server1.example.com , donc j'entre server1 :
Entrez votre nom de domaine. Dans cet exemple, il s'agit de example.com :
Ensuite, donnez un mot de passe à l'utilisateur root :
Confirmez ce mot de passe pour éviter les fautes de frappe :
Créez un compte d'utilisateur normal, par exemple l'utilisateur Administrator avec le nom d'utilisateur administrator (n'utilisez pas le nom d'utilisateur admin car il s'agit d'un nom réservé sur Debian Wheezy) :
Le serveur parfait - Debian Wheezy (Apache2, BIND, Dovecot, ISPConfig 3) - Page 2
4 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 Wheezy et suivre les étapes restantes de ce tutoriel.
5 Installer vim-nox (facultatif)
J'utiliserai vi comme éditeur de texte dans ce tutoriel. 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 vim-nox
(Vous n'avez pas à le faire si vous utilisez un autre éditeur de texte tel que joe ou nano.)
6 Configurer le réseau
Étant donné que l'installateur Debian Wheezy a configuré notre système pour obtenir ses paramètres réseau via DHCP, nous devons changer cela maintenant car un serveur doit avoir une adresse IP statique. Modifiez /etc/network/interfaces et ajustez-le à vos besoins (dans cet exemple de configuration, j'utiliserai l'adresse IP 192.168.0.100) (veuillez noter que je remplace allow-hotplug eth0 par auto eth0 ; sinon, le redémarrage du réseau ne fonctionne pas , et il faudrait redémarrer tout le système) :
vi /etc/network/interfaces
# Ce fichier décrit les interfaces réseau disponibles sur votre système# et comment les activer. Pour plus d'informations, voir interfaces(5) diffuser 192.168.0.255 passerelle 192.168.0.1 |
Redémarrez ensuite votre réseau :
/etc/init.d/networking restart
Modifiez ensuite /etc/hosts. Faites en sorte qu'il ressemble à ceci :
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.0.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 |
Maintenant lancez
echo server1.example.com> /etc/hostname
/etc/init.d/hostname.sh start
Ensuite, lancez
nom_hôte
nom_hôte -f
Il est important que les deux affichent server1.example.com maintenant !
7 Mettre à jour votre installation Debian
Assurez-vous d'abord que votre /etc/apt/sources.list contient le référentiel wheezy-updates (cela garantit que vous obtenez toujours les dernières mises à jour pour le scanner de virus ClamAV - ce projet publie très souvent des versions, et parfois les anciennes versions cessent de fonctionner), et que les dépôts contrib et non-free sont activés (certains paquets comme libapache2-mod-fastcgi ne sont pas dans le dépôt principal).
vi /etc/apt/sources.list
deb http://ftp.de.debian.org/debian/ wheezy main contrib non-freedeb-src http://ftp.de.debian.org/ debian/ wheezy main contrib non-freedeb http://security.debian.org/ wheezy/updates main contrib non-freedeb-src http://security.debian.org/ wheezy/updates main contrib non-free# wheezy-updates , anciennement connu sous le nom de 'volatile'deb http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-freedeb-src http://ftp.de.debian.org/debian/ wheezy-updates main contribution non-free |
Exécuter
apt-obtenir la mise à jour
pour mettre à jour la base de données des packages apt et
apt-get upgrade
pour installer les dernières mises à jour (le cas échéant).
8 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 tiret
Utiliser dash comme shell système par défaut (/bin/sh) ? <- non
Si vous ne le faites pas, l'installation d'ISPConfig échouera.
9 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 ntpdate
et l'heure de votre système sera toujours synchronisée.
10 Installer Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils
Nous pouvons installer Postfix, Dovecot, MySQL, rkhunter et binutils avec une seule commande :
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo
Les questions suivantes vous seront posées :
Type général de configuration de messagerie :<-- Site Internet
Nom de messagerie du système :<-- server1.example.com
Nouveau mot de passe pour l'utilisateur "root" MySQL :<-- yourrootsqlpassword
Répéter mot de passe de l'utilisateur "root" MySQL : <-- yourrootsqlpassword
Ouvrez ensuite les ports TLS/SSL et de soumission dans Postfix :
vi /etc/postfix/master.cf
Décommentez les sections de soumission et smtps comme suit (laissez -o milter_macro_daemon_name=ORIGINATING car nous n'en avons pas besoin) :
[...]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 , rejeter # -o milter_macro_daemon_name =originatingsmtps inet n - - - - smtpd -o syslog_name =postfix / smtps -o smtpd_tls_wappermode =oui -o smtpd_sasl_auth_enable =origin_ ... |
Redémarrez ensuite Postfix :
/etc/init.d/postfix restart
Nous voulons que MySQL écoute sur toutes les interfaces, pas seulement sur localhost, donc nous éditons /etc/mysql/my.cnf et commentons la ligne bind-address =127.0.0.1 :
vi /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 :
/etc/init.d/mysql restart
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
tcp 0 0 *:mysql * :* ÉCOUTER 26757/mysqld
[email protected] :~#
11 Installer Amavisd-new, SpamAssassin et Clamav
Pour installer amavisd-new, SpamAssassin et ClamAV, nous exécutons
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
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 :
/etc/init.d/spamassassin stop
update-rc.d -f spamassassin remove
Le serveur parfait - Debian Wheezy (Apache2, BIND, Dovecot, ISPConfig 3) - Page 4
12 Installer Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear 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 libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached
Vous verrez la question suivante :
Serveur Web à reconfigurer automatiquement : <- apache2
Configurer la base de données pour phpmyadmin avec dbconfig-common ? <- non
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
a2enmod dav_fs dav auth_digest
Ouvrez ensuite /etc/apache2/mods-available/suphp.conf...
vi /etc/apache2/mods-available/suphp.conf
... et commentez la section
|
Redémarrez ensuite Apache :
/etc/init.d/apache2 redémarrage
Si vous souhaitez héberger des fichiers Ruby avec l'extension .rb sur vos sites Web créés via ISPConfig, vous devez commenter la ligne application/x-ruby rb dans /etc/mime.types :
vi /etc/mime.types
[...]#application/x-ruby rb[...] |
(Ceci n'est nécessaire que pour les fichiers .rb ; les fichiers Ruby avec l'extension .rbx sont prêts à l'emploi.)
Redémarrez ensuite Apache :
/etc/init.d/apache2 redémarrage
12.1 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.
Xcache peut être installé comme suit :
apt-get install php5-xcache
Maintenant, redémarrez Apache :
/etc/init.d/apache2 redémarrage
12.2 PHP-FPM
À 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-fpm
Assurez-vous d'activer le module et de redémarrer Apache :
a2enmod actions fastcgi alias
/etc/init.d/apache2 restart
12.3 Versions PHP supplémentaires
À partir d'ISPConfig 3.0.5, il est possible d'avoir plusieurs versions de PHP sur un serveur (sélectionnables via ISPConfig) qui peuvent être exécutées via FastCGI et PHP-FPM. Pour savoir comment créer des versions PHP supplémentaires (PHP-FPM et FastCGI) et comment configurer ISPConfig, veuillez consulter ce tutoriel :Comment utiliser plusieurs versions de PHP (PHP-FPM et FastCGI) avec ISPConfig 3 (Debian Wheezy).
13 Installer Mailman
Depuis la version 3.0.4, ISPConfig permet également 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 mailman
Sélectionnez au moins une langue, par exemple :
Langues à prendre en charge : <-- fr (anglais)
Liste de sites manquante <-- Ok
Avant 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 de mailing, vous devez modifier votre /etc/aliases (ou
l'équivalent) fichier 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 quitter 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 mailm an"
mailman-unsubscribe : "|/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...
vi /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-bounces :"|/var/lib/mailman/mail/mailman rebondit mailman"mailman-confirm :"|/var/lib/mailman/mail/mailman confirme mailman"mailman- join:"|/var/lib/mailman/mail/mailman joindre 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ésinscrire mailman" |
Exécuter
nouveaux alias
ensuite et relancez Postfix :
/etc/init.d/postfix restart
Enfin, nous devons activer la configuration de Mailman Apache :
ln -s /etc/mailman/apache.conf /etc/apache2/conf.d/mailman.conf
Cela 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:///cgi-bin/mailman/admin/, et la page Web pour les utilisateurs de une liste de diffusion peut être trouvée à http:///cgi-bin/mailman/listinfo/.
Sous http:///pipermail, vous trouverez les archives de la liste de diffusion.
Redémarrez ensuite Apache :
/etc/init.d/apache2 redémarrage
Démarrez ensuite le démon Mailman :
/etc/init.d/mailman start
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 quotatool
Editez le fichier /etc/default/pure-ftpd-common...
vi /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=standalone[...]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/TLS
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) [AU] :<-- Entrez 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) [] :<-- Saisissez 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 :
/etc/init.d/pure-ftpd-mysql restartModifiez /etc/fstab. Le mien ressemble à ceci (j'ai ajouté ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 à la partition avec le point de montage /):
vi /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).## /dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot était sur /dev/sda1 pendant l'installationUUID=46d1bd79-d761-4b23-80b8-ad20cb18e049 /boot ext2 defaults 0 2/dev/mapper/server1-swap_1 none swap sw 0 0/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 |
Pour 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 dnsutils
16 Installer Vlogger, Webalizer et AWstats
Vlogger, Webalizer et AWstats peuvent être installés comme suit :
apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl
Ouvrez ensuite /etc/cron.d/awstats...
vi /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 rapports statiques :#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 automake1.9 libtool flex bison debhelper binutils-gold
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit- 2.17
./debian/rules binaire
Vous pouvez maintenant installer le package Jailkit .deb comme suit :
cd ..
dpkg -i jailkit_2.17-1_*.deb
rm -rf jailkit-2.17*
18 Installer fail2ban
Ceci est facultatif mais recommandé, car le moniteur ISPConfig essaie d'afficher le journal :
apt-get install fail2ban
Pour que fail2ban surveille PureFTPd et Dovecot, créez le fichier /etc/fail2ban/jail.local :
vi /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[sasl]enabled =trueport =smtpfilter =sasllogpath =/var/log/mail.logmaxretry =3
Créez ensuite les deux fichiers de filtre suivants :
vi /etc/fail2ban/filter.d/pureftpd.conf
[Definition]failregex =.*pure-ftpd :\(.*@\) \[WARNING\] L'authentification a échoué pour l'utilisateur.*ignoreregex =
vi /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 =
Redémarrez ensuite fail2ban :
/etc/init.d/fail2ban redémarrage
Le serveur parfait - Debian Wheezy (Apache2, BIND, Dovecot, ISPConfig 3) - Page 5
19 Installer SquirrelMail
Pour installer le client de messagerie Web SquirrelMail, exécutez
apt-get install squirrelmail
Configurez ensuite SquirrelMail :
squirrelmail-configure
Nous devons dire à SquirrelMail que nous utilisons Dovecot-IMAP/-POP3 :
Configuration de SquirrelMail : Lire : config.php (1.4.0)
------------------------------ ---------------------------
Menu principal --
1. Préférences d'organisation
2. Serveur Paramètres
3. Paramètres par défaut des dossiers
4. Options générales
5. Thèmes
6. Carnets d'adresses
7. Message du jour (MOTD)
8 . Plugins
9. Base de données
10. Langues
D. Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques
C Activer la couleur
S Enregistrer les données
Q Quitter
Commande >> <-- D
SquirrelMail Configuration : Lire : config.php
- -------------------------------------------------- ------
Pendant que nous créons SquirrelMail, nous avons découvert certaines
préférences qui fonctionnent mieux avec certains serveurs qui ne fonctionnent pas si
bien avec d'autres. Si vous sélectionnez votre serveur IMAP, cette option définira certains paramètres prédéfinis pour ce serveur.
Veuillez noter que vous aurez toujours de viser et vous assurer
de tout est correct. Cela ne change pas tout. Il n'y a
que quelques paramètres qui vont modifier.
Veuillez sélectionner votre serveur IMAP :
bincimap = serveur Binc IMAP
courier = serveur Courier IMAP
Cyrus =Cyrus IMAP Server
DoveCot =DoveCot Secure IMAP Server
Exchange =Microsoft Exchange IMAP Server
HmailServer =HmailServer
MacOSX =Mac OS X MailServer
Mercury32 =Mercury /32
uw = Serveur IMAP de l'Université de Washington
gmail = Accès IMAP aux comptes Google mail (Gmail)
quitter = Ne modifier rien
Commande >> <-- dovecot
SquirrelMail Configuration : Lire : config.php
----------------------- ----------------------------------
Pendant que nous construisons SquirrelMail, nous en avons découvert
préférences qui fonctionnent mieux avec certains serveurs qui ne fonctionnent pas si
bien avec d'autres . Si vous sélectionnez votre serveur IMAP, cette option définira certains paramètres prédéfinis pour ce serveur.
Veuillez noter que vous aurez toujours de viser et vous assurer
de tout est correct. Cela ne change pas tout. Il n'y a
que quelques paramètres qui vont modifier.
Veuillez sélectionner votre serveur IMAP :
bincimap = serveur Binc IMAP
courier = serveur Courier IMAP
Cyrus =Cyrus IMAP Server
DoveCot =DoveCot Secure IMAP Server
Exchange =Microsoft Exchange IMAP Server
HmailServer =HmailServer
MacOSX =Mac OS X MailServer
Mercury32 =Mercury /32
uw = Serveur IMAP de l'Université de Washington
gmail = Accès IMAP aux comptes Google mail (Gmail)
quitter = Ne modifier rien
Commande >> dovecot
imap_server_type =dovecot
default_folder_prefix =
trash_folder =trash
Send_folder =envoyé
draft_folder =drafts
show_prefix_option =false
default_sub_of_in_inbox = faux
show_contain_ subfolders_option = false
optional_delimiter = detect
delete_folder = false
Appuyez sur n'importe quelle touche pour continuer... <-- appuyez sur une touche
SquirrelMail Configuration :Lire : config.php (1.4.0)
------------------------------------ ---------------------
Menu principal --
1. Préférences de l'organisation
2. Paramètres du serveur
3 . Par défaut des dossiers
4. Options générales
5. Thèmes
6. Carnets d'adresses
7. Message du jour (MOTD)
8. Plug-ins
9. Base de données
10. Langues
D. Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques
C Activer la couleur
S Enregistrer les données
Q Quitter
Commande >> <-- S
SquirrelMail Configuration : Lire : config.php (1.4.0)
-- -------------------------------------------------- -----
Menu principal --
1. Préférences de l'organisation
2. Paramètres du serveur
3. Paramètres par défaut des dossiers
4. Op. générales tions
5. Thèmes
6. Carnets d'adresses
7. Message du jour (MOTD)
8. Plugins
9. Base de données
10. Langues
D. Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques
C Activer la couleur
S Enregistrer les données
Q Quitter
/> Commande >> <-- Q
Nous allons maintenant configurer SquirrelMail afin que vous puissiez l'utiliser à partir de vos sites Web (créés via ISPConfig) en utilisant les alias /squirrelmail ou /webmail. Ainsi, si votre site Web est www.example.com, vous pourrez accéder à SquirrelMail en utilisant www.example.com/squirrelmail ou www.example.com/webmail.
La configuration Apache de SquirrelMail se trouve dans le fichier /etc/squirrelmail/apache.conf, mais ce fichier n'est pas chargé par Apache car il ne se trouve pas dans le répertoire /etc/apache2/conf.d/. Par conséquent, nous créons un lien symbolique appelé squirrelmail.conf dans le répertoire /etc/apache2/conf.d/ qui pointe vers /etc/squirrelmail/apache.conf et rechargeons ensuite Apache :
cd /etc/apache2/conf.d/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
/etc/init.d/apache2 recharge
Ouvrez maintenant /etc/apache2/conf.d/squirrelmail.conf...
vi /etc/apache2/conf.d/squirrelmail.conf
... et ajoutez les lignes suivantes au conteneur pour vous assurer que mod_php est utilisé pour accéder à SquirrelMail, quel que soit le mode PHP que vous sélectionnez pour votre site Web dans ISPConfig :
[...]Options FollowSymLinks [ ...]AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_admin_flag allow_url_fopen Off php_value include_path . php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname php_flag register_globals off DirectoryIndex index.php # l'accès à configtest est limité par défaut pour éviter les fuites d'informationsorder deny,allow deny from all allow from 127.0.0.1
mkdir /var/lib/squirrelmail/tmpCréer le répertoire /var/lib/squirrelmail/tmp...
... et faites en sorte qu'il appartienne à l'utilisateur www-data :
chown www-data /var/lib/squirrelmail/tmp
Recharger Apache :
/etc/init.d/apache2 recharge
C'est déjà fait - /etc/apache2/conf.d/squirrelmail.conf définit un alias appelé /squirrelmail qui pointe vers le répertoire d'installation de SquirrelMail /usr/share/squirrelmail.
Vous pouvez désormais accéder à SquirrelMail depuis votre site Web comme suit :
http://192.168.0.100/squirrelmail
http://www.example.com/squirrelmail
Vous pouvez également y accéder depuis le vhost du panneau de contrôle ISPConfig (après avoir installé ISPConfig, voir le chapitre suivant) comme suit (cela ne nécessite aucune configuration dans ISPConfig) :
http://server1.example.com:8080/squirrelmail
Si vous souhaitez utiliser l'alias /webmail au lieu de /squirrelmail, ouvrez simplement /etc/apache2/conf.d/squirrelmail.conf...
vi /etc/apache2/conf.d/squirrelmail.conf
... et ajoutez la ligne Alias /webmail /usr/share/squirrelmail :
Alias /squirrelmail /usr/share/squirrelmailAlias /webmail /usr/share/squirrelmail[...]
Puis rechargez Apache :
/etc/init.d/apache2 recharge
Vous pouvez maintenant accéder à Squirrelmail comme suit :
http://192.168.0.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (après avoir installé ISPConfig, consultez le chapitre suivant)
Si vous souhaitez définir un vhost comme webmail.example.com où vos utilisateurs peuvent accéder à SquirrelMail, vous devez ajouter la configuration vhost suivante à /etc/apache2/conf.d/squirrelmail.conf :
vi /etc/apache2/conf.d/squirrelmail.conf
[...] |
/etc/init.d/apache2 reload Maintenant, rechargez Apache... Bien sûr, il doit y avoir un enregistrement DNS pour webmail.example.com qui pointe vers l'adresse IP que vous utilisez dans la configuration vhost. Assurez-vous également que le vhost webmail.example.com n'existe pas dans ISPConfig (sinon les deux vhosts interféreront l'un avec l'autre !).
... et vous pouvez accéder à SquirrelMail sous http://webmail.example.com !
20 Installer ISPConfig 3
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/
La prochaine étape consiste à exécuter
php -q install.php
Cela 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.
[email protected] :/tmp/ispconfig3_install/install# php -q install.php
PHP obsolète : les commentaires commençant par '#' sont obsolètes dans /etc/php5/cli/conf.d/ming .ini sur la ligne 1 dans Inconnu sur la ligne 0
---------------------------- -------------------------------------------------- --
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
------------------------------------------- ------------------------------------------
>> Configuration initiale
Système d'exploitation : Debian ou compatible, version inconnue.
Suivant seront quelques questions pour la configuration principale donc soyez prudent.
Les valeurs par défaut sont entre [crochets] et peuvent être acceptées avec .
Appuyez sur "quitter" (sans les guillemets) pour arrêter le programme d'installation.
Sélectionnez la langue (en, de) [en] : <-- ENTER
Mode d'installation (standard, expert) [standard] : <-- ENTER
Nom d'hôte complet (FQDN) du serveur , par exemple server1.domain.tld [server1.example.com] : <-- ENTER
Nom d'hôte du serveur MySQL [localhost] : <-- ENTER
Nom d'utilisateur racine MySQL [ root] : <-- ENTER
MySQL r oot password [] : <-- votremotdepasseqlracine
Base de données MySQL pour créer [dbispconfig] : <-- ENTER
MySQL charset [utf8] : <-- ENTER
Génération d'une clé privée RSA 4 096 bits
.................................. ................................++
................. .................................................. .................................................. ....++
écrire une nouvelle clé privée à 'smtpd.key'
-----
Vous allez être sur le point de saisir des informations qui seront incorporées
dans votre demande de certificat.
Ce que vous allez entrer est ce qu'on appelle un nom distinguable ou un DN. sera une valeur par défaut,
Si vous entrez '.', le champ sera laissé vide.
-----
Nom du pays (code à 2 lettres) [AU] : <- - ENTER
State or Province Name (full name) [Some-State] : <-- ENTER
Locality Name (ex, city) [] : <-- ENTER Nom de l'organisation (par exemple, entreprise) [Internet Widgits Pty Ltd] : <-- ENTER
Nom de l'unité organisationnelle (par exemple, section) [] : <-- ENTER
Nom commun (par exemple, serveur FQDN ou VOTRE nom) [] : <-- ENTER
Adresse e-mail [] : <-- ENTER
Configuration Jailkit
Configuration Dovecot
Configuration Spamassassin
Configuration Amavisd
Configurer Getmail
Configurer Pureftpd
Configurer BIND
Configurer Apache
Configurer Vlogger
Configurer Apps vhost
Configurer Bastille Firewall
Configurer Fail2ban
Installation d'ISPConfig
Port ISPConfig [8080] : <-- ENTRÉE
Voulez-vous une connexion sécurisée (SSL) à l'interface Web ISPConfig (y,n) [y] : <-- ENTRER
Génération de la clé privée RSA, module de long 4096 bits
........................ .................................................. .......................++
........++
e est 65537 (0x10001)
Vous êtes sur le point d'être demandé de 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 distingué ou un DN.
Il y a qu ite quelques champs mais vous pouvez laisser certains vides
Pour certains champs il y aura une valeur par défaut,
Si vous entrez '.', le champ sera laissé vide.
---- -
Nom du pays (code à 2 lettres) [AU] : <-- ENTER
Nom de l'État ou de la province (nom complet) [Some-State] : <-- ENTER
Nom de la localité (par exemple , ville) [] : <-- ENTER
Nom de l'organisation (par exemple, entreprise) [Internet Widgits Pty Ltd] : <-- ENTER
Nom de l'unité organisationnelle (par exemple, section) [] : <-- ENTER
Nom commun (par exemple, serveur FQDN ou VOTRE nom) [] : <-- ENTRER
Adresse e-mail [] : <-- ENTRER
Veuillez entrer les attributs "supplémentaires" suivants
à être envoyés avec votre demande de certificat
Un mot de passe de défi [] : <-- ENTRÉE
Un nom de société facultatif [] : <-- ENTRÉE
en écrivant la clé RSA
Configuration de DBServer
Installation ISPConfig crontab
pas crontab pour root
pas crontab pour getmail
Redémarrage des services ...
Arrêt du serveur de base de données MySQL : mysqld.
Démarrage du serveur de base de données MySQL : mysqld ..
Vérification des tables qui nécessitent une mise à jour, sont corrompues ou n'ont
pas fermées proprement ..
Arrêt de l'agent de transport de courrier de Postfix : postfix.
Démarrage de l'agent de transport de courrier de Postfix : postfix.
Arrêt amavisd : amavisd-new.
Démarrage amavisd : amavisd-new.
Arrêt démon ClamAV : clamd.
Démarrage démon ClamAV : clamd .
Redémarrage IMAP/POP3 mail serveur : dovecot.
[Tue May 07 02:36:22 2013] [warn] NameVirtualHost *:443 n'a pas VirtualHosts
[Tue May 07 02:36:22 2013] [warn] NameVirtualHost *:80 n'a pas VirtualHosts
[Tue May 07 02:36:23 2013] [warn] NameVirtualHost *:443 n'a pas VirtualHosts
[Tue May 07 02:36:23 2013] [warn] NameVirtualHost * : 80 n'a pas VirtualHosts
Redémarrage du serveur Web : apache2 ... en attente .
Redémarrage du serveur ftp : En cours d'exécution :/usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql :/etc/pure-ftpd/db/mysql.conf -l pam -H -O clf :/var/log/pure-ftpd/transfer.log - Y 1 -D -u 1000 -A -E -b -8 UTF-8 -B
Installation terminée.
[email protected] :/tmp/ispconfig3_install/install#
Le programme d'installation configure automatiquement tous les services sous-jacents, aucune configuration manuelle n'est donc nécessaire.
Vous avez maintenant également la possibilité de laisser le programme d'installation créer un vhost SSL pour le panneau de contrôle ISPConfig, afin que ISPConfig soit accessible en utilisant https:// au lieu de http://. Pour ce faire, appuyez simplement sur ENTRÉE lorsque vous voyez cette question :Voulez-vous une connexion sécurisée (SSL) à l'interface Web ISPConfig (y,n) [y] :.
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) :
Le système est maintenant prêt à être utilisé.
20.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.
20.2 Application ISPConfig Monitor pour Android
Avec l'application ISPConfig Monitor, vous pouvez vérifier l'état de votre serveur et savoir si tous les services fonctionnent comme prévu. Vous pouvez vérifier les ports TCP et UDP et envoyer un ping à vos serveurs. En plus de cela, vous pouvez utiliser cette application pour demander des détails aux serveurs sur lesquels ISPConfig est installé (veuillez noter que la version minimale installée d'ISPConfig 3 avec prise en charge de l'application ISPConfig Monitor est 3.0.3.3 ! ); ces détails incluent tout ce que vous savez du module Monitor dans le panneau de configuration ISPConfig (par exemple, les services, les journaux de messagerie et système, la file d'attente de messagerie, les informations sur le processeur et la mémoire, l'utilisation du disque, les quotas, les détails du système d'exploitation, le journal RKHunter, etc.), et bien sûr , comme ISPConfig est compatible avec plusieurs serveurs, vous pouvez vérifier tous les serveurs contrôlés à partir de votre serveur maître ISPConfig.
Pour obtenir des instructions de téléchargement et d'utilisation, veuillez visiter http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.
21 notes supplémentaires
21.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
for CAP in 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}:on --save
done
22 Links
- Debian :http://www.debian.org/
- ISPConfig:http://www.ispconfig.org/