Aujourd’hui, il est possible de monter son propre « serveur » web pour deux euros par mois, à ce prix là, ne vous attendez pas à des performances de folie, par contre c’est un bon moyen de mettre un pied dans la gestion de serveur web.

Je me répéte sans doute pour la quinzième fois, mais je reste persuadé que la qualité numéro un d’un SEO est sa curiosité. Le référenceur est la pièce centrale dans un projet web, il est souvent amené à donner des recommandations aux autres parties du projet : développeur, admin système, intégrateur, designer, rédacteurs… il est donc primordial d’avoir des notions dans chacun de ses métiers du web. (ne serait-ce que pour éviter de se faire rouler dans la farine par un développeur flemmard).

Le VPS OVH

On ne présente plus OVH, leader français de l’hébergement web, proposant du mutualisé, du vps, du dédié, de la téléphonie et même une offre ADSL… Personnellement, je privilégie des solutions telles que Planethoster ou O2switch pour du « simple » hébergement mutualisé. Leur interface Cpanel respectives étant beaucoup plus  performantes que le manager d’OVH. Mais bref’, je m’égare, aujourd’hui le sujet est le VPS d’OVH, littéralement « virtual private server ».

Grosso modo, OVH scinde un serveur en plusieurs sous serveurs ayant chacun ses propres ressources (cpu, ram, dd). Je suis loin d’être un as dans ce domaine, donc n’hésitez pas à me reprendre en commentaire!

Installer un serveur web sur son VPS cloud OVH

Une fois commandé, vous retrouverez dans votre boite mail le nom du vps (vpsXXXXX.ovh.net), son adresse IP et les logins roots. Pour ce tutoriel, j’ai choisi la version 7 de Debian. OVH propose aussi une release clé en main basée sur Centos.

Attention, ce tutoriel est vraiment basique, je le complèterais plus tard, notamment sur les aspects sécurité (fail2ban etc…).

Connexion au serveur

Première étape : vous connecter à votre serveur en SSH. (putty sur windows, ou dans mon cas le terminal sous Mac Os).

ssh root@IPDUVPS

Saisissez le mot de pass root reçu par mail, puis on lance les mises à jour du système :

apt-get update
apt-get upgrade

Vous pouvez en profiter pour modifier le mot de passe root :

passwd root

On installe un éditeur de fichier, pour ma part VIM mais il en existe d’autres (nano etc…).

Installation du serveur

On commence par installer Apache (le serveur web).

apt-get install apache2

Puis Mysql, en choisissant le mot de pass pour l’utilisateur root:

apt-get install mysql-server mysql-client

Enfin, on installe PHP et ses différentes librairies (suivant vos besoins):

apt-get install php5 libapache2-mod-php5

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

Pour terminer, il est pratique d’installer également phpmyadmin pour gérer vos bases.

apt-get install phpmyadmin

Pour changer son chemin d’accés :

vi /etc/phpmyadmin/apache.conf

On finit en relançant les services/reboot

service apache2 restart

D’autres trucs sympas à activer :

a2enmod suexec rewrite ssl actions include

Votre serveur est maintenant prêt à accueillir vos fichiers. Si vous vous rendez à l’adressse vpsXXXX.ovh.net vous devriez voir le texte :

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

Installer un serveur ftp

Pour envoyer vos fichiers, il faut maintenant installer la « partie » FTP.

apt-get install proftpd

On choisit « indépendamment » à la question posée. Puis on modifie le fichier de configuration pour arriver sur /var/www en se connectant (Defaultroot à décommenter) :

/etc/proftpd/proftpd.conf

Pour ajouter un utilisateur :

adduser NOM

puis adduser NOM sudo

Donner les droits ftp à l’user :

Si vous n’avez pas besoin que PHP puisse modifier vos fichiers (de lui-même), donnez les droits à l’user uniquement (en le nommant propriétaire) :

chown -R USER /var/www

Dans le cas contraire, donnez les droits au groupe www-data (celui par défaut d’Apache), puis ajoutez l’user à ce groupe :

