Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.
Procédure mise à jour en Avril 2014
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é du dossier The Perfect Server – Debian Wheezy de How To Forge.Ce tutoriel est fait pour avoir une installation brute de php/mysql sans mail, et sans opcode.
Si vous n’avez pas de vps chez Ovh ou plus spécifiquement Debian 7, cette procédure est à vos risques et périls, et votre serveur pourrait mal finir en cas de mauvaise manipulation.
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 Apache2, PHP5, FCGI, suExec, Pear, And mcrypt
Lancez cette commande
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 php5-cli php5-cgi 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 php5-curl php5-intl php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Vous allez devoir répondre à cette question :
Web server to reconfigure automatically: <-- apache
Maintenant, exécutez ces deux commandes pour activer tous les modules Apache
a2enmod suexec rewrite ssl actions include
a2enmod dav_fs dav auth_digest
Puis on va modifier la configuration de SuPhp
nano /etc/apache2/mods-available/suphp.conf
Commentez la section
<FilesMatch "\.ph(p3?|tml)$">
et ajoutez la ligne
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
Ce qui vous donnera
<IfModule mod_suphp.c> # <FilesMatch "\.ph(p3?|tml)$"> # SetHandler application/x-httpd-suphp # </FilesMatch> AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp
Redémarrez Apache
service apache2 restart
Installer PHP-FPM et mod fastcgi
apt-get install libapache2-mod-fastcgi php5-fpm
Vérifiez que le module est démarrer et redémarrez Apache
a2enmod actions fastcgi alias service apache2 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 une erreur avec le protocole https de ce genre
107 (net::ERR_SSL_PROTOCOL_ERROR) or ssl_error_rx_record_too_long
Lancez cette commande
a2ensite default-ssl
Et voilà, votre serveur est fin prêt !!!
Merci pour ce superbe article.
J’ai pu installer mon vps du premier coup grace à ce tuto.
Par contre, je suis interessé par l’installation de postfix.
Peut-on l’installer après-coup.
Si oui comment re-configurer ISPConfig.
Sinon a quel moment l’installer. (Dsl je suis grand débutant en configuration de serveur VPS).
Bien du coup j’ai trouvé tout seul, en lisant le lien anglais que vous avez donné. J’ai trouvé les packages à installer. Ensuite j’ai fouillé le dossier install de ISPConfig.
J’ai désinstallé grâce à uninstall.php puis j’ai recommencé la config.
A noter qu’il existe un fichier update.php qui permet de mettre à jour la config, mais dans mon cas il ne voulait pas me configurer Postfix et Dovecot
Bonjour Nicolas et merci pour ton tuto ! Je « m’amuse » sur un VPS chez OVH depuis quelques temps et suite à une mauvaise manip sur un chmod récursif (grosse boulette) j’ai réinstallé mon VPS sous Debian 7 en 64 bits et suivi de nouveau ton tuto. J’ai ensuite recréé mon site via ISP (site, utilisateur BDD et BDD) puis réuploadé mes fichiers de mon dernier back-up propre et réimporté ma bdd propre. Le site fonctionne bien (un WordPress), sauf que j’ai désormais un problème de permission sur les fichiers lorsque je veux mettre à jour le CMS ou ajouter un… Voir plus »
Salut,
Alors pour commencer, un chmod récursif c’est bon pour pourrir un WordPress quasi-définitivement.
Regarde cet article pour remettre les bons chmods mais je ne te promets rien. Pour moi il faut mieux repartir sur un backup correct ou une installe neuve 😉
http://www.smashingmagazine.com/2014/05/08/proper-wordpress-filesystem-permissions-ownerships/
C’est bien ce que je me disais, intéressant cependant ton article sur Smashing Mag ! Mon problème, c’est que j’étais déjà reparti sur une nouvelle installation et un backup propre (une semaine avant ma boulette) mais maintenant ce sont mes permissions et MySQL qui plantent ^^ Bref, je vais tout réinstaller à nouveau, ça ne fera pas de mal ! Merci pour ton retour 🙂
Article mis à jour le 6 Avril 2014
Bonjour et merci pour cette contrib.
Pour debian 6 ou puis je trouver un Tuto ?
Merci
Hello 🙂
Voilà ton bonheur -> http://www.howtoforge.com/perfect-server-debian-squeeze-debian-6.0-with-bind-dovecot-and-nginx-ispconfig-3