Un serveur parfait sous Debian Wheezy (Debian 7) et nginx

Bon bah aujourd’hui c’est du lourd!! après un serveur parfait sous Ubuntu 9.10, qui date un peu, mais toujours d’actualité, et un serveur parfait sous Debian Squeeze (Debian 6.0), voici un nouvel opus de la série “un serveur parfait” et cette fois il est sous Debian Wheezy (Debian 7), avec un serveur « nginx » et l’interface de gestion de serveur Web “ISPConfig 3”.

Nous allons voir une, par une, toutes les étapes de configuration afin d’obtenir un serveur complet. Et comme d’habitude, ce tuto est construit de sort que même un débutant en administration système puisse avoir un serveur Web professionnel.

Remarques :

  • Pour le tuto, j’utilise toujours les droits « Root »
  • La version de nginx doit être supérieure à 0.8.21 pour fonctionner avec ISPConfig 3
  • Ce tuto n’est pas réalisable avec une version inférieure à ISPConfig 3

Etape I : Installation du système de base de notre serveur

Pour débuter et avant tous, il vous faut installer un système de base sous Debian Wheezy, pour cela suivez ce tuto Système de base d’un serveur sous Debian Wheezy (Debian 7)

Etape II : Installation de nginx, BIND, Dovecot, ISPConfig 3,

Dans l’étape précédente vous avez

  • Installez le système de base.
  • Modifiez le port par défaut de SSH (pour notre tuto port=7070)
  • Interdit l’accès SSH à Root
  • Seul l’utilisateur crée peu se connecter via SSH (pour notre tuto utilisateur=Zenzla)

Maintenant, il nous faut installer les différents composant de notre serveur.

Connectez-vous au serveur si ce n’est déjà fait,

1
ssh zenzla@192.168.0.100 -p 7070

passez en mode “root”

1
2
su -
Mot de passe : _

Il est important que les commande “hostname” et “hostname -f” retournent le même résultat, c’est à dire monserveur.exemple.com.
Pour cela il faut éditer le fichier /etc/hosts

1
vi /etc/hosts

il faut qu’il ressemble à ceci;

1
2
3
4
5
6
7
127.0.0.1       localhost.localdomain   localhost
192.168.0.100   monserveur.example.com     monserveur

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Ensuite faites

1
2
echo monserveur.example.com > /etc/hostname
/etc/init.d/hostname.sh start

Ensuite testez les commandes “hostname” et “hostname -f” si ils nous retournent bien le même résultat

1
2
hostname
monserveur.example.com
1
2
hostname -f
monserveur.example.com

Pour que notre système soit toujours à jour, et que les mises à jour s’effectuent correctement, assurez vous que le fichier source.list contient bien les dépôts “wheezy-updates” et que les dépôts contrib et non-free sont bien activés

1
vi /etc/apt/sources.list
1
2
3
4
5
6
7
8
9
deb http://ftp.de.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.de.debian.org/debian/ wheezy main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free

Maintenant mettez à jour votre système

1
apt-get update && apt-get upgrade

Il faut aussi changer le Shell par défaut, car ISPConfig rencontre quelques problème avec celui-ci

1
dpkg-reconfigure dash

Répondez “non” à la question suivante

Utiliser Dash comme interpréteur de ligne de commande par défaut (/bin/sh)? <-non

Pour que le serveur soit toujours à l’heure installez Network Time Protocol (NTP)

1
apt-get install ntp ntpdate

maintenant il faut installer Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

1
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

Répondez comme suite aux différentes questions.

Postfix configuration —–> Ok
configuration type du serveur de messagerie –> site internet
nom de courrier : monserveur.example.com
mot de passe mysql —-> mot de passe administrateur root
Confirmation du mot passe —–> répétez le mot de passe root

Maintenant modifiez le fichier master.cf pour ouvrir les ports TLS/SSL dans postfix

1
vi /etc/postfix/master.cf

