[VPS Oracle] Créez votre propre serveur Cloud gratuit à vie
Sommaire
VPS Oracle - Cet article fait partie d'une série.
Introduction #
Cet article fait partie d’une série consacrée à l’hébergement de services gratuits à vie sur un serveur privé. Dans celui-ci je vous présente comment créer votre propre serveur Cloud.
C’est quoi le Cloud ? #
On entend souvent parler de ce terme sans forcément comprendre ce qui se cache derrière. En réalité c’est assez simple !
Le cloud est un ensemble de services informatiques accessibles via Internet.
Au lieu d’utiliser des logiciels et du stockage sur votre propre ordinateur, vous utilisez les serveurs d’autres entreprises qui détiennent ces ressources.
Ces services sont fournis par des entreprises spécialisées comme :
- Amazon Web Services (AWS)
- Google Cloud
- Oracle Cloud Infrastructure (OCI)
- Microsoft Azure
- OVH
- …
Pour Google Cloud par exemple :
Au lieu d’installer Word, Excel, PowerPoint et de stocker tous vos fichiers sur votre ordinateur vous utilisez les serveurs de Google sur lesquels vous avez un certain espace de stockage réservé et où tous ces logiciels sont déjà installés.
Les différents types de Cloud #
Bien que le principe reste le même, il existe différents types de Clouds
Cloud Public vs Cloud Privé #
Un cloud public est un service offert à plusieurs clients par un même fournisseur. Les clients se partagent les ressources du fournisseur. Même si les clients ne voient que leurs propres données, en réalité les données de chaque client sont stockés au même endroit.
À l’opposé, le cloud privé est un service qui n’est partagé avec aucune autre organisation. L’utilisateur du cloud privé a le cloud pour lui seul.
Cloud Hybride vs Multi Cloud #
Le cloud hybride peut se définir comme un environnement composé de plusieurs clouds connectés entre eux. Il peut s’agir de plusieurs clouds publics, privés, ou d’un mélange des deux. Le cloud public peut être utilisé pour certaines tâches, et le cloud privé pour d’autres.
Souvent confondu avec le cloud hybride, le multi cloud s’appuie sur des services cloud différents émanant de plusieurs prestataires.
Avantages et inconvénients #
Un cloud public est généralement moins couteux et plus simple à gérer car c’est le fournisseur qui s’occupe d’installer les logiciels, de les paramétrer, de les mettre à jour…
En revanche cela peut poser des soucis de sécurité, en effet si un client du fournisseur se fait pirater et que les attaquants obtiennent tous les accès au serveur, ils seront alors en mesure de voler vos données puisqu’elles se trouvent au même endroit !
Un cloud public c’est donc un gain de temps et d’argent mais au détriment de la sécurité
Au contraire un cloud privé est plus sécurisé car vous êtes le seul utilisateur de votre espace, mais cela coûte généralement plus cher et c’est à vous de faire l’installation, la configuration et la mise à jour des logiciels.
Un particulier souhaitant simplement stocker quelques photos de vacances qu’il va publier sur les réseaux sociaux se satisfera amplement d’un cloud public, là où une entreprise avec des données sensibles se tournera plutôt vers un cloud privé.
Cependant ne croyez pas que les clouds privés soient uniquement réservés aux entreprises !
En effet si vous souhaitez stocker des mots de passe, des documents de travail sur des projets personnels, partager des documents privés à certaines personnes uniquement, etc. alors le cloud privé peut vous intéresser.
Et ça tombe bien c’est ce que nous allons faire en créant notre propre serveur privé !
Solution retenue : NextCloud #
Nextcloud est une solution de stockage et de partage de fichiers en ligne installable sur son propre serveur.
Avantages #
- Il est open-source, cela veut dire que son code source est disponible publiquement. Il y a amélioration continue du logiciel car n’importe qui peut contribuer au code.
- Il dispose d’une grande communauté, ce qui garantie des mises à jour régulières et une documentation importante.
- Il dispose de nombreuses applications qui permettent de transformer son cloud en gestionnaire de mots de passe (comme BitWarden), serveur de musique (comme Spotify), serveur de visioconférence (comme Teams), et bien d’autres.
- Il est multi-plateforme, ce qui permet de l’utiliser simplement sur Windows, MacOS, Linux, Android ou iOS.
- Il est gratuit à vie !
Inconvénients #
- Nécessite d’installer et de configurer l’application soi-même
- 200 Go de stockage gratuit maximum (limité par l’offre “Always Free” d’OCI)
Bien, maintenant que vous savez tout, commençons !
Création du serveur Cloud #
→ Lire l'introduction de la série
Création de l’instance #
Pour commencer, nous allons devoir créer une instance sur OCI.
Choisissez un nom de serveur, laissez le compartiment par défaut et changez l’image :
Choisissez l’image Ubuntu 20.04 :
Choisissez les ressources à allouer :
Vous pouvez changer de VNIC ou laisser celui par défaut, puis téléchargez la clé privée SSH :
Créez un boot volume de la taille voulue, ici je prends le maximum donc 200 Go :
Laissez le reste et créez l’instance :
Une fois l’instance créée, notez bien l’adresse IP de votre VM :
Connectez vous à votre VM via SSH :
ssh ubuntu@[IP_de_votre_VM] -i [cle_ssh]
Puis faites les mises à jour système :
sudo apt update -y && sudo apt upgrade -y
Votre instance est prête, nous allons maintenant installer NextCloud.
Installation de NextCloud #
Installez le paquet nextcloud via snap
:
sudo snap install nextcloud
Création du compte administrateur #
Créez un nouveau compte administrateur avec la commande suivante, ce compte sera utilisé pour paramétrer NextCloud :
sudo nextcloud.manual-install [compte] [mot_de_passe]
Le message suivant indique que Nextcloud a été configuré correctement :
Nextcloud was successfully installed
Réglage du domaine de confiance #
Lors de l’installation en ligne de commande, NextCloud limite les noms d’hôtes auxquels l’instance répondra.
Par défaut, NextCloud n’autorise que localhost
comme domaine de confiance, or nous ne pourrons pas accéder à ce domaine depuis l’extérieur, nous allons donc ajouter l’adresse IP du serveur comme domaine de confiance.
Vous pouvez consulter les paramètres actuels en interrogeant la valeur du tableau trusted_domains
:
sudo nextcloud.occ config:system:get trusted_domains
Actuellement, seul localhost
est présent comme valeur dans le tableau. Nous pouvons ajouter l’adresse IP de notre serveur en tapant :
sudo nextcloud.occ config:system:set trusted_domains 1 --value=[IP_de_votre_VM]
Si nous interrogeons à nouveau les domaines de confiance, nous constatons que nous avons bien l’adresse IP de notre VM :
sudo nextcloud.occ config:system:get trusted_domains
config:system:set
, il faudra simplement incrémenter le numéro → exemple pour un deuxième domaine : sudo nextcloud.occ config:system:set trusted_domains 2 --value=deuxieme_domaine.com
Configuration de NextCloud #
Actuellement notre serveur NextCloud est bien paramétré pour faire confiance à un nom de domaine ou une adresse IP. Cependant aucun processus de chiffrement n’a été configuré.
Vous savez le petit cadenas qui indique que vous êtes bien en HTTPS.
Pour cela on va mettre en place un certificat SSL/TLS.
Certificat SSL/TLS avec Let’s Encrypt #
Si vous avez un nom de domaine associé à votre serveur NextCloud, la meilleure option pour sécuriser votre interface web est d’obtenir un certificat Let’s Encrypt.
Demandez un certificat Let’s Encrypt en tapant :
sudo nextcloud.enable-https lets-encrypt
Il vous sera d’abord demandé si votre serveur remplit les conditions nécessaires pour demander un certificat au service Let’s Encrypt :
In order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:
1. In order to register with the Let's Encrypt ACME server, you must
agree to the currently-in-effect Subscriber Agreement located
here:
https://letsencrypt.org/repository/
By continuing to use this tool you agree to these terms. Please
cancel now if otherwise.
2. You must have the domain name(s) for which you want certificates
pointing at the external IP address of this machine.
3. Both ports 80 and 443 on the external IP address of this machine
must point to this machine (e.g. port forwarding might need to be
setup on your router).
Have you met these requirements? (y/n)
→ Tapez y
pour continuer.
Ensuite, il vous sera demandé de fournir une adresse électronique à utiliser pour les opérations de récupération :
Please enter an email address (for urgent notices or key recovery):
→ Entrez votre adresse électronique et appuyez sur la touche Enter
pour continuer.
Enfin, entrez le nom de domaine associé à votre serveur NextCloud :
Please enter your domain name(s) (space-separated): example.com
Votre certificat Let’s Encrypt sera demandé et, si tout s’est bien passé, l’instance interne d’Apache sera redémarrée pour mettre immédiatement en œuvre le SSL :
Attempting to obtain certificates... done
Restarting apache... done
Vous pouvez maintenant passer à l’étape de configuration du pare-feu NextCloud.
Certificat SSL/TLS auto-signé #
Si vous ne disposez pas de nom de domaine, vous pouvez quand même mettre en place du chiffrement sur votre serveur Nextcloud en générant un certificat SSL/TLS auto-signé. Ce certificat permettra d’accéder à l’interface web via une connexion chiffrée.
Pour générer un certificat auto-signé et l’utiliser sur votre serveur Nextcloud tapez :
sudo nextcloud.enable-https self-signed
La sortie ci-dessus indique que NextCloud a généré et activé un certificat auto-signé.
Vous pouvez maintenant passer à l’étape de configuration du pare-feu NextCloud.
Configuration du pare-feu #
De base, l’image Ubuntu d’OCI est paramétrée avec iptables
, le paramétrage bloque l’accès aux ports 80 et 443 (ports utilisés par les protocoles HTTP et HTTPS).
Nous allons remplacer ce paramétrage avec le pare-feu ufw
et ouvrir ces ports.
Tout d’abord exécutez les commandes suivantes :
sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -F
Puis autorisez le pare-feu ufw
avec la commande :
sudo ufw enable
Vous pouvez vérifier si ufw
est actif avec la commande :
sudo ufw status
Enfin autorisez le protocole SSH ainsi que les ports 80 et 443 :
sudo ufw allow ssh
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
Vous pouvez vérifier les règles du pare-feu avec la commande :
sudo ufw status numbered
Vous n’avez plus qu’à ouvrir ces ports sur le VNIC d’OCI :
→ Votre serveur Nexcloud est prêt à être utilisé !
Utilisation de NextCloud #
Rendez-vous sur l’url https://[IP_de_votre_VM]
et connectez-vous avec le compte administrateur précédemment créé :
Vérifiez l’espace de stockage #
Rendez-vous dans “Paramètres d’administration > Système” pour vérifier l’espace de stockage disponible sur votre serveur :
Créer des utilisateurs #
Rendez-vous dans l’onglet “Utilisateurs” :
Puis cliquez sur “Nouveau compte” et renseignez les informations du nouveau compte :
L’utilisateur peut désormais se connecter et stocker des fichiers sur votre serveur NextCloud :
Vous pouvez partager les accès à vos amis ou votre famille tout en affinant les paramètres de chacun. Il est possible par exemple de n’autoriser que le stockage de photos ou de vidéos, d’indiquer l’espace de stockage réservé à chacun, etc.
Accéder à son serveur depuis son smartphone #
Vous pouvez accéder à votre serveur NextCloud depuis n’importe quel navigateur via l’url https://[IP_de_votre_VM]
ou bien vous pouvez installer l’application mobile NextCloud sur votre smartphone.
Il vous suffira de renseigner l’url de votre serveur :
Puis de vous connecter pour accéder à tous vos fichiers :
Applications #
Vous pouvez également installer des applications depuis l’onglet “Applications” :
NextCloud possède de nombreuses applications écrites par la communauté, voici quelques exemples :
Audio Player
→ pour stocker et jouer des musiques (comme Spotify)Only Office
→ pour éditer des fichiers word, excel, powerpoint simultanément (comme Google Drive)Passwords
→ pour stocker et gérer vos mots de passe (comme BitWarden)Talk
→ pour réaliser des appels audios et vidéos (comme Teams)Calendar
→ pour gérer vos calendriers (comme Google Agenda ou Outlook)Notes
→ pour gérer vos notes en ligne avec le langage markdown (comme Notion)
Conclusion #
Dans cet article, je vous ai présenté comment créer votre propre serveur Cloud gratuit à vie avec la solution NextCloud, en utilisant l’offre “Always Free” d’Oracle Cloud Infrastructure.
L’objectif était de vous offrir une solution pratique et gratuite tout en vous familiarisant avec le domaine du cloud et de la sécurité informatique.
Après la lecture de cet article, vous savez désormais :
- Ce qu’est un Cloud
- Quels sont les différents types de Cloud
- Comment créer votre propre Cloud gratuit à vie
J’espère que vous aurez apprécié la lecture de l’article, si c’est le cas n’hésitez pas à le liker et à le partager à vos amis ou collègues qui pourraient être intéressés !