Le serveur parfait - Ubuntu 14.10 avec Apache, PHP, MySQL, PureFTPD, BIND , Postfix, Dovecot et ISPConfig
Ce tutoriel montre comment installer un serveur Ubuntu 14.10 (Utopic Unicorn) (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 éléments suivants services 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 bien d'autres. Cette configuration couvre l'installation d'Apache (au lieu de nginx), BIND (au lieu de MyDNS) et Dovecot (au lieu de Courier).
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.
1. 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. Avant de continuer, vous devez avoir une installation minimale de base d'Ubuntu 14.10, comme expliqué dans le didacticiel.
2. Modifiez /etc/apt/sources.list et mettez à jour votre installation Linux
Modifiez /etc/apt/sources.list. Commentez ou supprimez le CD d'installation du fichier et assurez-vous que les référentiels univers et multivers sont activés. Cela devrait ressembler à ceci :
nano /etc/apt/sources.list
# # deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Release amd64 (20141022.2)]/ utopic main limited#deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Release amd64 (20141022.2)]/ utopic main limited# Voir http://help.ubuntu.com/community/UpgradeNotes pour savoir comment mettre à niveau vers les # nouvelles versions de distribution.deb http://de.archive.ubuntu.com/ubuntu/ utopic main restricteddeb-src http://de .archive.ubuntu.com/ubuntu/ utopic main limited## Mises à jour majeures de correctifs de bogues produites après la version finale de ## distribution.deb http://de.archive.ubuntu.com/ubuntu/ utopic-updates main limiteddeb- src http://de.archive.ubuntu.com/ubuntu/ utopic-updates main limited## N.B. le logiciel de ce dépôt est ENTIÈREMENT NON SUPPORTÉ par l'équipe Ubuntu##. Veuillez également noter que les logiciels de l'univers ne recevront AUCUNE ## révision ou mise à jour de l'équipe de sécurité d'Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ utopic universedeb-src http://de.archive. ubuntu.com/ubuntu/ utopic universdeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates universdeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates univers## N.B. les logiciels de ce référentiel sont ENTIÈREMENT NON SUPPORTÉS par l'équipe Ubuntu ## et peuvent ne pas être sous licence libre. Veuillez vous assurer de ## vos droits d'utilisation du logiciel. Veuillez également noter que les logiciels du ## multiverse NE RECEVRONT AUCUNE révision ou mise à jour de la part de l'équipe de sécurité d'Ubuntu##.deb http://de.archive.ubuntu.com/ubuntu/ utopic multiversedeb-src http://de. archive.ubuntu.com/ubuntu/ utopic multiversedeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiverse## N.B. Les logiciels de ce référentiel peuvent ne pas avoir été testés aussi ## intensivement que ceux contenus dans la version principale, bien qu'ils incluent ## des versions plus récentes de certaines applications qui peuvent fournir des fonctionnalités utiles. toute révision## ou mise à jour de l'équipe de sécurité d'Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ utopic-backports univers restreint principal multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-backports principal univers restreint multiversedeb http://security.ubuntu.com/ubuntu utopic-security principal restreintdeb-src http://security.ubuntu.com/ubuntu utopic-security principal restreintdeb http://security.ubuntu.com /ubuntu utopic-security universdeb-src http://security.ubuntu.com/ubuntu utopic-security universdeb http://security.ubuntu.com/ubuntu utopic-security multiversedeb-src http://security.ubuntu.com/ ubuntu utopic-security multiverse## Décommentez les deux lignes suivantes pour ajouter le logiciel du représentant ## 'partenaire' de Canonical ository.## Ce logiciel ne fait pas partie d'Ubuntu, mais est proposé par Canonical et les## fournisseurs respectifs en tant que service aux utilisateurs d'Ubuntu.# deb http://archive.canonical.com/ubuntu utopic partner# deb-src http ://archive.canonical.com/ubuntu utopic partner## Décommentez les deux lignes suivantes pour ajouter des logiciels à partir du référentiel ## 'extras' d'Ubuntu.## Ce logiciel ne fait pas partie d'Ubuntu, mais est proposé par un tiers## développeurs qui souhaitent livrer leur dernier logiciel.# deb http://extras.ubuntu.com/ubuntu utopic main# deb-src http://extras.ubuntu.com/ubuntu utopic main
Puis lancez
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 (s'il y en a). Si vous constatez qu'un nouveau noyau est installé dans le cadre des mises à jour, vous devez ensuite redémarrer le système :
redémarrer
3. 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.
4. Désactiver AppArmor
AppArmor est une extension de sécurité (similaire à SELinux) qui devrait fournir une sécurité étendue. À mon avis, vous n'en avez pas besoin pour configurer un système sécurisé, et cela cause généralement plus de problèmes que d'avantages (pensez-y après avoir effectué une semaine de dépannage car un service ne fonctionnait pas comme prévu, puis vous découvrez que tout allait bien, seul AppArmor était à l'origine du problème). Par conséquent, je le désactive (c'est indispensable si vous souhaitez installer ISPConfig plus tard).
Nous pouvons le désactiver comme ceci :
service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils
5. 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.
6. Installez Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils
Pour installer postfix, nous devons arrêter et supprimer sendmail
arrêt du service sendmail ; update-rc.d -f sendmail remove
Nous pouvons maintenant 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 sudo
Les questions suivantes vous seront posées :
Nouveau mot de passe pour l'utilisateur MySQL "root" :<-- yourrootsqlpassword
Répéter le mot de passe pour l'utilisateur MySQL "root" :<-- yourrootsqlpassword
Créer un certificat SSL auto-signé ? :<-- Oui
Nom d'hôte :<-- serveur1.exemple.com
Local uniquement :<-- OK
Configuration générale du type de messagerie :<-- Site Internet
Nom de messagerie système :<- - serveur1.exemple.com
Ouvrez ensuite les ports TLS/SSL et de soumission dans Postfix :
nano /etc/postfix/master.cf
Décommentez les sections de soumission et smtps comme suit - ajoutez la ligne -o smtpd_client_restrictions=permit_sasl_authenticated,reject aux deux sections et laissez tout commenté par la suite :
[...]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# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject# -o milter_macro_daemon_name=ORIGINATINGsmtps 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_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject# -o milter_macro_daemon_name=ORIGINATING[...]
Redémarrez ensuite Postfix :
redémarrage postfix du service
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 :
nano /etc/mysql/my.cnf
[...]# Au lieu d'ignorer 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é.# adresse-liaison =127.0.0.1[...]
Ensuite, nous redémarrons MySQL :
redémarrer service 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
tcp 0 0 *:mysql *:* ÉCOUTER 24603/mysqld
[email protected] :~#
7. Installez 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 :
service spamassassin stop
update-rc.d -f spamassassin remove
Pour exécuter clamav, utilisez
freshclam
service clamav-daemon start
Le serveur parfait - Ubuntu 14.10 avec Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot et ISPConfig - Page 2
8. Installez 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-doc apache2-utils 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-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-sqlite php5 -tidy php5-xmlrpc php5-xsl en mémoire cache
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) :
a2enmod suexec les actions de réécriture ssl incluent cgi
a2enmod dav_fs dav auth_digest
Ouvrez ensuite /etc/apache2/mods-available/suphp.conf...
nano /etc/apache2/mods-available/suphp.conf
... et commentez la section
# # Application SetHandler/x-httpd-suphp # suPHP_AddHandler application/x-httpd-suphpsuPHP_Engine sur # Par défaut, désactivez 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
Redémarrez ensuite Apache :
service 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 :
nano /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 :
service apache2 redémarrage
Xcache 8.1
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 :
service apache2 redémarrage
8.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
service apache2 restart
8.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 (Ubuntu 12.10) (fonctionne pour Ubuntu 14.10 également).
9. 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
Entrez l'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 diffusion, vous devez modifier votre /etc/aliases (ou
é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 -leave : "|/var/lib/mailman/mail/mailman laisser 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 mailma n"
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...
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-bounces :"|/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'abonne mailman"mailman-unsubscribe:"|/var/lib/mailman/mail/mailman désinscription facteur"
Exécuter
nouveaux alias
ensuite et relancez Postfix :
redémarrage postfix du service
Enfin, nous devons activer la configuration de Mailman Apache :
ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/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://
Sous http://
Redémarrez ensuite Apache :
service apache2 redémarrage
Démarrez ensuite le démon Mailman :
démarrage du service postier
10. 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...
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=vrai [...]
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] :<-- Saisissez le nom de votre pays (par exemple, "DE").
Nom de l'état ou de la province (nom complet) [Some-State] :<-- Entrez le nom de votre état ou de votre province.
Nom de la localité (par exemple, ville) [] :<-- Entrez votre ville.
Nom de l'organisation (par exemple, société) [Internet Widgits Pty Ltd] :<-- Entrez le nom de votre organisation (par exemple, le nom de votre société).
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) [] :<-- Entrez le nom de domaine complet du système (par exemple, "serveur1.exemple.com").
Adresse e-mail [] :<-- Entrez votre adresse e-mail.
Modifiez les autorisations du certificat SSL :
chmod 600 /etc/ssl/private/pure-ftpd.pem
Redémarrez ensuite PureFTPd :
redémarrage du service pure-ftpd-mysql
[email protected] :~# service pure-ftpd-mysql restart
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 -8 UTF-8 -u 1000 -E -O clf:/var/log/pure-ftpd/transfer.log -Y 1 -B
[email protected] :~#
Modifiez /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).##/dev/mapper/server1--vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot était sur /dev/sda1 lors de l'installationUUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 defaults 0 2/dev/mapper/server1--vg-swap_1 none swap sw 0 0
Pour activer le quota, exécutez ces commandes :
monter -o remonter /
quotacheck -avugm
quotaon -avug
11. Installer le serveur DNS BIND
BIND peut être installé comme suit :
apt-get install bind9 dnsutils
12. Installez 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...
nano /etc/cron.d/awstats
... et commentez tout ce qui se trouve dans ce fichier :
# MAILTO=racine# */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
13. 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*
14. Installez 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 :
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 =
Ajoutez la ligne ignoreregex manquante dans le fichier postfix-sasl :
echo "ignoreregex =">> /etc/fail2ban/filter.d/postfix-sasl.confRedémarrez ensuite fail2ban :
redémarrage du service fail2ban
Le serveur parfait - Ubuntu 14.10 avec Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot et ISPConfig - Page 3
15 Installer SquirrelMail
Pour installer le client de messagerie Web SquirrelMail, exécutez
apt-get install squirrelmailConfigurez ensuite SquirrelMail :
squirrelmail-configureNous devons dire à SquirrelMail que nous utilisons Dovecot-IMAP/-POP3 :
Configuration de SquirrelMail : 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 du dossier
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
Configuration de SquirrelMail : Lire : config.php
----------------------------------- ------------------------------
Pendant que nous construisons 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 passer et vous assurer
que tout est correct. Cela ne change pas tout. Il y a
seuls quelques paramètres que cela va modifier.
Veuillez sélectionner votre serveur IMAP :
bincimap = serveur Binc IMAP
courier = serveur Courier IMAP
cyrus = serveur Cyrus IMAP
dovecot = Dovecot Secure IMAP serveur
exchange = Microsoft Exchange IMAP serveur
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = Serveur de l'Université de Washington /> gmail = Accès IMAP aux comptes Google mail (Gmail)
quitter = Ne modifier rien
Command >> <-- dovecot
SquirrelMail Configuration : Lisez : config.php
-------------------------------------------------- -------------------
Pendant que nous construisons SquirrelMail, nous avons découvert certaines
préférences qui fonctionnent mieux avec certains serveurs qui ne fonctionnent pas alors
bien avec les 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 passer et vous assurer
que tout est correct. Cela ne change pas tout. Il y a
seuls quelques paramètres que cela va modifier.
Veuillez sélectionner votre serveur IMAP :
bincimap = serveur Binc IMAP
courier = serveur Courier IMAP
cyrus = serveur Cyrus IMAP
dovecot = Dovecot Secure IMAP serveur
exchange = Microsoft Exchange IMAP serveur
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = Serveur de l'Université de Washington /> gmail = Accès IMAP aux comptes Google mail (Gmail)
quitter = Ne modifier rien
Command >> dovecot
imap_server_type = dovecot
default_folder_prefix =
trash_folder =trash
send_folder =envoyé
draft_folder =drafts
show_prefix_option =faux
default_sub_of_inbox =false
show_contain_subfolders_option =false> optional_del imiter = détecter
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. Paramètres par défaut du dossier
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 >> <-- S
Configuration de SquirrelMail : 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 du dossier
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 >> <-- QNous 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-available/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
service apache2 rechargeOuvrez maintenant /etc/apache2/conf.d/squirrelmail.conf...
nano /etc/apache2/conf-available/squirrelmail.conf... et ajoutez les lignes suivantes au conteneur
qui s'assurent 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 Créez le répertoire /var/lib/squirrelmail/tmp...
mkdir /var/lib/squirrelmail/tmp... et faites en sorte qu'il appartienne à l'utilisateur www-data :
chown www-data /var/lib/squirrelmail/tmpEnsuite, nous devons activer le squirrelmail avec apache2.
a2enconf écureuilmail
Recharger Apache :
rechargement du service apache2C'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/squirrelmailVous 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/squirrelmailSi vous souhaitez utiliser l'alias /webmail au lieu de /squirrelmail, ouvrez simplement /etc/apache2/conf.d/squirrelmail.conf...
nano /etc/apache2/conf-available/squirrelmail.conf... et ajoutez la ligne Alias /webmail /usr/share/squirrelmail :
Alias /squirrelmail /usr/share/squirrelmailAlias /webmail /usr/share/squirrelmail [...]Puis rechargez Apache :
rechargement du service apache2Vous 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 :
nano /etc/apache2/conf.d/squirrelmail.conf[...]DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com 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 !).
Maintenant rechargez Apache...
rechargement du service apache2... et vous pouvez accéder à SquirrelMail sous http://webmail.example.com
16. 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.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.
[email protected]:/tmp/ispconfig3_install/install# php -q install.php
------------------- -------------------------------------------------- -----------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
-------------------------------------------------- ------------------------------------------
>> Configuration initiale
Système d'exploitation :14.10 INCONNU
Ci-dessous seront quelques questions pour la configuration principale , alors soyez prudent.
Les valeurs par défaut sont dans [crochets] et peut être accepté avec.
Appuyez sur "quitter" (sans les guillemets) pour arrêter le programme d'installation.
Sélectionnez la langue (en,de) [fr] : <-- ENTER
Mode d'installation (standard,expert) [standard] : <-- ENTER
Nom d'hôte complet (FQDN) du serveur, par ex. serveur1.domaine.tld [serveur1.exemple.com] : <-- ENTRER
nom d'hôte du serveur MySQL [localhost] : <-- ENTRER
nom d'utilisateur racine MySQL [racine] : <-- ENTRER
Mot de passe root MySQL [] : <-- votreracine sqlpassword
Base de données MySQL à créer [dbispconfig] : <-- ENTER
MySQL charset [utf8] : <-- ENTER
Génération d'un 4096 clé privée bit RSA
......................................... ..................................++
.......... ...........++
l'écriture de la nouvelle clé privée sur 'smtpd.key'
-----
Vous allez être invité à saisir des informations qui sera incorporé
à votre demande de certificat.
Ce que vous êtes sur le point d'entrer est ce qu'on appelle un Nom distingué ou un DN.
Il existe un assez peu de champs mais vous pouvez en laisser certains vides.
Pour certains champs il existera une valeur par défaut.
Si vous saisissez '. », le champ sera laissé en 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, société) [Internet Widgits Pty Ltd] : <-- ENTER
Nom de l'unité organisationnelle (par exemple, section) [] : <-- ENTREZ
Nom commun (par exemple le FQDN du serveur ou VOTRE nom) [] : <-- ENTREZ
Adresse e-mail [] : <-- ENTREZ
Configuration de Jailkit
Configurer Dovecot
Configurer Spamassassin
Configurer Amavisd
Configurer Getmail
Configurer Pureftpd
Configurer BIND
Configurer Apache
Configurer Vlogger
Configuration Apps vhost
Configuration Bastille Firewall
Configuration Fail2ban
Installation ISPConfig
ISPConfig Port [8080] : <-- ENTER
Voulez-vous un sécurisé (SSL) connexion à l'interface web ISPConfig (y,n) [y] : <-- ENTER
Génération de la clé privée RSA , 4096 bit long modulus
....... ...++
......++ e est 65537 (0x10001)
Vous allez être invité à saisir des informations qui seront incorporées
à votre demande de certificat.
Ce que vous êtes sur le point d'entrer est ce qu'on appelle un Nom distingué ou un DN.
Il existe un assez peu de champs mais vous pouvez en laisser certains vides.
Pour certains champs il existera une valeur par défaut.
Si vous saisissez '. », le champ sera laissé en 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, société) [Internet Widgits Pty Ltd] : <-- ENTER
Nom de l'unité organisationnelle (par exemple, section) [] : <-- ENTREZ
Nom commun (par exemple, FQDN du serveur ou VOTRE nom) [] : <-- ENTREZ
Adresse e-mail [] : <-- ENTREZ
Veuillez saisir les attributs "supplémentaires" suivants
à envoyer avec votre demande de certificat
Un mot de passe de défi [] : <-- ENTRER
Un nom de société facultatif [] : <-- ENTRER
écrire la clé RSA
Configurer DBServer
Installer ISPConfig crontab
pas crontab pour root
pas crontab pour getmail
Redémarrer les services ...
Plutôt que en invoquant des scripts d'initialisation via /etc/init.d, utilisez l'utilitaire service(8)
, par ex. service mysql restart
Puisque le script que vous essayez d'invoquer a été converti en une
tâche Upstart, vous pouvez également utiliser les utilitaires stop(8) puis start(8),
ex. arrêter mysql ; démarrez mysql. L'utilitaire restart(8) est également disponible.
mysql stop/waiting
mysql start/running, process 2817
* Arrêt Postfix Mail Transport Agent postfix
/usr/sbin/postconf : warning : /etc/postfix/main. cf : paramètre indéfini : virtual_mailbox_limit_maps
...fait.
* Démarrage de l'agent de transport de courrier Postfix postfix
postconf : warning : /etc/postfix/main.cf : paramètre undefined : virtual_mailbox_limit_maps
postconf : warning : /etc/postfix/main.cf : undefined paramètre : virtual_mailbox_limit_maps
postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement :/etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf :avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/main.cf : und paramètre défini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/main. cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/ main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/ postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : / etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr /sbin/postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf : avertissement : /etc/postfix/main.cf : paramètre indéfini : virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
...done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
* Stopping ClamAV daemon clamd
...done.
* Starting ClamAV daemon clamd
...done.
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service dovecot restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. arrêter le pigeonnier ; commencer le pigeonnier. The restart(8) utility is also available.
dovecot stop/waiting
dovecot start/running, process 3962
* Restarting web server apache2
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
... waiting ...done.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
Installation completed.
[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é.
16.1 ISPConfig 3 Manual
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.
17. Additional Notes
17.1 OpenVZ
Si le serveur Ubuntu 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
18. Liens
- Ubuntu :http://www.ubuntu.com/
- ISPConfig :http://www.ispconfig.org/