sudo chown -R www-data:www-data /var/www

puis :

sudo usermod -a -G www-data USER

sudo chmod -R g+rwX /var/www

Merci à Aurélie pour ce dernier élément.

Ajouter son nom de domaine

Faîtes pointer le champs A de votre domaine sur l’IP du serveur, puis configurer ce domaine :

cd /etc/apache2/sites-available

cp default nomdunouveausite

vi nomdunouveausite

on ajoute : ServerName et ServerAlias, on modifie le chemin.

a2ensite nomdunouveausite

service apache2 restart

Votre serveur est prêt (enfin du moins fonctionnel) ! maintenant il est grand temps de le sécuriser un minimum.

ps: un petit merci en commentaire fait toujours plaisir, à défaut d’un petit verre en terrasse…

This article has 26 comments

  1. Kearsan Répondre

    Hello ! Excellent guide, merci beaucoup 🙂 C’est la première fois que je passe sur un VPS et j’étais un peu perdu.

      • Kearsan Répondre

        Oui j’ai pris un VPS cloud chez OVH ! J’ai tout configuré comme tu l’as indiqué, j’arrive à me connecter via ftp 🙂

        En revanche je suis un peu perdu dans tous les dossiers du ftp, il me met par défaut dans /home/NOM, mais ça ne semble pas être le dossier vers lequel pointe mon adresse vpsxxxxxx.ovh.net

        Je n’arrive pas non plus à me rendre dans phpmyadmin !

        Je viens de 1and1 où j’avais également un VPS mais version « clé-en-mains », du coup tout était tellement plus simple 😀

        • SeoBordeaux Répondre

          Pour le ftp, tu dois modifier le fichier : /etc/proftpd/proftpd.conf
          en tapant « vi /etc/proftpd/proftpd.conf »
          Descend jusqu’à la ligne : #DefaultRoot
          Décommente là en enlevant le #, remplace le tilde par /var/www

          et redémarre le service : « service proftpd restart ».
          Logiquement ca devrait être bon?

  2. Kearsan Répondre

    Merci pour ton aide ! J’arrive à me servir de la touche suppr du clavier pour décommenter, mais les autres touches ont des fonctions bien particulière sous Putty il semblerait. Par exemple lorsque je veux remplacer le tidle je ne peux pas utiliser la touche « / » (qui me renvoie en bas de la fenêtre), lorsque je tape « v » ça me bascule en mode visuel, etc…

    J’ai vu que tu étais sous Mac alors je vais traîner mes guêtres un peu partout sur le web pour voir comment ça fonctionne sous Putty 🙂

    • SeoBordeaux Répondre

      Tu as bien installé vim ?
      Si oui, pour modifier le texte tu dois d’abord appuyer sur la touche « i » de ton clavier pour passer en mode insertion !
      Quand tu as finis ta modif, appuie sur échap puis tape :wq pour enregistrer (w) et quitter (q);

      • Kearsan Répondre

        Royal ! ça marche nickel ! Merci beaucoup pour cette aide précieuse 😀

        Je vais pouvoir commencer la migration de mon site vers OVH 🙂

        • Kearsan Répondre

          Ah oui une dernière question (désolé pour le double commentaire), comment accéder à phpmyadmin et créer une nouvelle db ?

          • Seo Bordeaux

            Pas de soucis, par défaut c’est :
            vpsXXX.ovh.net/phpmyadmin
            ou tonnomdedomaine.com/phpmyadmin

            Tu peux modifier ça en faisant « vi /etc/phpmyadmin/apache.conf »

  3. Kearsan Répondre

    C’est ce que je pensais, j’avais essayé vpsXXX.ovh.net/phpmyadmin mais ça me renvoie une erreur 404. Lorsque je consulte apache.conf l’alias est pourtant bien /phpmyadmin

    Je pense que de toutes façons je vais tout reprendre depuis le début pour faire les choses plus clairement et plus proprement, maintenant que j’ai mieux compris le fonctionnement 😀 Y’a-t-il un moyen de « réinitialiser » le VPS ? Pour tout reprendre sur une base saine.

    En tout cas merci encore, je vais ajouter ton blog dans la partie « À propos » de Blizzheart.com pour te remercier publiquement pour ton aide, et je n’hésiterai pas à parler de toi lorsque j’évoquerai ma migration sur OVH 🙂

      • Kearsan Répondre

        C’est bon en fait pour phpmyadmin il manquait une étape, j’ai dû taper la commande « nano /etc/apache2/apache2.conf » et ajouter la ligne « Include /etc/phpmyadmin/apache.conf » dans le fichier !

        Tout fonctionne à merveille maintenant 🙂

        • Kearsan Répondre

          Ah oui et petite coquille il n’y a pas de « s » à « service » dans la commande « service apache2 restart » ! 🙂 Je ne comprenai pas pourquoi ça ne fonctionnait pas lol

          • Seo Bordeaux

            Merci c’est corrigé !
            Je prépare un autre tuto pour sécuriser un minimum cette installation.

  4. www Répondre

    Re Bonjour, juste une petite question, et-il possible sur un VPS ovh de faire pointer plusieurs noms de domaines ? (chacun dans des répertoires différents bien entendu www, www-site2, www-site3, … )
    Et une autre question dont je n’ai pas trouvé réponse. Un VPS ovh à 2,90 par mois, (la première offre) ils ont bien une ip unique ? Cordialement

    • Seo Bordeaux Répondre

      Oui bien sûr pour ta première question, il suffit de répeter la procédure décrite dans « ajouter un nom de domaine ».

      A priori IP unique même pour le vps classic 1, par contre il me semble que l’on ne peut pas y ajouter d’ip supplémentaires.

  5. jcmazan Répondre

    Un grand merci pour ce tuto pas à pas, je n’avais absolument aucune expérience sur ce genre de serveur, j’étais plus habitué à du serveur mutualisé classique, et là j’ai dû passer à ce type de serveur pour une appli que j’ai développé pour mon boulot (dépot et retrait de gros fichiers – un dropbox maison).
    Je pense que sans ce tuto j’aurais eu beaucoup plus de mal…
    Merci encore !

  6. Stephane Répondre

    Meme apres un update et un upgrade, sur un VPS Cloud 2 sous Debian 7 ouvert hier, le package apache2 est introuvable.

    root@vpsxxxxxx:/home/stephane# apt-get install apache2
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package apache2

  7. Stephane Répondre

    I had forgotten to run the update command. My mistake. Previous comment can be scrapped.

  8. jazz00 Répondre

    bonjour, c’est genial ce que tu fais, je suis toute les étapes mais il y a quelquel chose qui me cloch, après tapé /etc/proftpd/proftpd.conf, il m’a dit permission no accordée portant je suis en ROOT

  9. Alexis Répondre

    Bonjour,
    J’ai fait sudo apt-get update et sudo apt-get upgrade, puis j’ai essayé d’installer MySQL avec sudo apt-get install mysql-server. L’installation commence, me demande le mot de passe pour root, que je tape et confirme, puis l’installation continue, jusqu’à ce qu’elle arrive à
    Renaming removed key_buffer and myisam-recover options (if present)
    La, elle s’arrête complètement. J’ai laissé la fenêtre SSH ouverte pendant une heure, en vain: l’installation est coincée, et Ctrl + C ne fait rien.
    Donc, j’ai juste fermé la fenêtre SSH et ais essayé de me connecter avec
    mysql -u root -p, ce qui me demande le mot de passe, puis il dit:
    Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
    Se fichier (/var/run.mysqld/mysqld.sock) n’existe même pas!

    Je n’ai rien sur mon VPS donc je l’ai réinitialisé, qu’est-ce qu’il faut que je fasse pour que l’installation MySQL marche correctement?

    Merci,
    /Alexis D.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée.