GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Le serveur parfait - Ubuntu 12.10 (nginx, BIND, Dovecot, ISPConfig 3)

Je n'ai pas besoin d'un répertoire privé chiffré, donc je choisis Non ici :

Veuillez vérifier si le programme d'installation a correctement détecté votre fuseau horaire. Si oui, sélectionnez Oui, sinon Non :

Vous devez maintenant partitionner votre disque dur. Par souci de simplicité, je sélectionne Guidé - utiliser le disque entier et configurer LVM - cela créera un groupe de volumes avec deux volumes logiques, un pour le système de fichiers / et un autre pour le swap (bien sûr, le partitionnement dépend entièrement de vous - si vous savez ce que vous faites, vous pouvez également configurer vos partitions manuellement).

Sélectionnez le disque que vous souhaitez partitionner :

Lorsque vous êtes invité à écrire les modifications sur les disques et à configurer LVM ?, sélectionnez Oui :

Si vous avez sélectionné Guidé - utiliser le disque entier et configurer LVM, le partitionneur créera un grand groupe de volumes qui utilise tout l'espace disque. Vous pouvez maintenant spécifier la quantité d'espace disque qui doit être utilisée par les volumes logiques pour / et swap. Il est logique de laisser de l'espace inutilisé afin de pouvoir étendre ultérieurement vos volumes logiques existants ou en créer de nouveaux - cela vous donne plus de flexibilité.

Lorsque vous avez terminé, cliquez sur Oui lorsque vous êtes invité à écrire les modifications sur les disques ? :

Ensuite, vos nouvelles partitions sont créées et formatées.

Le système de base est maintenant en cours d'installation :

Ensuite, le gestionnaire de packages apt est configuré. Laissez la ligne proxy HTTP vide, sauf si vous utilisez un serveur proxy pour vous connecter à Internet :

Je suis un peu démodé et j'aime mettre à jour mes serveurs manuellement pour avoir plus de contrôle, donc je sélectionne Pas de mises à jour automatiques. Bien sûr, c'est à vous de choisir ici :

Nous avons besoin d'un serveur DNS, mail et LAMP, mais néanmoins je n'en sélectionne aucun pour le moment car j'aime avoir un contrôle total sur ce qui est installé sur mon système. Nous installerons les packages nécessaires manuellement plus tard. Le seul élément que je sélectionne ici est le serveur OpenSSH afin que je puisse me connecter immédiatement au système avec un client SSH tel que PuTTY une fois l'installation terminée :

L'installation continue :

Le chargeur de démarrage GRUB est installé :

Sélectionnez Oui lorsque vous êtes invité à installer le chargeur de démarrage GRUB sur le secteur de démarrage principal ? :

L'installation du système de base est maintenant terminée. Retirez le CD d'installation du lecteur de CD et appuyez sur Continuer pour redémarrer le système :

Passons à l'étape suivante...

4 Obtenir les privilèges root

Après le redémarrage, vous pouvez vous connecter avec votre nom d'utilisateur créé précédemment (par exemple, administrateur). Étant donné que nous devons exécuter toutes les étapes de ce didacticiel avec les privilèges root, nous pouvons soit ajouter la chaîne sudo à toutes les commandes de ce didacticiel, soit nous devenons root dès maintenant en tapant

sudo su

(Vous pouvez également activer la connexion root en exécutant

sudo passwd racine

et donner un mot de passe à root. Vous pouvez ensuite vous connecter directement en tant que root, mais cela est mal vu par les développeurs et la communauté Ubuntu pour diverses raisons. Voir http://ubuntuforums.org/showthread.php?t=765414.)

5 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 Ubuntu 12.10 et suivre les étapes restantes de ce didacticiel.

6 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 Ubuntu et Debian; 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.)

7 Configurer le réseau