Décommettez les sections submission et smtps, (sauf -o milter_macro_daemon_name=ORIGINATING, nous 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=ORIGINATING
smtps inet n – – – – smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
[…]

Redémarrez Postfix

1
/etc/init.d/postfix restart

MySQL doit obligatoirement être à l’écoute de toutes les interfaces, et non seulement à localhost, pour cela il faut éditer le fichier “/etc/mysql/my.cnf” et commenté la ligne bind-address= 127.0.0.1

1
vi /etc/mysql/my.cnf

[…]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
[…]

Redémarrez MySQL

1
/etc/init.d/mysql restart

Maintenant testons si cela fonctionne

1
2
netstat -tap | grep mysql
tcp        0      0 *:mysql                 *:*                     LISTEN      30051/mysqld

Installez Amavisd-new, SpamAssassin, et Clamav

1
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch 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 de ISPConfig 3 utilise “amavisd” qui charge la bibliothèque des filtres internes de SpamAssassin, afin que nous puissions libérer de la RAM, nous pouvons arrêter SpamAssassin

1
2
/etc/init.d/spamassassin stop
update-rc.d -f spamassassin remove

Installez maintenant Install Nginx, PHP5 (PHP-FPM), And Fcgiwrap

Ngix est disponible en tant que paquet pour Debian, la commande d’installation et comme suite:

1
apt-get install nginx

Si vous avez bien suivi les étapes du tuto, nous avons pas installé Apache2, sinon il faut le supprimer

1
/etc/init.d/apache2 stop

Si vous avez une erreur du type

1
-su: /etc/init.d/apache2: Aucun fichier ou dossier de ce type

C’est que Apache2 n’est pas disponible, sinon:

1
update-rc.d -f apache2 remove

Lancez maintenant nginx

1
/etc/init.d/nginx start

Pour l’installation de PHP5 , nous prenons les paquets PHP-FPM (PHP FastCGI Process Manager) qui est une alternative FastCGI avec des fonctionnalités supplémentaires

1
apt-get install php5-fpm

Pour se connecter directement aux bases de données MySQL avec des scripts PHP, nous pouvons installer le paquet php5-mysql, plus d’autres modules selon vos besoins, vopus pouvez obtenir la liste des modules disponible avec la commande

1
apt-cache search php5

Choisissez les modules dont vous avez besoin, et installez-les, pour notre exemple, nous installerons les modules suivants:

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

Pour ne pas consommer beaucoup de ressource et optimiser le code PHP, il est nécéssaire d’installer un cache, nous choisissons APC, qui est libre et gratuit.

1
apt-get install php-apc

Modifiez le fichier /etc/php5/fpm/php.ini, mettre cgi.fix_pathinfo=0 et notre timezone

1
vi /etc/php5/fpm/php.ini

[…]
cgi.fix_pathinfo=0
[…]
date.timezone=”Europe/Paris”
[…]

Redemandez PHP-FMP

1
/etc/init.d/php5-fpm reload

Pour l’utilisation de CGI dans nginx installez Fcgiwrap

1
apt-get install fcgiwrap

Le daemon fcgiwrap se lance normalement automatiquement, vous pouvez le vérifier avec la commande

1
/etc/init.d/fcgiwrap status

Si il est pas lancé, faites-le manuellement

1
/etc/init.d/fcgiwrap start

Installation de phpMyAdmin

1
apt-get install phpmyadmin

Serveur web à reconfigurer automatiquement –> Ne rien sélectionner, nous avons pas besoin apache2 ou lighttpd
Faut-il configurer la base de données de phpmyadmin avec dbconfig-common ? –> non

Vous pouvez maintenant trouver phpMyAdmin dans le répertoire /usr/share/phpmyadmin/
A la fin, lorsque ISPConfig sera installé, vous pouvez accéder à phpMyAdmin via les URL http://monserveur.example.com:8081/phpmyadmin ou http://192.168.0.100:8081/phpmyadmin

Si vous voulez accéder aux alias/phpmyadmin via les sites web qui seront sur le serveur, c’est un peu plus compliqué que pour Apache, car nginx ne gère pas les alias globaux (Les alias définies pour tous les vhosts). Par conséquent, vous devez définir ces alias pour chaque serveur virtuel à partir duquel vous souhaitez accéder à phpMyAdmin.

Pour ce faire, collez le texte suivant dans les champs directives nginx sur le Options de l’onglet du site Web.

location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.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;
include /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 on;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}

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

location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param HTTPS on; # <-- ajouter cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; }

Si vous utilisez à la fois HTTP et HTTPS pour votre serveur virtuel, vous pouvez utiliser la variable $https, allez de nouveau dans les directives nginx et au lieu de fastcgi_param HTTPS on; mettez fastcgi_param HTTPS $https;

location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param HTTPS $https; # <-- ajouter cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; }

Installation du gestionnaire de mailing list (newsletters) Mailman, depuis la version 3.0.4, ISPConfig vous permet également de gérer (créer/modifier/ supprimer) les listes de diffusion Mailman. Si vous souhaitez faire usage de cette fonctionnalité, installer Mailman comme suit:

