Créer un serveur web avec Digital Ocean
Grâce à l’offre étudiants de chez Github, nous disposons d’un bonus de 50$ + 10$, soit 60$ sur DigitalOcean.com. Ce qui équivaut à un an d’hébergement gratuit. Ce serait dommage de s’en priver.
Le « problème » est qu’il s’agit d’un VPS ( virtual private server ou serveur dédié virtuel ). En résumé, c’est une machine virtuelle sur laquelle vous installez ce que vous voulez. Et qui dit serveur privé, dit configuration complète et totale. Vous allez devoir créer vos machines virtuelles, configurer vos hostsnames, installer les bons packages, installer votre serveur web, votre serveur mail, etc. J’ai décidé de faire un récapitulatif de l’installation pour m’aider et je vous la partage. Alors pas de panique, ce n’est pas compliqué !
Étape 1 - Acheter son nom de domaine.
La première étape pour apparaître sur le web est d’acheter son nom de domaine. Vous pouvez le faire sur OVH, c’est sécurisé et ce sont des professionnels reconnus.
- Ovh va vous demander si vous désirez utiliser un DNS BOOST ou un classique. Prenez le classique.
-
Sur la même page, sélectionnez l’offre « Gold », elle est gratuite et suffit.
-
Sur la page suivante, OVH demande si vous désirez un hébergement avec le domaine. Comme nous allons utiliser DigitalOcean, choisissez que vous n’en vouliez pas.
-
Ensuite, continuez la procédure d’achat et inscrivez-vous.
-
Sur la dernière page, OVH va vous demander si vous désirez utiliser leurs serveurs DNS ou un serveur personnalisé. Sélectionnez « Personnaliser vous même vos serveurs »
indiquez dans les 3 premiers champs « Nom du serveur DNS » les serveurs suivants :
-
ns1.digitalocean.com
-
ns2.digitalocean.com
-
ns3.digitalocean.com
Ensuite, passez à la caisse et payez-les quelques euros pour finaliser votre commande. Une fois que vous recevez la confirmation d’OVH comme quoi votre nom de domaine est actif, c’est le moment de se rendre sur DigitalOcean.
Étape 2 - S’inscrire sur DigitalOcean.
Inscrivez-vous sur DigitalOcean. La première chose à faire une fois inscrite est d’y inscrire une carte de crédit (ils ne perdent pas de temps!) ou son compte PayPal. Personnellement, j’ai choisi la méthode carte de crédit. Elle ne sera PAS débitée. Ils vont juste faire une vérification de 0,00€ pour voir si elle est active. Attention, vous allez peut-être recevoir un appel de votre banque pour demander si c’est vous qui avez réalisé la transaction (car en Belgique, les transactions sur carte bancaire d’un montant de 0€ sont interdites). Avec PayPal, c’est sans doute plus simple, mais vous êtes obligé de charger votre compte d’au moins 5$, à vous de voir.
Une fois votre carte validée, dans « Promo code » mettez-y le coupon GitHub que vous avez reçu avec votre student education pack concernant DigitalOcean. Et boum, 50$ gratos ! Et comme à l’inscription, on reçoit 10$, ça fait 60$ en tout !
Étape 3 - Créer sa machine virtuelle
Sur DigitalOcean, les machines virtuelles s’appellent des « Droplets ». En haut à droite, cliquer sur « Create a droplet ».
- Choisissez votre distribution. Ce tutoriel se base sur Ubuntu, donc sélectionnez-le. Attention, ce tutoriel est basé sur la version 14, ne choisissez pas une version supérieure ou vous devrez faire quelques ajustement qui ne sont pas décrit dans ce tutoriel.
- Choisissez une taille. Pour un portfolio, la plus petite suffit (celle à 5$/m). 20Gb de SSD est amplement suffisant. Si dans le futur vous avez besoin de plus de performances, vous pourrez adapter votre serveur quand vous le voudrez.
- Choisissez un datacenter proche de chez vous. Comme le portfolio sera en principe le plus souvent visité par des clients/professeurs/employeurs, il y a des chances pour qu’ils habitent pas loin de la Belgique. Perso, j’ai choisi Amsterdam.
- Ajouter des options si vous le voulez. Certaines sont payantes. Perso, je n’en ai pas pris.
- Pour la clé SSH, on la créera plus tard.
- Ne créez qu’un droplet. Donnez un nom à votre droplet ou laissez le nom proposé. Cliquer sur « Create a droplet ».
Étape 4 - Configurer la partie réseau de son serveur
Une fois votre droplet créer, vous avez reçu un mail avec un nom d’utilisateur et un mot de passe. Conservez-le, vous en aurez besoin plus tard.
Pour cette partie, cliquez sur « More », à droite du nom de votre droplet et sélectionnez « Add a domain ». Dans le champ adéquat, inscrivez-y votre nom de domaine (ex: letecheur.me). Vous allez arriver sur une page, où il sera inscrit « Select Record Type ».
C’est sur cette page-ci que vous allez configurer tout ce qui se rapporte à votre nom de domaine, au réseau, etc.
Les « A » sont les champs qui se rapportent à l’accès de votre serveur. De base, on peut accéder à son serveur via l’adresse IP qui vous est fournie (ici, 146.185.175.216). DigitalOcean est gentil, il nous a associé notre nom de domaine à notre adresse IP (le @ signifie notre nom de domaine).
Maintenant, il reste à associer quelques éléments supplémentaires, dont nous aurons besoin par la suite.
La première est d’ordre ergonomique. On a l’habitude d’écrire « www.nomdedomaine.com », mais ici le site ne sera accessible que par nomdedomaine.com. Pour palier à cet effet, on va créer un A-name avec « www ».
Lorsque notre serveur web sera en place, on pourra donc écrire letecheur.me ou www.letecheur.me !
Vous pourriez aussi imaginer mettre « wwww » devant, pour pallier à la faute de frappe d’un utilisateur.
Ensuite, créer un autre A-name, un panel qui servira à l’installation d’Ajenti, un gestionnaire de serveur (et de site web) qui se gère à la souris (youpi!).
Pour les configurations mail, on verra plus tard…
Étape 5 - Tester si votre serveur vous reçoit.
À cette étape-ci, vous devriez être en mesure de réaliser un ping vers votre serveur. Ouvrez votre terminal et tapez :
Ping adresseipdevotreserveur
ou
Ping votrenomdedomaine
Faites CTRL + C pour arrêter le ping. Si les paquets ont été reçus, c’est OK !
/!\ À noter que faire un ping vers votre nom de domaine peut ne pas fonctionner instantanément. En effet, le A-Name peut prendre du temps à s’initialiser. Donc si ça ne fonctionne pas tout de suite et que vous avez suivi les étapes, c’est peut-être normal. Quoi qu’il en soit, ça devrait fonctionner pour votre adresse ip.
Étape 6 - SSH pour plus de sécurité
Avant de commencer, il faut établir une connexion SSH avec le serveur. C’est une manière sécurisée d’y accéder et autant prendre les bonnes habitudes directement.
Pour cela, l’opération va varier en fonction de votre système. Sur MAC, c’est plus simple que sur Windows (Windaube comme dirait M. Gérard).
Pour Windows, vous aurez besoin d’installer Putty, un client SSH. Sur Mac, pas besoins, ça fonctionne nativement.
Pour MAC
- Se connecter au serveur avec la commande suivante dans le terminal :
ssh root@IP_DE_VOTRE_DROPLET
- La première fois que vous tenterez la connexion, vous allez recevoir un avertissement. Tapez
yes
- On vous demande un mot de passe. Prenez celui de l’email dont je vous ai parlé précédemment. Collez-le dans l’invite de commande.
- Collez-le à nouveau.
- Donnez un nouveau mot de passe ( ET NOTEZ-LE QUELQUE PART ! )
- Répétez votre nouveau mot de passe ( ET VRAIMENT, NOTEZ-LE QUELQUE PART ! )
Vous êtes maintenant connecté en SSH. Vous pouvez passer à l’étape suivante.
Pour WINDOWS
Avant de commencer à vous expliquer les étapes, sachez que je ne les ai pas testés travaillant principalement sous MAC.
Lancez Putty.exe et suivez les étapes suivantes :
-
Configurer la connexion en s’assurant que les paramètres de connexion suivante sont bien corrects :
- Host Name (or IP address): Entrez l’adresse IP de votre serveur ici.
- Port: 22 (default)
- Connexion Type: SSH (default)
- Vous pouvez maintenant nommer et sauvegarder cette connexion pour une utilisation future en tapant un nom dans le champ « Saved Sessions », et en cliquant sur « enregistrer »
-
Lancer la connexion. Double-cliquez sur le nom de la session, et acceptez l’alerte de sécurité (ça apparaît la première fois que vous vous connectez au serveur).
-
C’est maintenant qu’il faut se connecter. Suivez ces étapes.
- Dans
login as entrez root
- Dans
Password prompt entrez le mot de passe que vous avez reçu par email de la part de DigitalOcean
- Dans
(current) UNIX password entrez à nouveau le mot de passe reçu par DigitalOcean
- Dans
Enter new UNIX password entrez votre nouveau mot de passe (ET SAUVEGARDEZ-LE QUELQUE PART)
- Dans
Retype new UNIX password entrez à nouveau votre nouveau mot de passe (ET SAUVEGARDEZ-LE SI VOUS NE L’AVEZ PAS ENCORE FAIT)
Vous êtes maintenant connecté en SSH. Vous pouvez passer à l’étape suivante.
Étape 7 - Configurer un utilisateur son serveur
Maintenant que vous êtes connecté, il faut configurer la base du serveur. Suivez les étapes suivantes :
- Ajouter un nouvel utilisateur avec la commande suivante
adduser votrenomdutilisateur
Il vous sera demandé quelques questions. Choisissez un mot de passe (ET NOTEZ-LE QUELQUE PART, AU MÊME ENDROIT OU VOUS AVEZ SAUVEGARDÉ VOTRE MOT DE PASSE ROOT)et répondez aux questions demandées si vous en avez envie.
- Ajouter l’utilisateur au groupe SUDO avec la commande suivante
gpasswd -a votrenomdutilisateur sudo
Notes : vous pouvez décider d’installer une clé SSH privée sur votre machine et sur votre serveur pour plus de sécurité. C’est conseillé. Je vous laisse le loisir de le faire par vous même, ce n’est pas indispensable pour la suite du tutoriel.
Étape 8 - Installer le control panel AJENTI V
Ajenti V est un gestionnaire de contrôle qui va vous permettre de gérer votre serveur dans un navigateur web. Il est pratique et simple d’accès.
-
Si ce n’est pas déjà fait, connectez-vous en SSH à votre serveur. Connectez-vous avec l’utilisateur créé précédemment. Pour rappel, connectez-vous en utilisant ssh nomdutilisateur@ipdevotreserveur.
-
Tappez la commande suivante qui sert à valider les paquets que vous aller télécharger.
wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add -
-
Ajouter le repo à notre liste de sources :
echo "deb http://repo.ajenti.org/ng/debian main main ubuntu" | sudo tee -a /etc/apt/sources.list
-
Lancer le processus d’installation
sudo apt-get update && sudo apt-get install ajenti
Tappez Y peut ENTRER. L’opération d’installation peut prendre plusieurs minutes.
-
Relancer Ajenti
sudo service ajenti restart.
Si vous voyez Started sur la dernière ligne, c’est que c’est bon.
Étape 9 - Configurer AJENTI
- Maintenant qu’Ajenti V est installé, rendez-vous sur le panel contrôle.
https://panel.votre_nom_de_domaine:8000/
/!\ Vous allez avoir une erreur comme quoi le site n’est pas sécurisé. C’est normal. Continuez !
- Connectez-vous à Ajenti
- Username : root
- Password : admin
-
La première chose à faire est de changer le mot de passe par défaut. Cliquez sur Password en haut à gauche. Donnez l’ancien mot de passe dans old password et tapez le nouveau dans les champs suivants.
-
Une fois le mot de passe changé. Cliquez sur « Configure » et descendez en bas et cliquez sur « Restart ».
-
Voilà Ajenti V est installé. Vous pouvez explorer toutes les options qu’il vous offre. Mais pour le moment, il n’est pas configuré pour recevoir des sites web. Pour ce faire, lisez l’étape suivante.
Configurer Ajenti pour y installer un site web
Pour installer le plugin qui permettra à Ajenti d’installer et de lire des sites webs sur le serveur, connectez-vous en SSH à votre serveur et tapez-y la commande suivante :
- `apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-php-fpm ajenti-v-mail a