Parce que le programme d'installation d'Ubuntu 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. Modifier /etc/network/interfaces et ajustez-le à vos besoins (dans cet exemple de configuration, j'utiliserai l'adresse IP 192.168.0.100 et les serveurs DNS 8.8.8.8 et 8.8.4.4 - à partir d'Ubuntu 12.04, vous ne pouvez plus modifier directement /etc/resolv.conf, mais devez spécifier vos serveurs de noms dans votre configuration réseau - voir

man resolvconf

pour plus de détails):

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) serveurs de noms 8.8.8.8 8.8.4.4

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 ip6 -localhost ip6-loopbackfe00 ::0 ip6-localnetff00 ::0 ip6-mcastprefixff02 ::1 ip6-allnodesff02 ::2 ip6-allrouters

Maintenant lancez

echo server1.example.com> /etc/hostname
/etc/init.d/hostname restart

Ensuite, lancez

nomhôte
nomhôte -f

Les deux devraient maintenant afficher server1.example.com.

Si vous souhaitez utiliser des adresses IPv6 avec vos vhosts nginx, veuillez procéder comme suit avant de créer des vhosts IPv6 dans ISPConfig :

Ouvrez /etc/sysctl.conf...

vi /etc/sysctl.conf

... et ajoutez la ligne net.ipv6.bindv6only =1 :

[...]net.ipv6.bindv6only =1

Exécuter...

sysctl -p

... ensuite pour que le changement prenne effet.

8 Modifier /etc/apt/sources.list et mettre à 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 :

vi /etc/apt/sources.list
## deb cdrom :[Ubuntu-Server 12.10 _Quantal Quetzal_ - Release amd64 (20121017.2)]/ quantal main limited#deb cdrom :[Ubuntu-Server 12.10 _Quantal Quetzal_ - Release amd64 (20121017.2)]/ quantal 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/ quantal main restricteddeb-src http://de.archive.ubuntu.com/ubuntu/ quantal main restricted## Mises à jour de corrections de bogues majeures produites après la version finale de ## distribution.deb http:// de.archive.ubuntu.com/ubuntu/ quantal-updates main restreintdeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-updates main restreint## 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/ quantal universedeb-src http://de.archive. ubuntu.com/ubuntu/ quantal universedeb http://de.archive.ubuntu.com/ubuntu/ quantal-updates universedeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-updates universe## 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 dans ## multiverse NE RECEVRONT AUCUNE révision ou mise à jour de la part de l'équipe de sécurité Ubuntu##.deb http://de.archive.ubuntu.com/ubuntu/ quantal multiversedeb-src http://de. archive.ubuntu.com/ubuntu/ quantal multiversedeb http://de.archive.ubuntu.com/ubuntu/ quantal-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-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.## Veuillez également noter que les logiciels dans les rétroportages NE recevront PAS toute révision## ou mise à jour de l'équipe de sécurité d'Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ quantal-backports univers restreint principal multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-backports principal univers restreint multiversedeb http://security.ubuntu.com/ubuntu quantal-security principal restreintdeb-src http://security.ubuntu.com/ubuntu quantal-security principal restreintdeb http://security.ubuntu.com /ubuntu quantal-security universdeb-src http://security.ubuntu.com/ubuntu quantal-security universdeb http://security.ubuntu.com/ubuntu quantal-security multiversedeb-src http://security.ubuntu.com/ ubuntu quantal-security multiverse## Décommentez les deux lignes suivantes pour ajouter un logiciel de la partie ## 'de Canonical ner' repository.## 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 quantal partner# deb- src http://archive.canonical.com/ubuntu quantal partner## Décommentez les deux lignes suivantes pour ajouter un logiciel à 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 quantal main# deb-src http://extras.ubuntu.com/ubuntu quantal 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

9 Modifier 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.

10 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 :

/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

11 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.

12 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 :

Nouveau mot de passe pour l'utilisateur "root" MySQL :<-- yourrootsqlpassword
Répétez le mot de passe pour l'utilisateur MySQL "root" :<-- yourrootsqlpassword
Type général de configuration de messagerie :<-- Site Internet
Nom de messagerie système :<-- serveur1.exemple.com

Ouvrez ensuite les ports TLS/SSL et de soumission dans Postfix :

vi /etc/postfix/master.cf

