Héberger son site Web avec OVH

Dans ce tutoriel, je vous guide pour créer votre site Web hébergé par une machine Debian avec en bonus la création d'un serveur LAMP.

Pré-requis

I) Créer votre site web

Avant de vouloir mettre en ligne votre site, je vous conseille de le préparer avec un éditeur de texte adapté comme Visual Studio (https://code.visualstudio.com/Download), PhpStorm (https://www.jetbrains.com/phpstorm/) , etc

Afin de faire des tests en local, installez vous une base de donnée Wamp (http://www.wampserver.com/en/download-wampserver-64bits/)

Cela vous permettra de savoir a quoi ressemblera votre site une fois en ligne, donc amusez-vous a tester le plus de chose possible!


II) Acheter un serveur VPS

Pour avoir un serveur VPS, rendez-vous ici et choisissez l’offre qui correspond à vos besoins sur le site d'OVH.

Une fois le mail avec vos informations réceptionné, vous pourrez commencer.

image.png


III) Débuter avec le VPS

a) Se connecter au VPS

Pour vous connecter a votre VPS fraichement créé, lancer PuTTY ou n'importe quel autre logiciel de ce genre. La connexion se fait à l’aide de l’@IP publique et du port de base du SSH (port 22) de votre serveur renseignée dans le mail :

image.png

Pour vous y connecter avec un linux utilisez la commande :

ssh root@IPV4_VPS

Une fois que vous serez connecté, entrez les informations d'identifications fournies dans le mail reçu précédemment :

image.png


b) Changer le port de connexion au VPS

Lorsque vous serez connecté au VPS, mettez a jour les paquets du système :

apt update
apt upgrade

Puis changez le mot de passe du VPS :

passwd

Nous allons maintenant changer le port d'écoute du service SSH afin d'éviter des tentatives d'intrusions sur le serveur, rendez-vous dans le fichier de configuration de SSH avec l'éditeur de texte de votre choix (ici nano) :

nano /etc/ssh/sshd_config

Au début du fichier, retirez le # sur la ligne en surbrillance ci-dessous et mettez le port que vous souhaitez :

image.png

Redémarrez ensuite le service SSH : 

systemctl restart ssh.service

Pour vos futures connections au VPS, pensez a changer le port sur PuTTY :

image.png

Pareil si vous utilisez un linux : 

ssh root@IP_VPS -p VotrePort

c) Création d'un utilisateur avec les droits Admin

Nous allons a présent créer un utilisateur avec des droits restreints qui pourra se connecter au serveur et aura les droits SUDO :

adduser NomUser

Suite a la commande entrez les informations d'identification de ce nouvel utilisateur.

Testez si SUDO est bien installé : 

sudo ls -la /root

Si ce n'est pas le cas alors faite la commande : 

apt install sudo

Attribuez ensuite les droits :

usermod -aG sudo Nom_User 

Vous pouvez désormais effectuer des actions Root avec votre utilisateur!

Si vous souhaitez repasser avec l'utilisateur Root, utilisez la commande suivante :

su

d) Désactivation de l'accès SSH Root

Nous allons maintenant désactiver l'accès SSH a l'utilisateur Root, ouvrez de nouveau avec votre éditeur de texte le fichier :

nano /etc/ssh/sshd_config

Et commentez # la ligne PermitRootLogin yes :

image.png

Sauvegardez le fichier et redémarrez une nouvelle fois le service SSH :

systemctl restart ssh.service

Dans un futur chapitre nous sécuriseront l'accès encore + à l'aide d'un Firewall.

Création d'un serveur LAMP

I) Whats is LAMP?

L’acronyme LAMP désigne un ensemble de quatre technologies open source : un système d’exploitation Linux, un serveur web Apache, un système de bases de données MySQL et le langage de programmation PHP.
Ces technologies forment une pile vous permettant d’héberger vos sites ou applications web dynamiques, comme WordPress ou Drupal. LAMP est aujourd’hui la pile la plus utilisée pour héberger un applicatif web.


II) Préparation du serveur

a) Installation d'Apache

(et je ne vous parle pas d'Amérindiens)

sudo apt install apache2 apache2-doc

Vérifiez l'état service :

sudo service apache2 status

Après l'installation, ouvrez votre navigateur web et connectez vous a l'adresse IP de votre serveur http://IP_du_Serveur/ vous devriez tomber sur la page d'accueil d'Apache :

image.png

N'essayez pas de vous connecter en HTTPS (cela ne fonctionnera pas) car vous n'avez actuellement pas de certificat SSL.

Quelques commandes utiles :

systemctl start apache2 => démarer le service
systemctl stop apache2 => arrêter le servive
systemctl restart apache2 => redémarrer le service
systemctl enable apache2 => activer le démarrage automatique
systemctl disable apache2 => désactiver le démarrage automatique

b) Installation de PHP

