Bonjour à tous,

 

Aujourd’hui, on va voir comment configurer votre Vps Ovh pour avoir une installation de Debian 7 complètement fonctionnelle avec un webpanel Isp Config 3.

 

Tout d’abord, ce tutoriel est adapté de l’installation d’ Isp Config 3 sur Debian 7 mais avec Apache .Ce tutoriel est fait pour avoir une installation brute de php/mysql sans mail, et avec memcached.

 

Si vous n’avez pas Debian 7, cette procédure est à vos risques et périls, et votre serveur pourrait mal finir en cas de mauvaise manipulation, et vous pourriez finir comme ça en cherchant ce qui a poser problème :

cat-jumps-off-ledge

 

Mettre à jour Debian

 

On va commencer par mettre la liste des sources de Debian à jour, pour ce faire, tapez la commande suivante

nano /etc/apt/sources.list

 

Et ajoutez ces sources après le repository officiel d’OVH

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

 

 

Lancez maintenant la commande

apt-get update && apt-get upgrade

 

pour mettre à jour votre installation

 

Installer MySql, RKHunterm et Binutils

 

Lancez simplement cette commande

apt-get install mysql-client mysql-server openssl rkhunter binutils

 

Le programme d’installation de MySql vous demandera un mot de passe root pour MySql, notez le bien !

 

On veut que MySql tourne sur toutes les interfaces et pas uniquement LocalHost, on va donc modifier le fichier de configuration MySql pour y commenter une ligne

nano /etc/mysql/my.cnf

 

Commentez maintenant la ligne bind Address

[...]
# 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
[...]

 

Relancez MySql, et vérifiez qu’il communique bien sur le réseau

service mysql restart
netstat -tap | grep mysql

 

Le log devrait vous donner ceci :

root@server1:~# netstat -tap | grep mysql
 tcp        0      0 *:mysql                 *:*                     LISTEN      26757/mysqld
 root@server1:~#

 

Installer ClamAv ( Antivirus ) et accesoires

 

Lancez cette commande

apt-get install 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

 

Avec tout ça on à déjà fait un bon bout de chemin

 

Installer Nginx, PHP-FPM, fcgiwrap et les différents modules php.

Lancez cette commande

apt-get install nginx php5-fpm 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 fcgiwrap memcached

 

Maintenant, modifiez la configuration PHP Fpm pour mettre votre timezone et faire correspondre la variable « cgi.fix_pathinfo » a 0 :

 

nano /etc/php5/fpm/php.ini
[...]
 cgi.fix_pathinfo=0
 [...]
 date.timezone="Europe/Paris"
 [...]

 

Maintenant, redémarrez le service FPM :

service php5-fpm restart

Installer PureFTPd

apt-get install pure-ftpd-common pure-ftpd-mysql

 

Modifiez sa configuration

nano /etc/default/pure-ftpd-common

 

Vérifiez que le démarrage soit en STANDALONE et que virtualchroot soit sur TRUE

[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

 

On va maintenant autoriser les sessions par TLS pour plus de sécurité

echo 1 > /etc/pure-ftpd/conf/TLS
mkdir -p /etc/ssl/private/

 

On va maintenant générer un certificat SSL dans le dossier que l’on vient de créer

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

 

Changez les permissions du certificat

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

 

Redémarrez le serveur FTP

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

 

Installer Bind9 ( serveur dns )

apt-get install bind9 dnsutils

 

Installer Jailkit

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 binary

 

Vous pouvez maintenant installer le package .deb comme ceci :

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

 

Installer Fail2Ban

apt-get install fail2ban

 

Pour que Fail2Ban surveille le serveur Ftp, créer le fichier jail.local

nano /etc/fail2ban/jail.local

 

et remplissez le avec ceci :

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

Créez maintenant le filtre pureftpd

nano /etc/fail2ban/filter.d/pureftpd.conf

 

et remplissez le comme ceci :

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

 

redémarrez Fail2Ban

/etc/init.d/fail2ban restart

 

Installer IspConfig 3

Pour avoir la dernière version stable, faites ces commandes :

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

 

lancez maintenant cette commande

php -q install.php

 

Suivez les instructions de l’installateur, mais lorsqu’il vous laissera le choix entre l’installation standard et expert, choisissez expert

Select language (en,de) [en]:
Installation mode (standard,expert) [standard]: expert

 

Lorsqu’il vous demandera pour la configuration des mails, il faudra lui répondre non, car nous n’avons pas installé postfix.

Configure Mail (y,n) [Y]: n

 

Vous pouvez laisser tous les autres paramètres par défaut

Une fois l’installation terminée, redémarrez votre serveur avec la commande

reboot

 

Votre webpanel sera ensuite accessible à cette adresse : https://[VOTREIP]:8080/

Les identifiants par défaut sont : admin/admin

 

Si vous avez des problèmes avec WordPress, je vous conseille de consulter cet article : http://www.linuxtutorial.co.uk/ispconfig3-nginx-wordpress/