Décommentez les sections de soumission et smtps (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_wrappermode =yes -o smtpd_sasl_auth_enable =yes -o smtpd_client_restrictions =permit_sasl_authenticated, rejeter # -o milter_macro_daemon_name =ORIGINAIRE [ ...]

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 le réseau, la valeur par défaut est maintenant 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      21298/mysqld
[email protected] :~#

13 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

14 Installer Nginx, PHP5 (PHP-FPM) et Fcgiwrap

Nginx est disponible sous forme de package pour Ubuntu que nous pouvons installer comme suit :

apt-get install nginx

Si Apache2 est déjà installé sur le système, arrêtez-le maintenant...

/etc/init.d/apache2 stop

... et supprimer les liens de démarrage du système d'Apache :

update-rc.d -f apache2 supprimer

Démarrez ensuite nginx :

/etc/init.d/nginx start

(Si Apache2 et nginx sont installés, le programme d'installation d'ISPConfig 3 vous demandera lequel vous souhaitez utiliser - répondez nginx dans ce cas. Si un seul de ces deux éléments est installé, ISPConfig effectuera automatiquement la configuration nécessaire.)

Nous pouvons faire fonctionner PHP5 dans nginx via PHP-FPM (PHP-FPM (FastCGI Process Manager) est une implémentation alternative de PHP FastCGI avec quelques fonctionnalités supplémentaires utiles pour les sites de toute taille, en particulier les sites les plus fréquentés) que nous installons comme suit :

apt-get install php5-fpm

PHP-FPM est un processus démon (avec le script d'initialisation /etc/init.d/php5-fpm) qui exécute un serveur FastCGI sur le socket /var/run/php5-fpm.sock.

Pour obtenir le support MySQL en PHP, nous pouvons installer le package php5-mysql. C'est une bonne idée d'installer d'autres modules PHP5, car vous pourriez en avoir besoin pour vos applications. Vous pouvez rechercher les modules PHP5 disponibles comme ceci :

apt-cache recherche php5

Choisissez ceux dont vous avez besoin et installez-les comme ceci :

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5 -sqlite php5-tidy php5-xmlrpc php5-xsl

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

Rechargez maintenant PHP-FPM :

/etc/init.d/php5-fpm recharger

Pour obtenir le support CGI dans nginx, nous installons Fcgiwrap.

Fcgiwrap est un wrapper CGI qui devrait également fonctionner pour les scripts CGI complexes et peut être utilisé pour les environnements d'hébergement partagé car il permet à chaque vhost d'utiliser son propre répertoire cgi-bin.

Installez le package fcgiwrap :

apt-get install fcgiwrap

Après l'installation, le démon fcgiwrap devrait déjà être lancé; son socket est /var/run/fcgiwrap.socket. S'il ne fonctionne pas, vous pouvez utiliser le script /etc/init.d/fcgiwrap pour le démarrer.

C'est ça! Désormais, lorsque vous créez un vhost nginx, ISPConfig s'occupe de la configuration correcte du vhost.

14.1 Versions PHP supplémentaires

À partir du prochain ISPConfig 3.0.5, il sera 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. La version PHP fournie avec Ubuntu 12.10 est 5.4.6, je vais donc montrer maintenant comment construire PHP 5.3.18 afin qu'il puisse être utilisé sur le même serveur pendant que le PHP par défaut d'Ubuntu est installé. Je vais installer PHP 5.3.18 dans le répertoire /opt/php-5.3.18.

Téléchargez et extrayez PHP 5.3.18 :

mkdir /opt/php-5.3.18
mkdir /usr/local/src/php5-build
cd /usr/local/src/php5-build
wget http:/ /de.php.net/get/php-5.3.18.tar.bz2/from/this/mirror -O php-5.3.18.tar.bz2
tar jxf php-5.3.18.tar.bz2
cd php-5.3.18/

Installez les prérequis pour compiler PHP5 :

apt-get build-dep php5
apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev

Configurez un build PHP 5.3.18 comme suit (vous pouvez ajuster la commande ./configure à vos besoins, jetez un œil à

./configure --help

pour voir toutes les options disponibles ; si vous utilisez une commande ./configure différente, il est possible que des bibliothèques supplémentaires soient requises ou que le processus de construction échoue) :

./configure \
--prefix=/opt/php-5.3.18 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-fpm \
--enable-mbstring \
--with-libxml-dir=/usr \
- -enable-soap \
--enable-calendar \
--with-curl --with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with- zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable- mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
-- with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--with-fpm-user=www-data \
--with-fpm-group=www- données \
--with-libdir=/lib/x86_64-linux-gnu
faire
faire installer

Copiez php.ini et php-fpm.conf aux bons emplacements :

cp /usr/local/src/php5-build/php-5.3.18/php.ini-production /opt/php-5.3.18/lib/php.ini
cp /opt/php-5.3.18/etc/php-fpm.conf.default /opt/php-5.3.18/etc/php-fpm.conf

Ouvrez /opt/php-5.3.18/etc/php-fpm.conf et ajustez les paramètres suivants - dans la ligne d'écoute, vous devez utiliser un port inutilisé (par exemple, 8999 ; le port 9000 peut déjà être utilisé par le PHP-FPM par défaut d'Ubuntu ), et vous devez ajouter la ligne include=/opt/php-5.3.18/etc/pool.d/*.conf à la fin :

vi /opt/php-5.3.18/etc/php-fpm.conf
[...]pid =run/php-fpm.pid[...]user =www-datagroup =www-data[.. .]écoutez =127.0.0.1:8999[...]include=/opt/php-5.3.18/etc/pool.d/*.conf

Créez le répertoire du pool pour PHP-FPM :

mkdir /opt/php-5.3.18/etc/pool.d

Créez ensuite un script d'initialisation pour PHP-FPM :

vi /etc/init.d/php-5.3.18-fpm
# ! /bin/sh### BEGIN INIT INFO# Fournit :php-5.3.18-fpm# Requis-Start :$all# Requis-Stop :$all# Default-Start :2 3 4 5# Default-Stop :0 1 6# Short-Description :démarre php-5.3.18-fpm# Description :démarre le démon PHP FastCGI Process Manager### END INIT INFOphp_fpm_BIN=/opt/php-5.3.18/sbin/php-fpmphp_fpm_CONF=/opt/php -5.3.18/etc/php-fpm.confphp_fpm_PID=/opt/php-5.3.18/var/run/php-fpm.pidphp_opts="--fpm-config $php_fpm_CONF"wait_for_pid () { essai=0 pendant le test $essayer -lt 35; faire cas "$1" dans 'créé') if [ -f "$2" ]; then try='' break fi;; 'supprimé') si [ ! -f "$2" ] ; then try='' break fi;; esac echo -n . try=`expr $try + 1` sleep 1 done}case "$1" in start) echo -n "Starting php-fpm " $php_fpm_BIN $php_opts if [ "$?" !=0 ]; then echo " failed" exit 1 fi wait_for_pid créé $php_fpm_PID if [ -n "$try" ]; then echo " failed" exit 1 else echo " done" fi;; stop) echo -n "Arrêter gracieusement php-fpm " if [ ! -r $php_fpm_PID ]; puis echo "attention, aucun fichier pid trouvé - php-fpm n'est pas en cours d'exécution ?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid supprimé $php_fpm_PID if [ -n "$try" ]; then echo " failed. Use force-exit" exit 1 else echo " done" echo " done" fi;; force-quit) echo -n "Terminer php-fpm " if [ ! -r $php_fpm_PID ]; puis echo "attention, aucun fichier pid trouvé - php-fpm n'est pas en cours d'exécution ?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid supprimé $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi;; redémarrage) $0 stop $0 start;; recharger) echo -n "Recharger le service php-fpm " if [ ! -r $php_fpm_PID ]; puis echo "attention, aucun fichier pid trouvé - php-fpm n'est pas en cours d'exécution ?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done";; *) echo "Utilisation :$0 {start|stop|force-quit|restart|reload}" exit 1 ;;esac

Rendez le script d'initialisation exécutable et créez les liens de démarrage du système :

chmod 755 /etc/init.d/php-5.3.18-fpm
insserv php-5.3.18-fpm

Démarrez enfin PHP-FPM :

/etc/init.d/php-5.3.18-fpm start

Dans ISPConfig 3.0.5, vous pouvez configurer la nouvelle version PHP sous Système> Versions PHP supplémentaires. Dans l'onglet Nom, il vous suffit de saisir un nom pour la version de PHP (par exemple, PHP 5.3.18) - cette version de PHP sera répertoriée sous ce nom dans les paramètres du site Web dans ISPConfig :

Si vous souhaitez utiliser cette version PHP avec FastCGI, allez dans l'onglet Paramètres FastCGI (l'onglet Paramètres PHP-FPM peut être laissé vide) et remplissez les champs comme suit :

Si vous souhaitez utiliser cette version de PHP avec PHP-FPM, allez dans l'onglet PHP-FPM Settings (l'onglet FastCGI Settings peut être laissé vide) et remplissez les champs comme suit :

14.2 Installer phpMyAdmin

Installez phpMyAdmin comme suit :

apt-get install phpmyadmin

Vous verrez les questions suivantes :

Serveur Web à reconfigurer automatiquement :<-- sélectionnez aucun (car seuls apache2 et lighttpd sont disponibles en option)
Configurer la base de données pour phpmyadmin avec dbconfig-common ? <-- Non

Vous pouvez maintenant trouver phpMyAdmin dans le répertoire /usr/share/phpmyadmin/.

Après avoir installé ISPConfig 3, vous pouvez accéder à phpMyAdmin comme suit :

Le vhost des applications ISPConfig sur le port 8081 pour nginx est livré avec une configuration phpMyAdmin, vous pouvez donc utiliser http://server1.example.com:8081/phpmyadmin ou http://server1.example.com:8081/phpMyAdmin pour accéder à phpMyAdmin.

Si vous souhaitez utiliser un alias /phpmyadmin ou /phpMyAdmin que vous pouvez utiliser depuis vos sites Web, c'est un peu plus compliqué que pour Apache car nginx n'a pas d'alias globaux (c'est-à-dire des alias qui peuvent être définis pour tous les vhosts). Vous devez donc définir ces alias pour chacun vhost à partir duquel vous souhaitez accéder à phpMyAdmin.

Pour ce faire, collez ce qui suit dans le champ Directives nginx de l'onglet Options du site Web dans ISPConfig :

 emplacement /phpmyadmin { root /usr/share/; index index.php index.html index.htm; emplacement ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; racine /usr/partage/ ; fastcgi_pass unix:/var/run/php5-fpm.sock ; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name ; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } emplacement ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } emplacement /phpMyAdmin { réécrire ^/* /phpmyadmin dernier ; } 

Si vous utilisez https au lieu de http pour votre vhost, vous devez ajouter la ligne fastcgi_param HTTPS on; à votre configuration phpMyAdmin comme ceci :

 emplacement /phpmyadmin { root /usr/share/; index index.php index.html index.htm; emplacement ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; racine /usr/partage/ ; fastcgi_pass unix:/var/run/php5-fpm.sock ; fastcgi_param HTTPS activé ; # <-- ajoutez cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name ; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } emplacement ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } emplacement /phpMyAdmin { réécrire ^/* /phpmyadmin dernier ; } 

Si vous utilisez à la fois http et https pour votre vhost, vous devez ajouter la section suivante à la section http {} dans /etc/nginx/nginx.conf (avant toute ligne d'inclusion) qui détermine si le visiteur utilise http ou https et définit la variable $fastcgi_https (que nous utiliserons dans notre configuration phpMyAdmin) en conséquence :

vi /etc/nginx/nginx.conf
[...]http {[...] ## Détecter quand HTTPS est utilisé map $scheme $fastcgi_https { default off; https activé ; }[...]}[...]

N'oubliez pas de recharger nginx après :

/etc/init.d/nginx recharge

Ensuite, allez à nouveau dans le champ Directives nginx, et au lieu de fastcgi_param HTTPS on ; vous ajoutez la ligne fastcgi_param HTTPS $fastcgi_https ; afin que vous puissiez utiliser phpMyAdmin pour les requêtes http et https :

 emplacement /phpmyadmin { root /usr/share/; index index.php index.html index.htm; emplacement ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; racine /usr/partage/ ; fastcgi_pass unix:/var/run/php5-fpm.sock ; fastcgi_param HTTPS $fastcgi_https ; # <-- ajoutez cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name ; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } emplacement ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } emplacement /phpMyAdmin { réécrire ^/* /phpmyadmin dernier ; } 

15 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 du mailman  : <-- mot de passe admin pour la liste de mailman 
Pour finir la création de votre liste de diffusion, vous devez 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-un s'abonner :  "|/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 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 unsubscribe mailman"

Exécuter

nouveaux alias

ensuite et relancez Postfix :

/etc/init.d/postfix restart

Démarrez ensuite le démon Mailman :

/etc/init.d/mailman start

Après avoir installé ISPConfig 3, vous pouvez accéder à Mailman comme suit :

Le vhost des applications ISPConfig sur le port 8081 pour nginx est livré avec une configuration Mailman, vous pouvez donc utiliser http://server1.example.com:8081/cgi-bin/mailman/admin/ ou http://server1.example .com:8081/cgi-bin/mailman/listinfo/ pour accéder à Mailman.

Si vous souhaitez utiliser Mailman à partir de vos sites Web, c'est un peu plus compliqué que pour Apache car nginx n'a pas d'alias globaux (c'est-à-dire des alias qui peuvent être définis pour tous les vhosts). Vous devez donc définir ces alias pour chacun vhost à partir duquel vous souhaitez accéder à Mailman.

Pour ce faire, collez ce qui suit dans le champ Directives nginx de l'onglet Options du site Web dans ISPConfig :

 emplacement /cgi-bin/mailman { root /usr/lib/; fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$ ; inclure /etc/nginx/fastcgi_params ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; fastcgi_param PATH_INFO $fastcgi_path_info ; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info ; fastcgi_intercept_errors activé ; fastcgi_pass unix:/var/run/fcgiwrap.socket; } emplacement /images/mailman { alias /usr/share/images/mailman; } emplacement /pipermail { alias /var/lib/mailman/archives/public ; indexation automatique activée ; } 

Cela définit l'alias /cgi-bin/mailman/ pour votre vhost, ce qui signifie que vous pouvez accéder à l'interface d'administration Mailman pour une liste à http:///cgi-bin/mailman/admin/, et le La page Web pour les utilisateurs d'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.

16 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] :<-- Saisissez le nom de votre pays (par exemple, "DE").
Nom de l'État ou de la province (nom complet) [Some-State] :<-- Saisissez votre état ou Nom de la 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 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.pem

Redémarrez ensuite PureFTPd :

/etc/init.d/pure-ftpd-mysql restart

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 /):

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).##     
 proc /proc proc nodev,noexec,nosuid 0 0/dev/mapper/server1-root / erreurs ext4 =remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot était sur /dev/sda1 lors de l'installationUUID=4b58d345-1c55-4ac5-940e-7245938656a6 /boot ext2 par défaut 0 2/ dev/mapper/server1-swap_1 aucun swap sw 0 0/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Pour activer le quota, exécutez ces commandes :

monter -o remonter /
quotacheck -avugm
quotaon -avug

17 Installer le serveur DNS BIND

BIND peut être installé comme suit :

apt-get install bind9 dnsutils

18 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

19 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.15.tar.gz
tar xvfz jailkit-2.15.tar.gz
cd jailkit- 2.15
./debian/rules binaire

Vous pouvez maintenant installer le package Jailkit .deb comme suit :

cd ..
dpkg -i jailkit_2.15-1_*.deb
rm -rf jailkit-2.15*

20 Installer fail2ban

This is optional but recommended, because the ISPConfig monitor tries to show the log:

apt-get install fail2ban

To make fail2ban monitor PureFTPd and Dovecot, create the file /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

Then create the following two filter files:

vi /etc/fail2ban/filter.d/pureftpd.conf
[Definition]failregex =.*pure-ftpd:\(.*@\) \[WARNING\] Authentication failed for user.*ignoreregex =
vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Definition]failregex =(?:pop3-login|imap-login):.*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P\S*),.*ignoreregex =

Restart fail2ban afterwards:

/etc/init.d/fail2ban restart

21 Install SquirrelMail

To install the SquirrelMail webmail client, run

apt-get install squirrelmail

Then configure SquirrelMail:

squirrelmail-configure

We must tell SquirrelMail that we are using Dovecot-IMAP/-POP3:

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- D


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others.  If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct.  This does not change everything.  There are
only a few settings that this will change.

Please select your IMAP server:
    bincimap    = Binc IMAP server
    courier     = Courier IMAP server
    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          = University of Washington's IMAP server
    gmail       = IMAP access to Google mail (Gmail) accounts

    quit        = Do not change anything
Command >> <-- dovecot


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others.  If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct.  This does not change everything.  There are
only a few settings that this will change.

Please select your IMAP server:
    bincimap    = Binc IMAP server
    courier     = Courier IMAP server
    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          = University of Washington's IMAP server
    gmail       = IMAP access to Google mail (Gmail) accounts

    quit        = Do not change anything
Command >> dovecot

              imap_server_type = dovecot
         default_folder_prefix = 
                  trash_folder = Trash
                   sent_folder = Sent
                  draft_folder = Drafts
            show_prefix_option = false
          default_sub_of_inbox = false
show_contain_subfolders_option = false
            optional_delimiter = detect
                 delete_folder = false

Press enter to continue... <-- ENTER


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- S


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- Q

You can now find SquirrelMail in the /usr/share/squirrelmail/ directory.

After you have installed ISPConfig 3, you can access SquirrelMail as follows:

The ISPConfig apps vhost on port 8081 for nginx comes with a SquirrelMail configuration, so you can use http://server1.example.com:8081/squirrelmail or http://server1.example.com:8081/webmail to access SquirrelMail.

If you want to use a /webmail or /squirrelmail alias that you can use from your web sites, this is a bit more complicated than for Apache because nginx does not have global aliases (i.e., aliases that can be defined for all vhosts). Therefore you have to define these aliases for each vhost from which you want to access SquirrelMail.

To do this, paste the following into the nginx Directives field on the Options tab of the web site in ISPConfig:

 location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock ; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } 

If you use https instead of http for your vhost, you should add the line fastcgi_param HTTPS on; to your SquirrelMail configuration like this:

 location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock ; fastcgi_param HTTPS on; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } 

If you use both http and https for your vhost, you need to add the following section to the http {} section in /etc/nginx/nginx.conf (before any include lines) which determines if the visitor uses http or https and sets the $fastcgi_https variable (which we will use in our SquirrelMail configuration) accordingly:

vi /etc/nginx/nginx.conf
[...]http {[...] ## Detect when HTTPS is used map $scheme $fastcgi_https { default off; https on; }[...]}[...]

Don't forget to reload nginx afterwards:

/etc/init.d/nginx recharge

Then go to the nginx Directives field again, and instead of fastcgi_param HTTPS on; you add the line fastcgi_param HTTPS $fastcgi_https; so that you can use SquirrelMail for both http and https requests:

 location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock ; fastcgi_param HTTPS $fastcgi_https; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } 

22 Install ISPConfig 3

Before you start the ISPConfig installation, make sure that Apache is stopped (if it is installed - it is possible that some of your installed packages have installed Apache as a dependency without you knowing). If Apache2 is already installed on the system, stop it now...

/etc/init.d/apache2 stop

... and remove Apache's system startup links:

update-rc.d -f apache2 remove

Make sure that nginx is running:

/etc/init.d/nginx restart

(If you have both Apache and nginx installed, the installer asks you which one you want to use:Apache and nginx detected. Select server to use for ISPConfig:(apache,nginx) [apache]:

Type nginx. If only Apache or nginx are installed, this is automatically detected by the installer, and no question is asked.)

To install ISPConfig 3 from the latest released version, do this:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

The next step is to run

php -q install.php

This will start the ISPConfig 3 installer. The installer will configure all services like Postfix, SASL, Courier, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not necessary.

[email protected]:/tmp/ispconfig3_install/install# php -q install.php
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0


--------------------------------------------------------------------------------
 _____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | | `--. \  __/  | | / _ \| '_ \| _| |/ _` | |_ |
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian or compatible, unknown version.

    Following will be a few questions for primary configuration so be careful.
    Default values are in [brackets] and can be accepted with .
    Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]: <-- ENTER

Installation mode (standard,expert) [standard]: <-- ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.example.com]: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <-- yourrootsqlpassword

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Apache and nginx detected. Select server to use for ISPConfig: (apache,nginx) [apache]: <-- nginx

Generating a 2048 bit RSA private key
.............+++
...........................+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTE R
Configuring Jailkit
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring nginx
Configuring Vlogger
Configuring Apps vhost
Configuring Bastille Firewall
Configuring Fail2ban
Installing ISPConfig
ISPConfig Port [8080]: <-- ENTER

Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- ENTER

Generating RSA private key, 4096 bit long modulus
.................................................................
.................................................................
.................................................................
.......................................................++
.................................................................
.................................................................
.................++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTER

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- ENTER
An optional company name []: <-- ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services ...
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql 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. stop mysql ; start mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 2524
 * Stopping Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
   ...done.
 * Starting Postfix Mail Transport Agent postfix
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfi x/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
   ...done.
Stopping amavisd: (not running).
The amavisd daemon is already running, PID: [1108]
Starting amavisd: (failed).
 * 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. stop dovecot ; start dovecot. The restart(8) utility is also available.
dovecot stop/waiting
dovecot start/running, process 3641
 * Restarting Mailman master qrunner mailmanctl
 * Waiting...
   ...done.
   ...done.
 * Reloading PHP5 FastCGI Process Manager php5-fpm
   ...done.
Reloading nginx configuration: nginx.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -E -H -Y 1 -O clf:/var/log/pure-ftpd/transfer.log -8 UTF-8 -b -D -A -u 1000 -B
Installation completed.
You have new mail in /var/mail/root
[email protected]:/tmp/ispconfig3_install/install#

The installer automatically configures all underlying services, so no manual configuration is needed.

You now also have the possibility to let the installer create an SSL vhost for the ISPConfig control panel, so that ISPConfig can be accessed using https:// instead of http://. To achieve this, just press ENTER when you see this question:Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:.

Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.0.100:8080/ ( http or https depends on what you chose during installation). Log in with the username admin and the password admin (you should change the default password after your first login):

The system is now ready to be used.

22.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.

22.2 ISPConfig Monitor App For 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/.

23 Additional Notes

23.1 OpenVZ

If the Ubuntu server that you've just set up in this tutorial is an OpenVZ container (virtual machine), you should do this on the host system (I'm assuming that the ID of the OpenVZ container is 101 - replace it with the correct VPSID on your system):

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

  • Ubuntu :http://www.ubuntu.com/
  • ISPConfig :http://www.ispconfig.org/

About The Author

Falko Timme is the owner of Timme Hosting (ultra-fast nginx web hosting). Il est le mainteneur principal de HowtoForge (depuis 2005) et l'un des principaux développeurs d'ISPConfig (depuis 2000). Il a également contribué au livre O'Reilly "Linux System Administration".


Ubuntu
  1. Le serveur parfait - Ubuntu 14.10 (nginx, BIND, Dovecot, ISPConfig 3)

  2. Le serveur parfait - Ubuntu 15.04 (nginx, BIND, Dovecot et ISPConfig 3)

  3. Le serveur parfait - Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD et ISPConfig 3)

  4. Le serveur parfait - Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD et ISPConfig 3.1)

  5. Le serveur parfait - Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD et ISPConfig 3.1)

Le serveur parfait - Ubuntu 11.10 avec Nginx [ISPConfig 3]

Le serveur parfait - Ubuntu 12.04 LTS (Apache2, BIND, Dovecot, ISPConfig 3)

Le serveur parfait - Debian Squeeze (Debian 6.0) avec BIND, Dovecot et Nginx [ISPConfig 3]

Le serveur parfait - Ubuntu 12.10 (Apache2, BIND, Dovecot, ISPConfig 3)

Le serveur parfait - Debian Wheezy (nginx, BIND, Dovecot, ISPConfig 3)

Le serveur parfait - Ubuntu 13.04 (Apache2, BIND, Dovecot, ISPConfig 3)