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

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

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

Ce tutoriel montre comment préparer un serveur Ubuntu 12.10 (Quantal Quetzal) (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 Apache (au lieu de nginx), BIND (au lieu de MyDNS) et Dovecot (au lieu de Courier).

Veuillez noter que cette configuration ne fonctionne pas pour ISPConfig 2 ! Il n'est valable que pour ISPConfig 3 !

Je n'émets aucune garantie que cela fonctionnera pour vous !

Manuel ISPConfig 3

Afin d'apprendre à utiliser ISPConfig 3, je vous recommande fortement de télécharger le manuel ISPConfig 3.

Sur plus de 300 pages, il couvre le concept derrière ISPConfig (administrateur, revendeurs, clients), explique comment installer et mettre à jour ISPConfig 3, inclut une référence pour tous les formulaires et champs de formulaire dans ISPConfig ainsi que des exemples d'entrées valides, et fournit des tutoriels pour les tâches les plus courantes dans ISPConfig 3. Il explique également comment rendre votre serveur plus sécurisé et est accompagné d'une section de dépannage à la fin.

Application de surveillance ISPConfig pour Android

Avec l'application ISPConfig Monitor, vous pouvez vérifier l'état de votre serveur et savoir si tous les services fonctionnent comme prévu. Vous pouvez vérifier les ports TCP et UDP et envoyer un ping à vos serveurs. En plus de cela, vous pouvez utiliser cette application pour demander des détails aux serveurs sur lesquels ISPConfig est installé (veuillez noter que la version minimale installée d'ISPConfig 3 avec prise en charge de l'application ISPConfig Monitor est 3.0.3.3 ! ); ces détails incluent tout ce que vous savez du module Monitor dans le panneau de configuration ISPConfig (par exemple, les services, les journaux de messagerie et système, la file d'attente de messagerie, les informations sur le processeur et la mémoire, l'utilisation du disque, les quotas, les détails du système d'exploitation, le journal RKHunter, etc.), et bien sûr , comme ISPConfig est compatible avec plusieurs serveurs, vous pouvez vérifier tous les serveurs contrôlés à partir de votre serveur maître ISPConfig.

Pour obtenir des instructions de téléchargement et d'utilisation, veuillez visiter http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

1 Exigences

Pour installer un tel système, vous aurez besoin des éléments suivants :

  • le CD du serveur Ubuntu 12.10, disponible ici :http://releases.ubuntu.com/releases/12.10/ubuntu-12.10-server-i386.iso (i386) ou http://releases.ubuntu.com/releases /12.10/ubuntu-12.10-server-amd64.iso (x86_64)
  • une connexion Internet rapide.

2 Remarque préliminaire

Dans ce tutoriel, j'utilise le nom d'hôte server1.example.com avec l'adresse IP 192.168.0.100 et la passerelle 192.168.0.1. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant.

3 Le système de base

Insérez votre CD d'installation Ubuntu dans votre système et démarrez à partir de celui-ci. Sélectionnez votre langue :

Sélectionnez ensuite Installer le serveur Ubuntu :

Choisissez à nouveau votre langue (?) :

Sélectionnez ensuite votre emplacement :

Si vous avez sélectionné une combinaison inhabituelle de langue et de lieu (comme l'anglais comme langue et l'Allemagne comme lieu, comme dans mon cas), le programme d'installation peut vous dire qu'il n'y a pas de paramètres régionaux définis pour cette combinaison ; dans ce cas, vous devez sélectionner les paramètres régionaux manuellement. Je sélectionne en_US.UTF-8 ici :

Choisissez une disposition de clavier (il vous sera demandé d'appuyer sur quelques touches et l'installateur essaiera de détecter la disposition de votre clavier en fonction des touches sur lesquelles vous avez appuyé) :

Le programme d'installation vérifie le CD d'installation, votre matériel et configure le réseau avec DHCP s'il y a un serveur DHCP sur le réseau :

Entrez le nom d'hôte. Dans cet exemple, mon système s'appelle server1.example.com , donc j'entre server1 :

Créez un utilisateur, par exemple l'utilisateur Administrator avec le nom d'utilisateur administrator (n'utilisez pas le nom d'utilisateur admin car il s'agit d'un nom réservé sur Ubuntu 12.10) :

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

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

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

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 éditer /etc/resolv.conf directement, 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

nom_hôte
nom_hôte -f

Les deux devraient maintenant afficher server1.example.com.

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 restreintdeb-src http://de.archive.ubuntu.com/ubuntu/ quantal main restreint## 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 la part de l'équipe de sécurité 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. 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.

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

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,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 milter_macro_daemon_name=ORIGINATING[ ...]

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 Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear et mcrypt

Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear et mcrypt peuvent être installés comme suit :

apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi php5-curl libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python libapache2-mod-perl2 

Vous verrez la question suivante :

Serveur Web à reconfigurer automatiquement :<-- apache2
Configurer la base de données pour phpmyadmin avec dbconfig-common ? <-- Non

Exécutez ensuite la commande suivante pour activer les modules Apache suexec, rewrite, ssl, actions et include (plus dav, dav_fs et auth_digest si vous souhaitez utiliser WebDAV) :

les actions SSL de réécriture a2enmod suexec incluent
a2enmod dav_fs dav auth_digest

Ouvrez ensuite /etc/apache2/mods-available/suphp.conf...

vi /etc/apache2/mods-available/suphp.conf

... et commentez la section et ajoutez la ligne AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml - sinon tous les fichiers PHP sera géré par SuPHP :

 # # Application SetHandler/x-httpd-suphp # AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp  suPHP_Engine on  # Par défaut, désactiver suPHP pour debian empaqueté les applications Web en tant que fichiers # appartiennent à root et ne peuvent pas être exécutées 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 :

/etc/init.d/apache2 redémarrage

Si vous souhaitez héberger des fichiers Ruby avec l'extension .rb sur vos sites Web créés via ISPConfig, vous devez commenter la ligne application/x-ruby rb dans /etc/mime.types :

vi /etc/mime.types
[...]#application/x-ruby rb[...]

(Ceci n'est nécessaire que pour les fichiers .rb ; les fichiers Ruby avec l'extension .rbx sont prêts à l'emploi.)

Redémarrez ensuite Apache :

/etc/init.d/apache2 redémarrage

14.1 Xcache

Xcache est un cache d'opcode PHP gratuit et ouvert pour la mise en cache et l'optimisation du code intermédiaire PHP. Il est similaire à d'autres cacheurs d'opcodes PHP, tels que eAccelerator et APC. Il est fortement recommandé d'en installer un pour accélérer votre page PHP.

Xcache peut être installé comme suit :

apt-get install php5-xcache

Maintenant, redémarrez Apache :

/etc/init.d/apache2 redémarrage

14.2 PHP-FPM

À partir du prochain ISPConfig 3.0.5, il y aura un mode PHP supplémentaire que vous pourrez sélectionner pour une utilisation avec Apache :PHP-FPM. Si vous envisagez d'utiliser ce mode PHP, il est logique de configurer votre système dès maintenant afin que plus tard, lors de la mise à niveau vers ISPConfig 3.0.5, votre système soit prêt (la dernière version d'ISPConfig au moment de la rédaction de cet article est ISPConfig 3.0 .4.6).

Pour utiliser PHP-FPM avec Apache, nous avons besoin du module Apache mod_fastcgi (veuillez ne pas le confondre avec mod_fcgid - ils sont très similaires, mais vous ne pouvez pas utiliser PHP-FPM avec mod_fcgid). Nous pouvons installer PHP-FPM et mod_fastcgi comme suit :

apt-get install libapache2-mod-fastcgi php5-fpm

Assurez-vous d'activer le module et de redémarrer Apache :

a2enmod actions fastcgi alias
/etc/init.d/apache2 restart

14.3 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 nécessaires ou que le processus de construction échoue) - PHP-FPM et FastCGI s'excluent mutuellement dans PHP 5.3, c'est pourquoi je montre deux façons de construire PHP 5.3, un pour PHP-FPM, un pour FastCGI, mais vous pouvez compiler PHP deux fois avec les deux options de configuration pour obtenir les deux :

14.3.1 PHP-FPM

./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 (si vous avez compilé PHP avec FPM) 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

14.3.2 PHP avec FastCGI

./configure \
--prefix=/opt/php-5.3.18 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-cgi \
--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-libdir=/lib/x86_64-linux-gnu
faire
faire installer

Copiez php.ini au bon emplacement :

cp /usr/local/src/php5-build/php-5.3.18/php.ini-production /opt/php-5.3.18/lib/php.ini

14.3.3 Configuration ISPConfig

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 :

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

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 mailman : <-- mot de passe admin pour la liste mailman 
Pour finir la création de votre liste de mailing, vous devez modifier votre /etc/aliases (ou
l'équivalent) fichier en ajoutant les lignes suivantes, et éventuellement en exécutant le programme
`newaliases' :

## mailman mailing list
mailman :              "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin :        "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces :      "|/var/lib/mailman/mail/mailman rebondit mailman"
mailman-confirm :      "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join :         "|/var/lib/mailman/mail/mailman join mailman"
mailman -congé :        "|/var/lib/mailman/mail/mailman quitter mailman"
mailman-owner :        "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request :      " |/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe :    "|/var/lib/mailman/mail/mailman subscribe mailm an"
mailman-unsubscribe :  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Appuyez sur Entrée pour notifier le propriétaire du mailman... <-- ENTER

[email protected] :~#

Ouvrez ensuite /etc/aliases...

vi /etc/aliases

... et ajoutez les lignes suivantes :

[...]## mailman mailing listmailman :"|/var/lib/mailman/mail/mailman post mailman"mailman-admin :" |/var/lib/mailman/mail/mailman admin mailman"mailman-bounces :"|/var/lib/mailman/mail/mailman rebondit mailman"mailman-confirm :"|/var/lib/mailman/mail/mailman confirme mailman"mailman-join :"|/var/lib/mailman/mail/mailman 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

Enfin, nous devons activer la configuration de Mailman Apache :

ln -s /etc/mailman/apache.conf /etc/apache2/conf.d/mailman.conf

Cela définit l'alias /cgi-bin/mailman/ pour tous les vhosts Apache, ce qui signifie que vous pouvez accéder à l'interface d'administration Mailman pour une liste à http:///cgi-bin/mailman/admin/, et la page Web pour les utilisateurs d'une liste de diffusion se trouve à http:///cgi-bin/mailman/listinfo/.

Sous http:///pipermail, vous trouverez les archives de la liste de diffusion.

Redémarrez ensuite Apache :

/etc/init.d/apache2 redémarrage

Démarrez ensuite le démon Mailman :

/etc/init.d/mailman start

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) [] :<-- Saisissez votre ville.
Nom de l'organisation (par exemple, société) [Internet Widgits Pty Ltd] :<-- Saisissez 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).##     
 /dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user, grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot était sur /dev/sda1 lors de l'installationUUID=07152d44-158e-4603-a14d-79f1838adebe /boot ext2 defaults 0 2/dev/mapper/server1-swap_1 aucun swap sw 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*

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

20 Installer fail2ban

Ceci est facultatif mais recommandé, car le moniteur ISPConfig essaie d'afficher le journal :

apt-get install fail2ban

Pour que fail2ban surveille PureFTPd et Dovecot, créez le fichier /etc/fail2ban/jail.local :

vi /etc/fail2ban/jail.local
[pureftpd]enabled =trueport =ftpfilter =pureftpdlogpath =/var/log/syslogmaxretry =3[dovecot-pop3imap]enabled =truefilter =dovecot-pop3imapaction =iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]logpath =/var/log/mail.logmaxretry =5

Créez ensuite les deux fichiers de filtre suivants :

vi /etc/fail2ban/filter.d/pureftpd.conf
[Definition]failregex =.*pure-ftpd :\(.*@\) \[WARNING\] L'authentification a échoué pour l'utilisateur. *ignoreregex =
vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Définition]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 abandonnée \(\d+ tentatives d'authentification).*rip=(?P\S*),.*ignoreregex =

Redémarrez ensuite fail2ban :

/etc/init.d/fail2ban redémarrage

21 Installer SquirrelMail

Pour installer le client de messagerie Web SquirrelMail, exécutez

apt-get install squirrelmail

Configurez ensuite SquirrelMail :

squirrelmail-configure

Nous devons dire à SquirrelMail que nous utilisons Dovecot-IMAP/-POP3 :

Configuration de SquirrelMail : Lire : config.php (1.4.0)
----------------------------------------------- ------------------------
Menu principal --
1.  Préférences de l'organisation
2.  Paramètres du serveur
3.  Paramètres par défaut des dossiers
4.  Options générales
5.  Thèmes
6.  Carnets d'adresses
7.  Message du jour (MOTD)
8.  Plugins
9.  Base de données
10. Langues

D.  Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques

C   Activer la couleur 
S   Enregistrer data
Q   Quitter

Commande >> <-- D


SquirrelMail Configuration : Lire : config.php
---- -------------------------------------------------- ---
Pendant que nous créons SquirrelMail, nous avons découvert certaines
préférences qui fonctionnent mieux avec certains serveurs qui ne fonctionnent pas si 
bien avec d'autres. Si vous sélectionnez votre serveur IMAP, cette option définira certains paramètres prédéfinis pour ce serveur.

Veuillez noter que vous aurez toujours de viser et vous assurer 
de tout est correct. Cela ne change pas tout. Il n'y a 
que quelques paramètres qui vont modifier.

Veuillez sélectionner votre serveur IMAP  :
    bincimap    = serveur Binc IMAP 
    courier     = serveur Courier IMAP 
Cyrus =Cyrus IMAP Server
DoveCot =DoveCot Secure IMAP Server
Exchange =Microsoft Exchange IMAP Server
HmailServer =HmailServer
MacOSX =Mac OS X MailServer
Mercury32 =Mercury /32
    uw          = Serveur IMAP de l'Université de Washington 
    gmail       = Accès IMAP aux comptes Google mail (Gmail) 

    quitter        = Ne modifier rien 
Commande >> <-- dovecot


SquirrelMail Configuration : Lire : config.php
----------------------- ----------------------------------
Pendant que nous construisons SquirrelMail, nous en avons découvert 
préférences qui fonctionnent mieux avec certains serveurs qui ne fonctionnent pas si 
 bien avec d'autres . Si vous sélectionnez votre serveur IMAP, cette option définira certains paramètres prédéfinis pour ce serveur.

Veuillez noter que vous aurez toujours de viser et vous assurer 
de tout est correct. Cela ne change pas tout. Il n'y a 
que quelques paramètres qui vont modifier.

Veuillez sélectionner votre serveur IMAP  :
    bincimap    = serveur Binc IMAP 
    courier     = serveur Courier IMAP 
Cyrus =Cyrus IMAP Server
DoveCot =DoveCot Secure IMAP Server
Exchange =Microsoft Exchange IMAP Server
HmailServer =HmailServer
MacOSX =Mac OS X MailServer
Mercury32 =Mercury /32
    uw          = Serveur IMAP de l'Université de Washington 
    gmail       = Accès IMAP aux comptes Google mail (Gmail) 

    quitter        = Ne modifier rien 
Commande >> dovecot

imap_server_type =dovecot
default_folder_prefix =
trash_folder =trash
Send_folder =envoyée
draft_folder =drafts
show_prefix_option =false           default_sub_of_inbox = false
show_co ntain_subfolders_option = false
            optional_delimiter = détecter
                 delete_folder = false

Appuyez sur n'importe quelle touche pour continuer... <-- appuyez sur une touche


 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 des dossiers
4.  Options générales
5.  Thèmes
6.  Carnets d'adresses
7.  Message du jour (MOTD)
8.  Plugins
9.  Base de données
10. Langues

D.  Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques

C   Activer la couleur 
S Enregistrer les données
Q   Quitter

Commande >> <-- S


SquirrelMail Configuration : Lire : config.php (1.4.0)
------------------------------------------------ ---------
Menu principal --
1.  Préférences de l'organisation
2.  Paramètres du serveur
3.  Paramètres par défaut des dossiers
4 .  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 >> <-- Q

Nous allons maintenant configurer SquirrelMail afin que vous puissiez l'utiliser à partir de vos sites Web (créés via ISPConfig) en utilisant les alias /squirrelmail ou /webmail. Ainsi, si votre site Web est www.example.com, vous pourrez accéder à SquirrelMail en utilisant www.example.com/squirrelmail ou www.example.com/webmail.

La configuration Apache de SquirrelMail se trouve dans le fichier /etc/squirrelmail/apache.conf, mais ce fichier n'est pas chargé par Apache car il ne se trouve pas dans le répertoire /etc/apache2/conf.d/. Par conséquent, nous créons un lien symbolique appelé squirrelmail.conf dans le répertoire /etc/apache2/conf.d/ qui pointe vers /etc/squirrelmail/apache.conf et rechargeons ensuite Apache :

cd /etc/apache2/conf.d/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
/etc/init.d/apache2 recharge

Ouvrez maintenant /etc/apache2/conf.d/squirrelmail.conf...

vi /etc/apache2/conf.d/squirrelmail.conf

... et ajoutez les lignes suivantes au conteneur 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 désactivé php_flag track_vars activé php_admin_flag allow_url_fopen désactivé 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'informations 
 order 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/tmp

Recharger Apache :

/etc/init.d/apache2 recharge

C'est déjà fait - /etc/apache2/conf.d/squirrelmail.conf définit un alias appelé /squirrelmail qui pointe vers le répertoire d'installation de SquirrelMail /usr/share/squirrelmail.

Vous pouvez désormais accéder à SquirrelMail depuis votre site Web comme suit :

http://192.168.0.100/squirrelmail
http://www.example.com/squirrelmail

Vous pouvez également y accéder depuis le vhost du panneau de contrôle ISPConfig (après avoir installé ISPConfig, voir le chapitre suivant) comme suit (cela ne nécessite aucune configuration dans ISPConfig) :

http://server1.example.com:8080/squirrelmail

Si vous souhaitez utiliser l'alias /webmail au lieu de /squirrelmail, ouvrez simplement /etc/apache2/conf.d/squirrelmail.conf...

vi /etc/apache2/conf.d/squirrelmail.conf

... et ajoutez la ligne Alias ​​/webmail /usr/share/squirrelmail :

Alias ​​/squirrelmail /usr/share/squirrelmailAlias ​​/webmail /usr/share/squirrelmail[...]

Puis rechargez Apache :

/etc/init.d/apache2 recharge

Vous pouvez maintenant accéder à Squirrelmail comme suit :

http://192.168.0.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (après avoir installé ISPConfig, consultez le chapitre suivant)

 

Si vous souhaitez définir un vhost comme webmail.example.com où vos utilisateurs peuvent accéder à SquirrelMail, vous devez ajouter la configuration vhost suivante à /etc/apache2/conf.d/squirrelmail.conf :

vi /etc/apache2/conf.d/squirrelmail.conf
[...] DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com 

Assurez-vous de remplacer 1.2.3.4 par la bonne adresse IP de votre serveur. 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...

/etc/init.d/apache2 recharge

... et vous pouvez accéder à SquirrelMail sous http://webmail.example.com !

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

22 Installer ISPConfig 3

Pour installer ISPConfig 3 à partir de la dernière version publiée, procédez comme suit :

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

La prochaine étape consiste à exécuter

php -q install.php

Cela lancera le programme d'installation d'ISPConfig 3. Le programme d'installation configurera tous les services comme Postfix, Dovecot, etc. pour vous. Une configuration manuelle telle que requise pour ISPConfig 2 (guides de configuration parfaits) n'est pas nécessaire.

[email protected] :/tmp/ispconfig3_install/install# php -q install.php


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


>> Configuration initiale

 Système d'exploitation  : Debian ou compatible, version inconnue.

    Suivant seront quelques questions pour la configuration principale alors soyez prudent.
    Les valeurs par défaut sont entre [crochets] et peuvent être acceptées avec  .
    Appuyez sur "quitter" (sans les guillemets) pour arrêter le programme d'installation.


Sélectionnez la langue (en,de) [en] : <-- ENTER

Mode d'installation (standard,expert) [standard] : <-- ENTER

Nom d'hôte complet (FQDN) du serveur, par exemple serveur1.domaine.tld  [serveur1.exemple.com] : <-- ENTER

Nom d'hôte du serveur MySQL [localhost] : <-- ENTER

MySQL nom d'utilisateur root [root] : <-- ENTER

Mot de passe root MySQL [] : <-- votre mot de passe sql racine

Base de données MySQL pour créer [dbispconfig] : <-- ENTER

Jeu de caractères MySQL [utf8] : <-- ENTER

Génération d'une clé privée RSA 2 048 bits
...........+++
............... ......+++
écrire une nouvelle clé privée à 'smtpd.key'
-----
Vous allez être sur le point d'être demandé d'entrer des informations qui seront incorporées
dans votre demande de certificat.
Ce que vous êtes sur le point d'entrer est ce qu'on appelle un nom distinguable ou un  DN. certains champs il y aura une valeur par défaut,
Si vous entrez '.', le champ sera laissé vide.
-----
Nom du pays (code à 2 lettres) [AU] : <-- ENTER
State or Province Name (full name) [Some-State] : <-- ENTER
Locality Name (ex. city) [] : <-- ENTER
Organization Nom (par exemple, entreprise) [Internet Widgits Pty Ltd] : <-- ENTRER
Nom de l'unité organisationnelle (par exemple, section) [] : <-- ENTRER
C Nom commun (par exemple, serveur FQDN ou VOTRE nom) [] : <-- ENTER
 Adresse e-mail [] : <-- ENTER
Configuration Jailkit 
Configuration Dovecot
Configuration Spamassassin
Configuration Amavisd
Configurer Getmail
Configurer Pureftpd
Configurer BIND
Configurer Apache
Configurer Vlogger
Configurer Apps vhost
Configurer Bastille Firewall
Configurer Fail2ban
Installation d'ISPConfig
Port ISPConfig [8080] : <-- ENTRÉE

Voulez-vous une connexion sécurisée (SSL) à l'interface Web ISPConfig (y,n) [y] : <-- ENTRER

Génération de la clé privée RSA, module de long 4096 bits
.......++
........... ...............................................++
e est 65537 (0x10001)
Vous allez être invité à saisir des informations qui seront incorporées
dans votre demande de certificat.
Ce que vous êtes sur le point de saisir est ce qu'on appelle un Distinguished Nom ou un DN.
Il existe un nombre de champs mais vous pouvez en laisser certains b lank
Pour certains champs il y aura une valeur par défaut,
Si vous saisissez '.', le champ sera laissé vide.
-----
Nom du pays (2 code alphabétique) [AU] : <-- ENTER
State or Province Name (full name) [Some-State] : <-- ENTER
Locality Name (ex. city) [] : <-- ENTER
Organization Name (ex. company) [Internet Widgits Pty Ltd] : <-- ENTER
Organizational Unit Name (ex. section) [] : <-- ENTER
Common Name (ex. serveur FQDN ou VOTRE nom) [] : <-- ENTRER
 Adresse e-mail [] : <-- ENTRER

Veuillez entrer les attributs "supplémentaires" suivants
à être envoyés avec votre demande de certificat
Un mot de passe de défi [] : <-- ENTRÉE
Un nom de société facultatif [] : <-- ENTRÉE
en écrivant la clé RSA
Configuration de DBServer
Installation ISPConfig crontab
no crontab for root
no crontab for getmail
Redémarrage des services ...
Plutôt que d'invoquer des scripts init via /etc/init.d, utilisez le service(8)
utilitaire, 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 2543
 * Arrêt Postfix Mail Transport Agent postfix
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
   ...done.
 * Démarrage de Postfix Mail Transport Agent postfix
postconf : avertissement : /etc /postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
postconf : avertissement : /etc /postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
postconf : avertissement : /etc /postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_ bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc /postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/ usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé :smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc /postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/ usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postcon f : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0. 0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master .cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
/usr/sbin/ postconf : avertissement : /etc/postfix/master.cf : paramètre inutilisé : smtpd_bind_address=127.0.0.1
   ...done.
Arrêt amavisd : (non en cours d'exécution).
Le démon amavisd est déjà en cours d'exécution, PID : [1126]
Démarrage amavisd : (échec).
 * Arrêt du démon ClamAV clamd
   ...fait.
 * Démarrage du démon ClamAV clamd
...done.
Plutôt que d'invoquer des scripts init via /etc/init.d, utilisez l'utilitaire service(8)
, par ex. service dovecot 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 le pigeonnier  ; commencer le pigeonnier. L'utilitaire restart(8) est également disponible.
dovecot stop/waiting
dovecot start/running, process 3668
 * Redémarrage Mailman master qrunner mailmanctl
 * Attente...
   ...fait.
   ...fait.
 * Redémarrage du serveur web apache2
 ... en attente . ...fait.
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 -E -H -Y 1 -O clf :/var/log/pure-ftpd/transfer.log -8 UTF-8 -b -D -A -u 1000 -B
Installation terminée.
example@unixlinux. en ligne :/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é.

22.1 Manuel ISPConfig 3

Afin d'apprendre à utiliser ISPConfig 3, je vous recommande fortement de télécharger le manuel ISPConfig 3.

Sur plus de 300 pages, il couvre le concept derrière ISPConfig (administrateur, revendeurs, clients), explique comment installer et mettre à jour ISPConfig 3, inclut une référence pour tous les formulaires et champs de formulaire dans ISPConfig ainsi que des exemples d'entrées valides, et fournit des tutoriels pour les tâches les plus courantes dans ISPConfig 3. Il explique également comment rendre votre serveur plus sécurisé et est accompagné d'une section de dépannage à la fin.

22.2 Application ISPConfig Monitor pour Android

Avec l'application ISPConfig Monitor, vous pouvez vérifier l'état de votre serveur et savoir si tous les services fonctionnent comme prévu. Vous pouvez vérifier les ports TCP et UDP et envoyer un ping à vos serveurs. En plus de cela, vous pouvez utiliser cette application pour demander des détails aux serveurs sur lesquels ISPConfig est installé (veuillez noter que la version minimale installée d'ISPConfig 3 avec prise en charge de l'application ISPConfig Monitor est 3.0.3.3 ! ); ces détails incluent tout ce que vous savez du module Monitor dans le panneau de configuration ISPConfig (par exemple, les services, les journaux de messagerie et système, la file d'attente de messagerie, les informations sur le processeur et la mémoire, l'utilisation du disque, les quotas, les détails du système d'exploitation, le journal RKHunter, etc.), et bien sûr , comme ISPConfig est compatible avec plusieurs serveurs, vous pouvez vérifier tous les serveurs contrôlés à partir de votre serveur maître ISPConfig.

Pour obtenir des instructions de téléchargement et d'utilisation, veuillez visiter http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

23 notes supplémentaires

23.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
pour CAP dans CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
  vzctl set $VPSID --capability ${CAP} :sur --save
fait

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

Panels
  1. Le serveur parfait – CentOS 7 (Apache2, Dovecot, ISPConfig 3)

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

  3. Le serveur parfait - OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

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

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

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

Le serveur parfait - OpenSUSE 12.2 x86_64 (Apache2, Dovecot, ISPConfig 3)

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

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

Le serveur parfait - CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)

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