1
apt-get install mailman

puis sélectionnez votre langue

Langues à gérer : <------ fr Pas de liste du site <-- Ok

Avant que nous puissions commencer avec Mailman, une première liste de diffusion appelée mailman doit être créé:

1
newlist mailman

Entrez l’adresse courriel du gestionnaire de la liste : <-- adresse mail de l’administrateur Mot de passe initial de la liste mailman : <-- le mot de passe d'administration de la liste Pour achever la création de votre liste de diffusion, vous devez modifier votre fichier /etc/aliases (ou équivalent) en y ajoutant les lignes suivantes et peut être exécuter le programme `newaliases': liste de diffusion ## mailman mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave 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-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" Tapez sur Entrée pour aviser le propriétaire de mailman... <-- ENTER

ouvrez /etc/aliases

1
vi /etc/aliases

… Et ajoutez les lignes suivantes:

[…]
## 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 bounces mailman”
mailman-confirm: “|/var/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/var/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/var/lib/mailman/mail/mailman leave 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-unsubscribe: “|/var/lib/mailman/mail/mailman unsubscribe mailman”

Ensuite tapez la commande

1
newaliases

et redemander Postfix

1
/etc/init.d/postfix restart

Puis lancez le daemon Mailman

1
/etc/init.d/mailman start

Apres l’installation d’ISPConfig avec comme port 8081, vous pouvez accéder à Mailman avec les URL suivante http://monserveur.example.com:8081/cgi-bin/mailman/admin/ ou http://monserveur.example.com:8081/cgi-bin/mailman/listinfo/

Pareil que pour phpMyAdmin, pour accéder à Mailman directement via les site web, il faut ajouter dans les directives Nginx d’ISPconfig

location /cgi-bin/mailman {
root /usr/lib/;
fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
include /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 on;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}

location /images/mailman {
alias /usr/share/images/mailman;
}

location /pipermail {
alias /var/lib/mailman/archives/public;
autoindex on;
}

Maintenant nous devons installer PureFTPd et Quota

1
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool

modifiez le fichier /etc/default/pure-ftpd-common

1
vi /etc/default/pure-ftpd-common

… et assurez vous que le mode de démarrage est bien sur standalone et que VIRTUALCHROOT=true

[…]
STANDALONE_OR_INETD=standalone
[…]
VIRTUALCHROOT=true
[…]

Maintenant nous allons configurer PureFTPd pour autoriser les Sessions FTP et TLS.
Le FTP est un protocole peu sécurisé, car les mots de passe ainsi que toutes les données sont transférées en clair, pour y remédier nous le couplerons au TLS pour crypter toutes les communications, rendant ainsi FTP beaucoup plus sûr.

1
echo 1 > /etc/pure-ftpd/conf/TLS

Pour utiliser TLS, nous devons créer un certificat SSL.
Créez le répertoire /etc/ssl/private/

1
mkdir -p /etc/ssl/private/

Nous pouvons maintenant générer le nouveau certificat TLS

1
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Country Name (2 letter code) [AU]: <- Le pays en deux lette ex : FR
State or Province Name (full name) [Some-State]: <-Entrez le nom de votre État ou province.
Locality Name (eg, city) [ ]:<- Nom de votre ville : ex Paris
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<- Entrez votre Nom de votre organisme (par exemple, le nom de votre entreprise).
Organizational Unit Name (eg, section) [ ]:<-Saisissez le nom de votre service (par exemple, «Service Informatique”).
Common Name (eg, YOUR name) [ ]:<- Saisissez le nom de domaine complet du système (par exemple, «ks123456.kimsufi.com”).
Email Address [ ]:<-Saisissez votre adresse mail

Changez les permissions du certificat SSL

1
chmod 600 /etc/ssl/private/pure-ftpd.pem

Redémarrez PureFTPd

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

Editez le fichier /etc/fstab et ajouter “,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0” à la partition avec le point de montage “/” juste après “errors=remount-ro” comme il est démontré ci-dessous.

1
2
3
4
5
6
7
8
9
10
11
12
13
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/monserveur-root /               ext4    errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0       1
# /boot was on /dev/sda1 during installation
UUID=cb4afc02-4225-487e-904c-7fa495f9dcf2 /boot           ext2    defaults        0       2
/dev/mapper/monserveur-swap_1 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

Activez les quotas avec les lignes de commandes suivantes