sudo apt install php7.0-cli php7.0-common php7.0-curl php7.0-mbstring php7.0-mysql php7.0-xml

OU

sudo apt install php7.0

Nous allons vérifier la version de PHP installée, dans le répertoire /var/www/html éditez le fichier index.php :

sudo nano info.php

Dans ce fichier mettez : 

<?php
  phpinfo();
?>

Ouvrez de nouveau votre navigateur pour entrez l'adresse http://ip_du_serveur/info.php :

image.png


c) Installation de MariaDB

sudo apt install mysql-server

Lancez la commande suivante pour configurer les informations de base de votre BDD :

sudo mysql-secure-installation

Suivez les étapes, en changeant le mot de passe root de la BDD :

image.png

Désactivez les connections anonymes :

image.png

Désactiver la connexion à distance avec le root : 

image.png

Effaçons la base de données créée de base :

image.png

Enfin chargeons les nouveaux paramètres :

image.png

Connectez-vous a la base de donnée avec la commande :

sudo mysql -u root -p

Créez un utilisateur et une base de donnée (sinon vous ne pourrez pas vous connecter a PHPMyAdmin) :

CREATE USER 'YourUser'@'localhost' IDENTIFIED BY 'YourPasswd';
CREATE DATABASE Your_DB;
GRANT ALL ON * . * TO 'YourUser'@'%' IDENTIFIED BY 'password';

d) Installation de PHPMyAdmin

sudo apt install phpmyadmin

Dans les choix proposés, sélectionnez un serveur web à reconfigurer automatiquement :


Pour accéder a l'interface de PHPMyAdmin, finalisons la configuration du serveur Apache. Rendez-vous dans le fichier de configuration d'Apache avec votre éditeur de texte :

sudo nano /etc/apache2/apache2.conf

A la fin du fichier de configuration ajoutez la ligne suivante :

Include /etc/phpmyadmin/apache.conf

Redémarrez le service Apache :

sudo systemctl restart apache2

Ouvrez une nouvelle fois votre navigateur et entrez l'adresse http://IP_du_Serveur/phpmyadmin :

image.png

Vous pouvez maintenant vous connecter avec votre utilisateur créé dans la base de donnée créé plus tôt.

Bien joué. Vous savez maintenant créer un serveur LAMP.

Mise en ligne de votre site

I) Prérequis

WinSCP : Pour faire transvaser des documents de votre bureau a votre VPS

Votre nom de domaine (comme ici : jacques-curtis.fr) avec Hébergement Web et serveur DNS.

II) Accéder a votre site web

a) Mettre votre site sur votre VPS

Connectez-vous a votre serveur avec WinSCP :

image.png

Placez vous dans le répertoire /var/www du coté du VPS et a l'endroit ou se trouve votre site Web en local.

Copiez ce dernier dans /var/www :

image.png

Suite à cela, il va falloir initialiser le serveur apache pour que votre site soit accessible directement avec votre @IP, rendez-vous dans le répertoire /etc/apache2/sites-available/ et ouvrez le fichier 000-default.conf :

image.png

Et changez la ligne /var/www/html par /var/www/exemple :

image.png

Redémarrez une nouvelle fois le service Apache :

sudo systemctl restart apache2

Maintenant essayez de vous connecter à votre serveur http://IP_du_Serveur vous devriez voir votre site apparaitre.

b) Créer un enregistrement DNS

Afin d’avoir accès à votre serveur à l’aide d’un nom de domaine, plutôt qu’une adresse IP, rendez-vous sur le site d’OVH ou sur celui de votre hébergeur WEB.

Allez sur votre domaine :

image.png

Dans la Zone DNS :

image.png

Cliquez sur Ajouter une entrée

image.png

Créer un enregistrement de type A :

image.png

Entrez les information du site et l'adresse IP du VPS :

image.png

Puis faites Suivant et enfin vous pourrez valider :

image.png

Vous pouvez dès maintenant tenter de vous connecter sur votre site avec le nom de domaine que vous venez de créer.

Par exemple portfolio.jacques-curtis.fr


Vous savez a présent comment mettre en ligne un site statique avec nom de domaine!

Faites en bon usage :)