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.
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 :
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 :
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 :
Redémarrez ensuite le service SSH :
systemctl restart ssh.service
Pour vos futures connections au VPS, pensez a changer le port sur PuTTY :
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
:
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 :
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
:
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 :
Désactivez les connections anonymes :
Désactiver la connexion à distance avec le root :
Effaçons la base de données créée de base :
Enfin chargeons les nouveaux paramètres :
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 :
- Cochez apache2, puis Entrée ;
- Acceptez l’aide à la configuration, puis rentrez un mot de passe administrateur de votre BDD.
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
:
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 :
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
:
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
:
Et changez la ligne /var/www/html
par /var/www/exemple
:
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
:
Dans la Zone DNS
:
Cliquez sur Ajouter une entrée
:
Créer un enregistrement de type A :
Entrez les information du site et l'adresse IP du VPS :
Puis faites Suivant et enfin vous pourrez valider :
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 :)