Installation IspConfig3 avec Apache,Dovecot et Horde sur DEBIAN Squeeze
Avant d’installer IspConfig3 il faut re-compiler le noyau pour activer le support des QUOTAS, voir cet article.
Puis suivre le tutoriel: The Perfect Server – Debian Squeeze (Debian 6.0) With BIND & Dovecot [ISPConfig 3]
ATTENTION on saute la fin de la page 5 sur l’installation de Squirrelmail,car on préfèrera utiliser HORDE comme client WEBMAIL
Ensuite une fois l’installation terminé, il est préférable d’ajouter PEAR à l’include path des Sites Web.
Il faut modifier la valeur de « PHP open_basedir » en se connectant sur l’interface d’administration web ISPCONFIG, puis dans System->Server Config->Web et ajouter :/usr/share/php (cf capture écran)
Modifier le fichier /etc/apache2/ports.conf qui liste les ports que apache gère
Ajouter le port 88443 qui sera le port du control panel IspConfig
NameVirtualHost *:80
Listen 80
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
Listen 443
Listen 88443
NameVirtualHost *:443
Listen 443
Listen 88443
Modifier le fichier /etc/apache2/sites-available/ispconfig.vhost pour changer le port de IspConfig
3 lignes sont à modifier (les 3 premières après les commentaires)
Listen 88443 NameVirtualHost *:88443
Sécurisé accès à phpMyAdmin
nano /etc/apache2/conf.d/phpmyadmin.conf
Ajouter ceci à la fin du fichier
RewriteEngine on
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule . https://%{HTTP_HOST}:50443%{REQUEST_URI} [L]
Il faut redémarrer apache
/etc/init.d/apache2 restart
Installation de multitail
apt-get install multitail mkdir /root/scripts cd /root/scripts nano mytail
Contenu du fichier /root/scripts/mytail
#!/bin/bash multitail -ci yellow -e "ailed" -n 1000 /var/log/auth.log \ -ci red -e "Ban" -n 1000 -I /var/log/fail2ban.log \ -ci red -e "fw" -n 1000 -I /var/log/messages \ -ci green -e "Unban" -n 1000 -I /var/log/messages \ -ci blue -e "fail" -n 1000 -I /var/log/syslog
Éditer le fichier /etc/multitail.conf pour désactiver le check_mail
nano /etc/multitail.conf check_mail:0
Sauvé et rendre exécutable le fichier
chmod 700 /root/scripts/mytail
Changer le port SSH pour utiliser le 88022
nano /etc/ssh/sshd_config
ATTENTION il faudra ajouter l’option -e’ssh -p 88022′ lors de l’utilisation du rsync
rsync -av -e 'ssh -p 88022' user@serveurdistant:/undossier /un/dossier/destination
Astuces : Si c’est un hôte ssh auquel on se connecte souvent, on peut spécifier directement le port dans /etc/ssh_config en ajoutant les lignes
Host serveurdistant Port 88022
Installer des outils additionnels pratiques et un accélérateur PHP
apt-get install php-apc htop iptraf logwatch tiger
Editer le fichier de configuration d’apc pour définir la taille de la mémoire cache
nano /etc/php5/conf.d/apc.ini apc.shm_size=128
Avec htop on peut voir les informations systèmes d’une meilleur manière qu’avec top, avec iptraf on peut voir des statistiques temps réel sur les connexion, avec logwatch on peut recevoir un résumé par mail de fichiers de log et avec tiger il est possible de recevoir un mail périodique avec les failles de sécurité éventuelles.
Comme un grand nombre de scripts envoient un nombre important de mail à l’utilisateur root il est préférable de modifier l’alias root’s mail afin que ces derniers soient envoyé sur une adresse mail personnelle.
Pour ce faire il faut:
nano /etc/aliases
modifier la ligne root:root ou ajouter en une du type
root:server1@example.com
ensuite exécuter
newaliases
MySql tuning
Télécharger tuning-primer.sh et mysqltuner.pl.
Ces scripts aiderons à améliorer la configuration des fichiers MySql.
cd /root/scripts wget http://www.day32.com/MySQL/tuning-primer.sh wget http://mysqltuner.com/mysqltuner.pl chmod 700 tuning-primer.sh mysqltuner.pl
Pour exécuter ces scripts tapez:
perl /root/scripts/mysqltuner.pl /root/scripts/tuning-primer.sh
Ces scripts vont poser quelques questions simples (user/pass) et afficherons en rouge leurs suggestions pour les configurations critiques.
Il est possible d’utiliser ces suggestions pour améliorer les performances du serveur MySql.
Installation de Horde et Imp pour le webmal
Ajouter un fichier de configuration à Apache pour Horde /etc/apache2/conf.d/horde.conf
# HORDE Apache configuration
Alias /horde /usr/share/horde
#Alias /webmail /usr/share/horde
# virtualhost attrape tout (catchall) pour le sous domaine webmail.nomdedomaine.com
ServerName webmail.localhost
DocumentRoot /usr/share/horde
Options FollowSymLinks
DirectoryIndex index.php
Order deny,allow
Allow from all
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
# POUR HORDE SECU
order deny,allow
deny from all
order deny,allow
deny from all
order deny,allow
deny from all
order deny,allow
deny from all
order deny,allow
deny from all
order deny,allow
deny from all
# POUR IMP SECU
order deny,allow
deny from all
order deny,allow
deny from all
order deny,allow
deny from all
order deny,allow
deny from all
order deny,allow
deny from all
order deny,allow
deny from all
Sécurisé accès au webmail en forçant le HTTPS
nano /etc/apache2/conf.d/horde.conf
Remplacer la déclaration du virtual host dans le fichier /etc/apache2/conf.d/horde.conf par
# virtualhost attrape tout (catchall) pour le sous domaine webmail.nomdedomaine.com
ServerName webmail.localhost
DocumentRoot /usr/share/horde
# Forcer utilisation du https pour accès webmail
RewriteEngine on
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L]
ServerName webmail.localhost
DocumentRoot /usr/share/horde
ErrorDocument 400 "Sorry can't allow you access today"
#ErrorLog /var/log/apache2/error.log
#CustomLog /var/log/apache2/access.log combined
ServerSignature Off
SecRuleEngine Off
# SSL Configuration
SSLEngine On
SSLCertificateFile /usr/local/ispconfig/interface/ssl/ispserver.crt
SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/ispserver.key
Pour les projets reposant sur SymFony il faut ajouter des fonctionnalités à Apache/PHP
Le support de XSL de CURL et un accélérateur/optimisateur ici APC (si pas déjà installé)
aptitude install php5-curl php5-xsl php-apc
Pour les sites reposant sur OsCommerce (et oui il y en a encore, après tout tant que ça marche) il faut ajouter ceci dans les options du Site Web
php_admin_flag register_globals on php_admin_flag register_long_arrays on
Et pour eviter de retrouver dans les log tous les messages relatifs aux fonctions « deprecated » ou les « notice » il faut ajouter ceci en plus
php_admin_flag ignore_repeated_errors on php_admin_flag ignore_repeated_source on php_admin_flag error_reporting "E_ALL & ~E_DEPRECATED & ~E_NOTICE"
Je crois que tout y est là. bon courage…






Commentaires récents