1
mount -o remount /
1
quotacheck -avugm

voici le résultat de cette commande

quotacheck: Parcours de /dev/mapper/monserveur-root [/] terminé
quotacheck: Cannot stat old user quota file //quota.user: Aucun fichier ou dossier de ce type. Usage will not be substracted.
quotacheck: Cannot stat old group quota file //quota.group: Aucun fichier ou dossier de ce type. Usage will not be substracted.
quotacheck: Cannot stat old user quota file //quota.user: Aucun fichier ou dossier de ce type. Usage will not be substracted.
quotacheck: Cannot stat old group quota file //quota.group: Aucun fichier ou dossier de ce type. Usage will not be substracted.
quotacheck: Vérifié 4017 répertoires et 48304 fichiers
quotacheck: Ancien fichier non trouvé.
quotacheck: Ancien fichier non trouvé.

1
quotaon -avug

/dev/mapper/monserveur-root [/] : quotas group activés
/dev/mapper/monserveur-root [/] : quotas user activés

Installez maintenant BIND DNS Server

1
apt-get install bind9 dnsutils

Installez Vlogger, Webalizer, et AWstats

1
apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

Ouvrez le fichier /etc/cron.d/awstats

1
vi /etc/cron.d/awstats

Et commentez toutes les lignes de ce fichier

#MAILTO=root

#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh

# Generate static reports:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

Installation de Jailkit

Jailkit n’est nécessaire uniquement si vous souhaitez comme unique utilisateurs SSH chroot. (important: Jailkit doit être installé avant ISPConfig – il ne peut pas être installé par la suite!):
L’instalation ce fait comme suite.

1
apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold

Au moment de la rédaction de cet article, la dernière version de Jailkit est la 2.17

1
2
3
4
5
6
7
8
9
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./debian/rules binary
cd ..
dpkg -i jailkit_2.17-1_*.deb
rm -rf jailkit-2.17*
cd ..

Installez maintenant fail2ban

1
apt-get install fail2ban

Il faut créez les services à monitorer de PureFTPd and Dovecot,
Dans un premier temps créez le fichier /etc/fail2ban/jail.local:

1
vi /etc/fail2ban/jail.local

[pureftpd]
enabled = true
port = ftp
filter = pureftpd
logpath = /var/log/syslog
maxretry = 3

[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port=”pop3,pop3s,imap,imaps”, protocol=tcp]
logpath = /var/log/mail.log
maxretry = 5

[sasl]
enabled = true
port = smtp
filter = sasl
logpath = /var/log/mail.log
maxretry = 3

Maintenant, il faut créer les 2 filtres suivants

1
vi /etc/fail2ban/filter.d/pureftpd.conf

[Definition]
failregex = .*pure-ftpd: \(.*@\) \[WARNING\] Authentication failed for user.*
ignoreregex =

1
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 =

Redémarrez le fail2ban

1
/etc/init.d/fail2ban restart

Installation le Web Mail client SquirrelMail

1
apt-get install squirrelmail

Configuration de squirremail

1
squirrelmail-configure

Nous devons configurer SquirrelMail de sort qu’il utilise Dovecot-IMAP/-POP3:
Les réponses que vous devez fournir sont :
Question 1 : D
Question 2 : dovecot
Question 3 : Entrer
Question 4 : S
Question 5 : Q

Comme vous pouvez le voir ci-dessous.

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

Après l’installation de ISPConfig avec port 8081, vous pouvez maintenant accéder à SquirrelMail via l’URL http://monserveur.example.com:8081/squirrelmail, http://monserveur.example.com:8081/webmail ou http://192.168.0.100:8081/webmail

Pareil que pour phpMyAdmin, ou Mailman,si vous voulez accéder directement via vos site internet aux alias /webmail or /squirrelmail il faut les définir pour chaque site. en modifiant les directives nginx

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;
include /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 on;
}
location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /squirrelmail last;
}

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

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; # <-- ajouter cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

Si vous utilisez à la fois HTTP et HTTPS pour votre serveur virtuel, vous pouvez utiliser la variable $https, allez de nouveau dans les directives nginx et au lieu de fastcgi_param HTTPS on; mettez fastcgi_param HTTPS $https;

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 $https; # <-- ajouter cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

Instalation de ISPConfig

Ici il est important de revérifier si Apache est installer, même si nous avons pris le soin de ne pas le faire, il peut s’installer automatiquement en tant qu’application dépendante.

1
/etc/init.d/apache2 stop

Et supprimer les liens de démarrage du système d’Apache

1
update-rc.d -f apache2 remove

redémarrer nginx

1
/etc/init.d/nginx restart

Téléchargez et décompressez la dernière version de ISPConfig 3

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

Maintenant lancez l’installation proprement dit

1
php -q install.php

Cela va démarrer le programme d’installation d’ISPConfig 3. Le programme d’installation configure tous les services comme Postfix, SASL, Courier, etc pour vous.

Dans la majorité des cas, il vous suffit de faire ENTER sans rien saisir. Sauf lorsque vous devez choisir le serveur, vous devez mettre “nginx”

Important : la questions sur l’utilisation de certificat SSL vous sera posée, la réponse par défaut est “yes” si vous faites “ENTER”.
Dans ce cas, lors du lancement de IPSConfig 3, les navigateurs vont vous avertir que votre certificat n’est pas authentifié.
Pour éviter ces avertissement, soit vous répondez “NO”, soit vous installer un certificat SSL gratuit Class1.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
root@monserveur:/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 <ENTER>.
    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 4096 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 []: <-- ENTER
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 ...
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld ..
Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
Stopping ClamAV daemon: clamd.
Starting ClamAV daemon: clamd .
Restarting IMAP/POP3 mail server: dovecot.
Reloading PHP5 FastCGI Process Manager: php5-fpm.
Reloading nginx configuration: nginx.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -H -O clf:/var/log/pure-ftpd/transfer.log -Y 1 -D -u 1000 -A -E -b -8 UTF-8 -B
Installation completed.
root@monserveur:/tmp/ispconfig3_install/install#

Le programme d’installation configure automatiquement tous les services sous-jacents, aucune configuration manuelle est nécessaire.

Ensuite, vous pouvez accéder à ISPConfig 3 via l’url dans http://monserveur.example.com:8080/ ou http://192.168.0.100:8080/. Connectez-vous avec le nom d’utilisateur admin et le mot de passe admin
Attention : vous devriez changer le mot de passe par défaut après votre première connexion, vous pouvez aussi changer la langue.

Serveur Dédié : un serveur parfait avec Debian Squeeze (Debian 6.0)
Accueil ISPConfig 3

N’hésitez à m’apporter vos remarques et commentaires ou rapportez un bug, même si j’ai effectué plusieurs tests

La réalisation de tel tuto prends du temps, même beaucoup de temps, n’hésitez pas à le partagé.

Zenzla

À propos de Zenzla

Je suis un passionné des logiciels libres, et tous ce qui tourne autour!! j'essaie de plus en plus de me débarrasser de l'oppression des Big Brothers du net. Je suis aussi Formateur en base de donnée, Gnu/Linux et bien autre chose.

31 réflexions sur “ Un serveur parfait sous Debian Wheezy (Debian 7) et nginx ”

  • 3 mai, 2016 à 10 h 07 min
    Permalink

    Bonjour a tous et merci pour ce magnifique tuto 😉

    Je rencontre un problème avec les mails car je peux effectivement en envoyer mais je n’en recois aucun
    Quelqu’un aurait une idée svp ?

    Réponse
  • 18 juillet, 2015 à 11 h 33 min
    Permalink

    Bonjour ZenZla
    Tout d’abord merci.
    J’ai tout installer sur une VM sous debian 7.8 sauf jailkit est-ce grave docteur ?
    Pour l’instant je me suis connecté à ISP, cela focntionne mais il faut que je découvre car je ne le connais pas.
    Sur un de mes serveurs,(machine réelle), j’ai installé postfix et j’ai toujours une erreur donc je vais voir avec ta config.
    En tout cas merçi de tout coeur

    Réponse
  • 24 avril, 2015 à 22 h 53 min
    Permalink

    Hello !

    Tout d’abord merci pour ce tuto !
    Je début en config serveur et je dois dire que jusqu’a present tout va bien !
    Mais là je me retrouve face à un truc étrange.
    Juste après l’étape ou je doit relancer PureFTPd et que je dois éditer le fichier /etc/fstab, je n’ai pas du tout le même fichier que toi. Le mien comporte uniquement ces informations :
    proc /proc proc defaults 0 0
    none /dev/pts devpts rw,gid=5,mode=620 0 0
    none /run/shm tmpfs defaults 0 0
    Du coup je ne sais pas où je dois insérer les infos :/

    Un petit coup de main serait plus que bienvenue ! 🙂
    Merci

    Réponse
    • 25 avril, 2015 à 1 h 10 min
      Permalink

      EDIT – Sur la version anglaise du tuto, quelqu’un à apparemment été confronté au meme problème (voir les commentaires : https://www.howtoforge.com/perfect-server-debian-wheezy-nginx-bind-dovecot-ispconfig-3-p4/#comments)

      Quelqu’un apporte une réponse :
      “[…]
      server {
      listen 80;
      server_name you.server.domain.net;
      rewrite ^/(.*)$ /phpmyadmin/$1;
      location /phpmyadmin {
      root /usr/share;
      index index.php index.html index.htm;
      location ~ ^/phpmyadmin/(.+\.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;
      […]

      Par contre je ne sais pas ou le placer. J’ai un peu rechercher dans les fichier de configuration de nginx, j’ai trouvé un truc qui s’apparente à “server {listen 80;…] mais je n’avait pas les même éléments en dessous.

      Une idée ? Quelqu’un sait ou placer ce fameux rewrite ?
      Merci d’avance !

      Réponse
  • 9 mars, 2015 à 17 h 17 min
    Permalink

    Regarde bien les dépots, nginx & update se trouvent sur https://www.dotdeb.org

    Si je fais un update voir même un aptitude full-upgrade , les sources dispo sur ceux de wheezy sont pas a jour. Du moins c’est ce que j’ai vu ici.
    En ajoutant les depots suivant : http://pastebin.com/mkRteYXm , en principe ton nginx devrait se prendre un serieux coup d’update.

    Suite à ton tuto, j’ai remarqué que le Nginx était tjs dans une version antérieur (nginx -v) et en cherchant sur le net, je suis tombé là dessus.

    Salutations !
    Kéro

    Réponse
    • Zenzla
      10 mars, 2015 à 0 h 05 min
      Permalink

      A la je comprend.
      ça n’a rien avoir avec l’age du tuto, mais un logiciel peut mettre un certain temps avant d’apparaître sur les dépôts, surtout ceux de Debian, car la politique de ce dernier et de tester pour s(assurer qu’il y a pas de bugs, pour éviter cela il faut ajouter directement le dépôt du logiciel.

      Réponse
  • 16 janvier, 2015 à 22 h 25 min
    Permalink

    Bonsoir, SUPER TUTO, mais j’ai un petit soucis, lors de l’installation de Mailman, au choix de la langue, je sélectionne fr avec les flèches, puis sélectionne avec enter, mais cette page n’arrête pas de s’afficher, sans jamais valider mon choix.

    Réponse
    • Zenzla
      19 janvier, 2015 à 9 h 42 min
      Permalink

      Bonjour,

      il faut sélectionner avec la barre espace et non enter.

      Zenzla

      Réponse
      • 7 mars, 2015 à 19 h 38 min
        Permalink

        Bonjour,
        Ceci est juste pour les personnes qui désirent installer ce tuto, autant il est +- complet mais il est très vieux par rapport aux distributions actuelles.
        Exemple : Nginx qui est (dans cette version) en 1.2.1 (2012-06-05)
        Depuis, nous sommes au moment de ce post à une version nettement au dessus.

        Les listes sources ne sont plus a jour.
        Cordialement,
        Kero
        @je_discute

        Réponse
        • Zenzla
          9 mars, 2015 à 13 h 36 min
          Permalink

          Je ne comprend pas ton intervention O_o, elle ne veut rien dire.
          Nginx s’installe via les dépôts Debian, et donc c’est toujours la version stable qui est installer, et pour les mettre à jour, c’est comme tous les paquets.

          En plus je ne vois pas de quoi tu parles “……Nginx qui est (dans cette version) en 1.2.1 (2012-06-05)….”

          je sais pas ou tu vois ça O_o

          Réponse
  • 21 novembre, 2014 à 20 h 43 min
    Permalink

    Bonjour Zenzla et merci pour ce super tuto !

    J’ai installé le serveur avec succès mais étant encore débutant dans le monde des serveurs, j’ai quelques anomalies à corriger et des interrogations sur certains points.

    J’ai ce message au bas de l’interface de phpMyAdmin :
    Le stockage de configurations phpMyAdmin n’est pas complètement configuré, certaines fonctionnalités ont été désactivées.

    Dans ISPconfig j’ai créé plusieurs clients avec chacun un site web et leurs noms de domaine respectif, j’ai rempli le A reccord chez mes registars pour que tous les domaines pointent vers l’adresse ip de mon serveur à la maison HP Proliant N54L sous VM ESXI 5.5, j’ai réglé le NAT de ma Freebox pour rediriger les requêtes vers mon serveur.
    Pour le moment tous mes noms de domaines pointes vers le répertoire web du premier client.
    Question :
    Comment configurer les DNS sur ISPconfig pour que chaque domaine pointe sur son répertoire web respectif ?

    Autre sujet :
    j’ai rempli le MX reccord chez mes registars pour pointer vers mes domaines respectifs, le Webmail du premier domaine fonctionne.
    Questions :
    Comment configurer les DNS sur ISPconfig pour gérer le courrier de chaque domaine et leurs adresses eMail respectives ?
    Quels sont les paramètres IMAP et SMTP qui convienne à mon client mail Thunderbird ?

    Merci pour votre aide éventuelle.

    Dominique.

    Réponse
  • 22 octobre, 2014 à 15 h 14 min
    Permalink

    Bonjour,
    Merci pour ce auto !
    J’ai du rater un truc : dans quel repertoire mettre dossier du site internet ?
    J’ai bien en dossier www mais je ne peux pas y ajouter de dossier alors que je suis connecté en root ?

    Une idée peut être ?

    Merci

    Myke

    Réponse
    • Zenzla
      17 novembre, 2014 à 8 h 53 min
      Permalink

      Bonjour Mike,

      Excuse du retard de ma réponse.

      Avant tous il faut créer le site, sa base de données, le FTP sur l’administration de ISPConfig, un répertoire au nom du site apparaîtra ensuite.

      Réponse
  • 20 octobre, 2014 à 11 h 17 min
    Permalink

    Bonjour Zenzla,
    J’ai un petit souci avec le webmail : comment accéder à celui ci depuis ISPconfig ? J’ai cru comprendre que ISP utilisait Roundcube alors qu’ici nous utilisons Postfix. Comment accéder alors au webmail ?
    j’obtiens une erreur 404 avec l’adresse https://mondomaine:8080/webmail
    Qu’ai-je puis faire de mal ?
    Merci d’avance,

    Réponse
    • Zenzla
      17 novembre, 2014 à 8 h 55 min
      Permalink

      Bonjour,

      Rien ne t’empêche d’utiliser Roundcube, a la place!!
      Le problème, etje ne sais pas pkoi ipsconfig ajoute le port 8080 dans l’URL, il suffit de supprimer pour que cela fonctionne.

      Zenzla

      Réponse
  • 3 septembre, 2014 à 15 h 10 min
    Permalink

    Je viens de faire une nouvelle installation de mon serveur sous debian 7 et compte donc suivre ton tuto…
    Par contre je souhaite installer un autre script ensuite : http://mondedie.fr/viewtopic.php?id=5399
    Est ce que cela devrait se passer sans soucis ou il risque d’y avoir des problèmes (resintallation du serveur web, conflit avec ISP Config ?)

    Merci de bien vouloir éclairer ma lanterne.

    Réponse
    • Zenzla
      3 septembre, 2014 à 15 h 19 min
      Permalink

      Salut Tom,

      J’avoue que je suis dans l’incapacité de te répondre, je ne connais pas mondedie, même si il me semble au premier abord il n’y a pas de soucis.
      Le problème, c’est qu’il faut éviter de multiplier les applications sur un serveur dédié au Web (C’est le cas de ce tuto) ==> ralentissement, multiplication de faille de sécurité etc..

      il faut testé, et si cela fonctionne (ou pas) un petit retour serait apprécié

      Réponse
      • 3 septembre, 2014 à 15 h 23 min
        Permalink

        Merci pour ta réactivité.

        Je vais tester cela et ferais un retour afin de tenir informer ceux qui souhaitent faire le même que moi.

        Merci.

        Réponse
        • 4 septembre, 2014 à 6 h 18 min
          Permalink

          Bon, au final ça ne fonctionne pas. L’installation se fait sans problème mais lorsque je reboot à la fin, il m’est impossible de me logguer en ssh.
          Une fois mon login est mot de passe entré, ma fenetre ssh se ferme sans aucune raison etle serveur nginx n’a pas l’air de fonctionner puisque je n’ai plus acces a rien…

          Je vais devoir me passer de ISPConfig 🙁

          Réponse
  • 14 août, 2014 à 13 h 22 min
    Permalink

    Salut !
    Je suis actuellement en train de suivre ton tuto, mais je me retrouve coincé durant la configuration de JailKit et Fail2ban, à savoir qu’au moment de relancer le service “/etc/init.d/fail2ban restart” j’obtiens l’anomalie suivante :
    [quote]root@debian-server:/etc/fail2ban/filter.d# /etc/init.d/fail2ban restart
    [….] Restarting authentication failure monitor: fail2banTraceback (most recent call last):
    File “/usr/bin/fail2ban-client”, line 404, in
    if client.start(sys.argv):
    File “/usr/bin/fail2ban-client”, line 373, in start
    return self.__processCommand(args)
    File “/usr/bin/fail2ban-client”, line 183, in __processCommand
    ret = self.__readConfig()
    File “/usr/bin/fail2ban-client”, line 377, in __readConfig
    self.__configurator.readAll()
    File “/usr/share/fail2ban/client/configurator.py”, line 61, in readAll
    self.__jails.read()
    File “/usr/share/fail2ban/client/jailsreader.py”, line 44, in read
    ConfigReader.read(self, “jail”)
    File “/usr/share/fail2ban/client/configreader.py”, line 62, in read
    SafeConfigParserWithIncludes.read(self, [bConf, bLocal])
    File “/usr/share/fail2ban/client/configparserinc.py”, line 108, in read
    fileNamesFull += SafeConfigParserWithIncludes.getIncludes(filename)
    File “/usr/share/fail2ban/client/configparserinc.py”, line 79, in getIncludes
    parser.read(resource)
    File “/usr/lib/python2.7/ConfigParser.py”, line 305, in read
    self._read(fp, filename)
    File “/usr/lib/python2.7/ConfigParser.py”, line 512, in _read
    raise MissingSectionHeaderError(fpname, lineno, line)
    ConfigParser.MissingSectionHeaderError: File contains no section headers.
    file: /etc/fail2ban/jail.local, line: 1
    ‘ [pureftpd]\n’
    failed!
    root@debian-server:/etc/fail2ban/filter.d#[/quote]

    J’ai réinstallé Jailkit et refais la config’ de fail2ban, mais sans succès…

    Une idée ?

    Cordialement

    Réponse
    • Zenzla
      19 août, 2014 à 14 h 36 min
      Permalink

      Excuse le retard de ma réponse, j’ai pris quelques jours de Vancances ;).
      Je pense que l’erreur se trouve dans tes fichiers filtres, essai de les refaire un par un.

      Réponse
  • 6 juin, 2014 à 13 h 12 min
    Permalink

    Bonjours,

    Très bon tuto, cela m’a beaucoup aidé pour la mise en place de isp qui est un outil qui m’intéresse de plus en plus.

    Seul bemol je n’arrive pas a configurer l’access phpmyadmin ainsi que mail, je me prend du 404 a répétition (nginx/1.6.0). Une petite aide sur la démarche a suivre ne serai pas de refus.

    Réponse
  • 22 mai, 2014 à 11 h 24 min
    Permalink

    Un super boulot. Je me suis amusé à faire une procédure pour l’installation de la derbière version de NGINX. JJe l’ai testé sous debian 7.5 / ubunuto 12.04 / 13.10 .. et pas encore sur ma RaspBerry mais ça ne devrait tarder. Au cas ou tu trouverais des truc intéressants à récupérer,pour ton tuto, n’hésites pas à pomper. C’est là pour ça :

    http://wiki.hznteam.fr/trac-bubble/wiki/NginxSetup

    @+

    Réponse
  • 30 avril, 2014 à 23 h 34 min
    Permalink

    Merci beaucoup pour ton tuto il m’a vraiment aider.

    Réponse
  • 13 avril, 2014 à 19 h 38 min
    Permalink

    Excellent tuto… de quoi vraiment bien démarrer. J’ai particulièrement été intéressé par la partie “SquirrelMail” car je n’ai jamais utilisé et ça me tente!
    Pour l’install en LVM l’idéal (pour ceux qui ont deux disques) c’est de faire du RAID, car si une partition du LVM est corrompue (bug) c’est tout le LVM qui “plante”… Mais bon, là il y a de quoi faire avec ce tuto… après on peut “blinder” un peut plus Fail2ban et d’autres trucs, à chacun de personnaliser… Bravo pour ce billet très complet!

    Réponse
    • Zenzla
      14 avril, 2014 à 10 h 11 min
      Permalink

      Salut Sima,

      Oui je pense qu’il y a encore des choses à améliorer, je pense mettre à jour souvent ce tuto pour qu’il soit toujours d’actualité

      Réponse

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *