Home » Debiantitle_li=Dediboxtitle_li=Système » Debian Dedibox : Installation de VHCS (LAMP)

Debian Dedibox : Installation de VHCS (LAMP)

Il y a peu, je faisais un comparatif des différents panels d’administration dans lequel VHCS m’était apparu comme l’un des bons acteurs de ce domaine. J’ai donc décidé de l’installer pour administrer mon propre serveur. Je vous présenterai ici en exemples et en images la progression de ma petite installation.

Un des avantages de VHCS sous debian est sa mise en place entièrement automatisée, ainsi à l’aide d’une simple commande nous verrons que VHCS installe « presque » tout ce qu’il faut pour obtenir un serveur LAMP (pas encore « LAMPROR » :( ) fonctionnel. Ensuite on passera une couche de mise à jour afin d’avoir des composants LAMP stables mais un peu plus à jour !

Première étape : connexion SSH

Avant tout il faut se connecter en SSH à votre petit serveur dont vous avez récemment changé le port d’écoute si vous avez suivi mon précédent article :

$ ssh user@sd-XXXX.dedibox.fr -p YYYY
XXXX représente ici votre numéro dédibox et YYYY votre nouveau port d’écoute SSH. On passe ensuite en mode super-utilisateur :

$ su

Jusque là rien de bien compliqué, le reste est un peu plus long mais pas plus difficile.

Mise à jour des dépots

Il est donc nécessaire d’éditer les dépots actuels de votre dédibox afin d’y ajouter ceux de VHCS. Pour cela il faut tout d’abord ouvrir le fichier sources.list.

vi /etc/apt/sources.list

Et faire en sorte d’y ajouter les dépots VHCS :

#Debian Dedibox deb http://debian-mirror.dedibox.fr/debian/ stable main deb-src http://debian-mirror.dedibox.fr/debian/ stable main deb http://security.debian.org/ stable/updates main #VHCS deb http://apt.scunc.it/ sarge main deb-src http://apt.scunc.it/ sarge main

Procéder enfin à la mise à jour de votre liste de dépot :

apt-get update

Installation préalable de MySQL

Afin que VHCS puisse être correctement configuré, il est préférable d’installer MySQL avant VHCS.

apt-get install mysql-server mysql-client

00_mysql

MySQL est installé sans mot de passe Root, il faut donc en spécifier un pour des raisons de sécurité.

mysqladmin -u root password nouveaumotdepasse

Ok, passons maintenant à VHCS.

Installation de VHCS en images

Pour lancer l’installation, rien de plus simple, un traditionnel apt-get fera l’affaire, l’étoile dans la commande ci dessous indique à apt d’installer tout les paquets commençant par « vhcs » :

apt-get install vhcs*

Une fois l’installation acceptée, c’est debconf qui prends le relai, vous pourrez ainsi configurer petit à petit votre système. Les images parlent le plus souvent d’elles mêmes, je ne mettrai donc pas de commentaire dans la série d’image qui va suivre… Plusieurs mots de passes vous seront demandé, je vous conseille de bien les spécifier, de les noter sur un papier et à nouveau d’utiliser des mots de passes forts.

Postfix :

01_postfix1
02_postfix2
03_postfix3
04_postfix4
05_postfix5
06_postfix6

ProFTP

07_proftpd1

Courrier-base

08_courrier-base1

VHCS

09_vhcs1
10_vhcs2
11_vhcs3
12_vhcs4
13_vhcs5
14_vhcs6
15_vhcs7
16_vhcs8
17_vhcs9
18_vhcs10
19_vhcs11
20_vhcs12
21_vhcs13
22_vhcs14
23_vhcs15
24_vhcs16
25_vhcs17

Il s’en suit une petite étape de configuration lors de laquelles vous aurez probablement à répondre aux questions ci dessous. Cela consiste à remplacer certains fichiers de configuration, il faut donc répondre Y (pour YES) a moins de bien savoir ce que vous faites.

*** crontab.conf.4762 (Y/I/N/O/D/Z) [default=N] ?Y *** main.cf (Y/I/N/O/D/Z) [default=N] ?Y *** master.cf (Y/I/N/O/D/Z) [default=N] ?Y *** authdaemonrc (Y/I/N/O/D/Z) [default=N] ?Y *** proftpd.conf (Y/I/N/O/D/Z) [default=N] ?Y 

Ouf ! Nous voila « presque » rendu. Nous avons maintenant une plateforme LAMP fonctionnelle administrable par VHCS… Il vous suffit de vous rendre sur http://sd-XXX.dedibox.fr/vhcs2 pour accéder à votre fraîche installation ! Le tout est fonctionnel mais pas tout à fait à jour, nous allons voir comment remédier à cela :

Mise à jour LAMP

La force de la débian réside dans son système d’approbation des paquets, ainsi avant d’être accepté comme stable, un paquet doit subir une multitudes de tests ce qui abouti souvent à un décallage assez important entre « la version officielle debian » et « la dernière version stable en date » du même paquet… Pour remédier à ce phénomène débian, il existe plusieurs solutions.

Il est alors possible de passer dans une version « moins stable » de debian (la testing) ou encore sur une version carrément pas stable (unstable). Le problème alors c’est que certains paquets peuvent réellement comporter des failles dans ces versions de débian.

Une bonne alternative est donc de passer par Dotdeb qui propose sous forme de dépot des versions à jour des composants d’un système LAMP sans pour autant fournir des paquets instables. C’est la solution que j’ai choisie pour « facilement mettre jour la plateforme LAMP.

Nouvelle édition des sources pour y ajouter le dépot Dotdeb (stable) :

vi /etc/apt/sources.list

#Debian Dedibox deb http://debian-mirror.dedibox.fr/debian/ stable main deb-src http://debian-mirror.dedibox.fr/debian/ stable main deb http://security.debian.org/ stable/updates main #VHCS deb http://apt.scunc.it/ sarge main deb-src http://apt.scunc.it/ sarge main #Dotdeb deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all

Edit #1 : Il faut mettre à jour sa liste de paquets juste après !

apt-get update

Après cela, lancer la commande suivante qui grâce aux dépendances devrait mettre votre sytème LAMP totalement à jour :

apt-get install libapache2-mod-php4 libdbd-mysql-perl php4 php4-mcrypt php4-pear mysql-server -V

Une nouvelle série de question vous sera posée, ces fichiers n’étant pas les mêmes que ceux modifiés par VHCS, vous pourrez répondre par l’affirmative sans trop de risque :

*** mysql (Y/I/N/O/D/Z) [défaut=N] ? Y *** mysql-server (Y/I/N/O/D/Z) [défaut=N] ? Y *** debian-start (Y/I/N/O/D/Z) [défaut=N] ? Y

Voila, votre débian est donc administrable par VHCS et « à jour ». Elle n’est pas pour autant prête à être utilisée comme un serveur de production en l’état…

Edit #2 :
Suite aux mises à jour dotdeb, la connexion au webmail est impossible :

ERROR (2): Header may not contain more than a single header, new line detected. (/var/www/vhcs2/gui/tools/webmail/inc/inc.php:155)

Il faut alors éditer le fichier /var/www/vhcs2/gui/tools/webmail/inc/inc.php

$ vi /var/www/vhcs2/gui/tools/webmail/inc/inc.php

et remplacer (~ ligne 153) le code suivant :

Header("Expires: Wed, 11 Nov 1998 11:11:11 GMTrn". "Cache-Control: no-cachern". "Cache-Control: must-revalidate");

par

Header("Expires: Wed, 11 Nov 1998 11:11:11 GMT"); Header("Cache-Control: no-cache"); Header("Cache-Control: must-revalidate");

Edit #3 :

Le serveur MySQL passe en version 5.X après la mise à jour dotdeb, ce qui implique un changement de structure pour la gestion de la base « mysql » en elle même. (Gestion des user, droits, etc…)
Il faut donc lancer un script pour fixer ce changement :

$ mysql_fix_privilege_tables –password=votre_pass_root_mysql

Tout devrait alors rentrer dans l’ordre !

Que faire ensuite ?

VHCS est installé, la dédibox n’est pas pour autant prête a accueillir des sites sur le champs, effectivement nous n’avons abordé aucun point de sécurité au cours des différents articles…

A venir donc dans les prochains épisodes :
- Installation Antivirus Mail & AntiSpam (ClamAV & Spam Assassin)
- Installation de Awstat (+ intégration à VHCS)
- Utilisation de SSL (https plutôt que http) pour le panel et le webmail.
- Mise en place d’un firewall Iptable.
- Installation de RubyOnRails en FastCGI…

36 thoughts on “Debian Dedibox : Installation de VHCS (LAMP)

  1. J’ai effectivement fait un oubli ;)
    Juste après l’ajout des sources Dotdeb il faut mettre à jour sa liste de paquets…

    # apt-get update

    J’espère que cela résoudra ton problème !

    NB : Je viens de tester ISPconfig, il a l’air pas mal mais vraiement pas ergonomique, du coup je suis de retour sur VHCS, j’en ai profité pour tester la procédure de A à Z et je n’ai aucun soucis. ISPConfig propose des comptes ssh par utilisateur, ce que ne propose pas VHCS…

  2. Comme toi, nous venons d’acquérir une dédibox mes amis et moi, et tes tutos se sont révellés bien utiles.

    Cependant, étant addicted à Dotclear2, nous avons besoin de php5. Comment faire cohabiter VHCS et php5?

    Encore merci pour tout ce que tu fais.

  3. Je mets un peu en standby VHCS en ce moment car il ne me convient pas totalement. Il lui manque des fonctionnalités primordiales à mes yeux dont un accès SSH par utilisteur, la gestion des « repository » SVN ou encore la sécuristation SSL.

    Je vais donc faire des tests sur alternC un autre panel d’admin, vraiement pas joli mais plus prometteur sur le papier…

    Concernant VHCS & PHP5, c’est assez simple, il y a plusieurs façons de faire. Je ferai un article avant de vraiement commencer mes tests sur alternC afin d’aller un peu plus loin sur l’utilisation de VHCS.

  4. _Me voilà de retour sous VHCS après une brève excursion un peu décevante sous AlternC. Cela n’engage que moi mais je le trouve un peu « out of date » au niveau interface, applicatifs et gestion des fichiers de configuration._

    Correction d’une erreur :
    Suite aux mises à jour dotdeb, la connexion au webmail est impossible :

    ERROR (2): Header may not contain more than a single header, new line detected. (/var/www/vhcs2/gui/tools/webmail/inc/inc.php:155)

    Il faut alors éditer le fichier /var/www/vhcs2/gui/tools/webmail/inc/inc.php

    $ vi /var/www/vhcs2/gui/tools/webmail/inc/inc.php

    et remplacer (~ ligne 153) le code suivant :

    Header(« Expires: Wed, 11 Nov 1998 11:11:11 GMTrn ».
    « Cache-Control: no-cachern ».
    « Cache-Control: must-revalidate »);

    par

    Header(« Expires: Wed, 11 Nov 1998 11:11:11 GMT »);
    Header(« Cache-Control: no-cache »);
    Header(« Cache-Control: must-revalidate »);

    NB : Je mets à jour l’article dans la foulée…

  5. Nouvel errata, suite à la mise à jour Dotdeb, MySQL passe en version 5.x …
    Il est donc recommandé de lancer un script qui fixera les privilèges (base de donnée « mysql ») après la mise à jour :

    $ mysql_fix_privilege_tables –password=votre_pass_root_mysql

    NB : Article mis à jour.

  6. Excellent travail qui permet au débutant que je suis de m’en sortir.
    Un bon tuto est tuto qui marche, le votre est très bon.
    Continuez comme ça !

  7. Erwin, ce n’est pas très compliqué de mettre PHP5 à la place de PHP4… Par contre si ton but est d’utiliser à la fois PHP4 et PHP5 c’est un peu plus « coton »…

    Avec VHCS, PHP4 est installé sous forme de module, je n’ai rien testé dans ce que je vais te dire mais si dans l’étape de « Mise à jour LAMP » tu remplaces la ligne suivante :

    # apt-get install libapache2-mod-php4 libdbd-mysql-perl php4 php4-mcrypt php4-pear mysql-server -V

    par

    # apt-get install libapache2-mod-php5 libdbd-mysql-perl php5 php5-mcrypt php5-pear mysql-server -V

    … cela devrait _peut être_ remplacer simplement php4 par php5 ! _(Si tu tentes tiens moi au courant…)_

    Dans l’autre cas (celui ou tu veux avoir PHP4 et PHP5) il te faut laisser PHP4 en module et ajouter PHP5 en CGI… (une petite requete sur PHP5 CGI et VHCS sur l’ami Google devrait te donner quelques bon résultats!)

  8. Je dois surement être le seul à qui ca arruve mais lorsque je valide toute les question par Y (dans VHCS avant mise à jour de LAMP) , j’ai ces méssage d’érreur:

    d’abord:
    ERROR 1045: Access denied for user: ‘vhcs2@localhost’ (Using password: YES)
    E: E: Can’t update database structure: 256

    et aprés:
    Des erreurs ont été rencontrées pendant l’exécution :
    vhcs-lang-cn
    vhcs-lang-de
    vhcs-lang-en
    vhcs-lang-fi
    vhcs-lang-it
    vhcs-lang-nl
    vhcs-lang-pt-br
    vhcs-lang-ru
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    J’accède bien à l apage http://sd-xxxx.dedibox.fr/vhcs2 mais impossible de se logger .
    J’ai biensûr rééssayer 3-4fois mais toujours pareil :(
    ( avnt même que je puisse utiliser les pquets php5)

  9. Oui j’ai bien spécifier un mots de passe, j’ai même éssayer de mettre le même mots de passe que le root de mysql. J’ai aussi installer phpmyadmin et j’arrive bien à rentrer dans mysql.

    J’ai fait au total une 10zaines d’install en suivant ton tuto et un autre que j’ai trouver sur vhcs.net, mai stoujours ce m^me problème.

    Faut t’il spécifier un un nouvel User et mots de passe ( mysql pour vhcs) ou utiliser ceux du root??

    Merci

  10. As tu formatté ton serveur entre tes installations ?

    Si oui ça me parait bizarre car j’ai refait les manips une bonne dizaine de fois depuis et je n’ai pas eu de problèmes…

    Si non, ca peut venir de la… Tu aurais dans ce cas une mauvaise configuration existante que VHCS ne peut pas changer…

  11. Oui j’ai reformater, je suis chez dédibox également, ( sans l’option raid).
    Entre chaque install j’ai procéder à une réinstall de débian sarge.

    Parcontre j’ai installer la version par défaut de vhcs ( ubuntu) et sa passe sans problème.

    Je vais reéssayer ce soir.

    Merci de ton aide.

  12. J’ai changer de dédiboite et comme par magie ça fonctionne.
    J’ai fait un test avec le php5 sa supprime vhcs :(
    On m’a conseiller de mettre le php5 en cgi, car vhcs n’est pas fait pour tourner sous php5.
    Merci pour ton tuto Pierre!

  13. C’est une bonne nouvelle que ça fonctionne !

    Concernant php5, merci pour le feedback. L’installation en CGI est un peu moins performante que l’installation sous forme de module mais elle te permettra d’avoir PHP4 & PHP5 en parallèle. Bonne chance pour ton install !

  14. Qu’entends tu pars moins performante? Car je suis obliger de l’installer comme çelà car certaines fonction de vhcs ne support pas php5 . Je ccherche justement un tuto pour pouvoir intéger le php5 en cgi, y’en à pas des masse sur le web.

  15. L’installation en CGI est « un peu » plus lente car dans ce mode la, à chaque requete, un processus different de php5-cgi sera lancé… Je ne pense pas que la différence soit mesurable pour de petits sites entre une version CGI et une version module, par contre dès qu’il s’agit de faire tourner des CMS open source un peu lourd (tel que EzPublish par exemple) la différence est nette.

    Ensuite pour ce qui est des fonctions non supportées par VHCS pour PHP5 (en module), c’est une rumeur, je l’ai déjà testé et cela a très bien marché, il y a juste 3 lignes à modifier, mais ce n’est pas dans VHCS c’est dans le webmail et c’est celles la :

    # vi /var/www/vhcs2/gui/tools/webmail/inc/inc.php

    Remplacer ça :

    Header(« Expires: Wed, 11 Nov 1998 11:11:11 GMTrn ».
    « Cache-Control: no-cachern ».
    « Cache-Control: must-revalidate »);

    par ça :

    Header(« Expires: Wed, 11 Nov 1998 11:11:11 GMT »);
    Header(« Cache-Control: no-cache »);
    Header(« Cache-Control: must-revalidate »);

    Sinon, pour installer PHP5 en CGI tu peux essayer ça :

    Installation des paquets :

    # install php5-cgi php5-mysql

    Activation du module apache qui permettra de faire le choix entre PHP4 et PHP5 :

    # a2enmod actions

    Redémarrage d’apache :

    # /etc/init.d/apache2 restart

    Ensuite une fois que tu auras créé un site avec VHCS (en activant le support CGI), si tu veux activer PHP5 pour ce site, il te faudra te connecter (soit en ftp soit en ssh) et créér le fichier suivant à la racine des documents web du site (de mémoire c’est htdocs, mais je n’ai plus VHCS pour vérifier…) :

    # vi /var/www/sitecréé.com/htdocs/.htaccess

    avec cela à l’intérieur :

    AddHandler x-httpd-php5 .php
    Action x-httpd-php5 /cgi-bin/php5

    pour tester que cela marche bien il suffit de crééer un fichier index.php à la racine :

    # vi /var/www/sitecréé.com/htdocs/index.php

    avec ceci à l’intérieur :

    Ensuite il faut se rendre sur le site créé à l’aide de ton navigateur, et tu devrais voir une page d’information sur PHP5.

    NB : Il ne faut pas oublier d’activer le support CGI à la création du site sous VHCS. _(En espérant que cela ajoute les bonnes informations au fichier de configuration, dans tous les cas si tu testes, tiens moi au courant, ça devrait pas être loin de fonctionner…)_

  16. Je n’ai pas installer php5 en cgi masi en module, j’ai suivi ces deux tuto :
    http://vhcs.net/new/modules/newbb/viewtopic.php?topic_id=5985&forum=17
    pour php5 et pour l’insatall de vhcs celui-çi:
    http://www.generation-linux.net/article.php3?id_article=15

    Là je test mais apparement tout fonctionne.
    J’ai juste ce méssage d’érreur lors du reboot d’apache:

    Reloading web server config…[Tue Jul 18 09:08:03 2006] [warn] The Alias directive in /etc/apache2/sites-available/vhcs2.conf at line 13 will probably never match because it overlaps an earlier Alias.
    [Tue Jul 18 09:08:03 2006] [warn] The Alias directive in /etc/apache2/sites-available/vhcs2.conf at line 26 will probably never match because it overlaps an earlier Alias.
    apache2: Could not determine the server’s fully qualified domain name, using 88.191.xx.xxx for ServerName
    [Tue Jul 18 09:08:03 2006] [warn] NameVirtualHost 88.191.xx.xxx:80 has no VirtualHosts
    done.

    Jene sais pas éxactement qu’elle est le problème car c’est ligne corréspondante à l’alias /vhcs2 …. :s

  17. Bonjour
    quand j’essaye d’installer mysql-server et client j’ai ces 3 lignes

    [QUOTE]Paramétrage de mysql-client (4.0.24-10sarge2) …
    Paramétrage de mysql-server (4.0.24-10sarge2) …
    Stopping MySQL database server: mysqld.
    Starting MySQL database server: mysqld.
    Checking for crashed MySQL tables in the background.
    [/QUOTE]

    et quand je commence l’instalation de VHCS ca me donne
    [QUOTE]
    E: Impossible de trouver le paquet vhcs_dump.sql
    [/QUOTE]

    pouvez vous m’aidé?

  18. Pour le problème de la page blanche, je l’ai déjà rencontré lors de mes divers tests d’install/reconfig/reinstall.
    ça peut être un pb de connection mysql, mais le problème c’est que vhcs n’affiche aucune erreur par défaut.

    Tu peux aller éditer
    /var/www/vhcs2/gui/include/vhcs-lib.php
    et décommenter error_reporting(E_ALL);
    pour avoir une idée de ce qui pose problème.

  19. Au fait, hAnI, le message que tu as lors de l’install de mysql me semble normal.
    Un truc qui peut t’aider aussi, relancer la config du paquet vhcs.
    De mémoire, ça doit être qqchose comme « dpkg-reconfigure vhcs »

  20. Nico, merci pour tes réponses. Pour l’avoir testé une fois, le dpkg-reconfigure marche effectivement mais il te propose par défaut beaucoup plus de réglages qu’une installation classique de vhcs (de mémoire). Il doit y avoir un moyen de spécifier le niveau du « dpkg-reconfigure » …

  21. bonjour et merci pour ce tuto remarquable,
    j’ai une petite question, apres un apt-get update, pourquoi ne faisons-nous pas un apt-get upgrade?

  22. Steeve > tu peux le faire si tu veux, ici le « apt-get update » m’a servi à mettre à jour la liste des paquets après l’ajout de nouvelles sources. (Il est fort possible d’ailleurs que le « upgrade » mette à jour certains paquets venant des dépots sécurité debian.)

  23. très bon article mais une correction de bug qu’il faut ajouter à la fin de vos procédures

    http://nuxwin.com/articles/view.php/7

    Par ailleurs le problème de gestion des DNS n’est loin pas réglé après cette installation.

    Je dois dire que, n’étant pas un professionnel, je trouve les docs à ce sujet très dispersées. Dedibox aurait du écrire des tutoriels « premiers pas »

    Je crois que je vais laisser tomber VHCS ISPConfig et Plesk pour écrire les fichiers de conf à la main.

  24. Bonjour

    Excusez moi de vous déranger mais j’ai un problème..
    Lorsque je fais ça:
    apt-get install libapache2-mod-php4 libdbd-mysql-perl php4 php4-mcrypt php4-pear mysql-server -V

    Il me répond par ça:

    ns28091:~# apt-get install libapache2-mod-php4 libdbd-mysql-perl php4 php4-mcrypt php4-pear mysql-server -V
    Lecture des listes de paquets… Fait
    Construction de l’arbre des dépendances… Fait
    libdbd-mysql-perl est déjà la plus récente version disponible.
    Certains paquets ne peuvent être installés. Ceci peut signifier
    que vous avez demandé l’impossible, ou bien, si vous utilisez
    la distribution unstable, que certains paquets n’ont pas encore
    été créés ou ne sont pas sortis d’Incoming.
    L’information suivante devrait vous aider à résoudre la situation :

    Les paquets suivants contiennent des dépendances non satisfaites :
    libapache2-mod-php4: Dépend: libc6 (>= 2.3.6-6) mais 2.3.2.ds1-22sarge3 devra être installé
    Dépend: libdb4.4 mais il n’est pas installable
    Dépend: libkrb53 (>= 1.4.2) mais 1.3.6-2sarge5 devra être installé
    Dépend: libssl0.9.8 (>= 0.9.8c-1) mais il n’est pas installable
    mysql-server: Dépend: mysql-server-5.0 mais ne sera pas installé
    php4-mcrypt: Dépend: libc6 (>= 2.3.6-6) mais 2.3.2.ds1-22sarge3 devra être installé
    php4-pear: Dépend: php-pear mais ne sera pas installé
    E: Paquets défectueux

    Je suis sur un serveur dedié d’ovh…

    Merci d’avance,
    L.

  25. Récemment Debian a changé de version stable (ou version majeure), ainsi un grand nombre de paquets a été mis à jour. Php4 n’est plus dans la distribution au profit de php5, remplacez le 4 par le 5 et cela devrait foncitonner.

    Il faut cependant faire attention à VHCS qui doit aussi être modifié (de mémoire) pour fonctionner avec php5…

Comments are closed.