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…
Hello ! Excellent guide, merci beaucoup 🙂 C’est la première fois que je passe sur un VPS et j’étais un peu perdu.
Avec plaisir, tu as choisi quel type de VPS? du cloud également ?
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 😀
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?
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 🙂
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);
Royal ! ça marche nickel ! Merci beaucoup pour cette aide précieuse 😀
Je vais pouvoir commencer la migration de mon site vers OVH 🙂
Ah oui une dernière question (désolé pour le double commentaire), comment accéder à phpmyadmin et créer une nouvelle db ?
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 »
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 🙂
Tu peux réinitialiser ton vps dans ton manager OVH, tu as un bouton dans la sidebar de droite normalement !
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 🙂
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
Merci c’est corrigé !
Je prépare un autre tuto pour sécuriser un minimum cette installation.
Ah oui excellente idée l’article pour sécuriser le serveur ! Hâte de lire ça 🙂
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
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.
Merci pour ce tuto qui m’est très utile pour la migration de mon forum.
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 !
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
I had forgotten to run the update command. My mistake. Previous comment can be scrapped.
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
Vraiment un tip top article pour débuter sous ovh 🙂 Merci bien !
Salut!!!
Merci pour ce tuto…
Bonjour. Vos tutos m’ont été indispensables!! Merci beaucoup!!
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.