Serveur Cloud avec un Raspberry Pi

Serveur Cloud avec un Raspberry Pi

Transformer votre Raspberry Pi en un serveur cloud personnel est un projet utile et sécurisé. Avec Nextcloud, vous pouvez stocker, synchroniser et partager vos fichiers en toute sécurité. Voici un guide détaillé pour vous aider à réaliser ce projet.

Sommaire

  1. Introduction
  2. Matériel Nécessaire
  3. Préparation du Raspberry Pi
  4. Installation de Nextcloud
  5. Configuration de Nextcloud
  6. Sécurisation du Serveur Cloud
  7. Accès à Distance
  8. Tests et Ajustements
  9. Conclusion

1. Introduction

Un serveur cloud personnel vous permet de stocker, synchroniser et partager vos fichiers de manière sécurisée et privée. En utilisant un Raspberry Pi et Nextcloud, vous pouvez créer une solution cloud accessible de n’importe où.

2. Matériel nécessaire

  • Raspberry Pi (modèle 3 ou supérieur)
  • Carte microSD (minimum 16 Go) avec Raspbian installé
  • Disque dur externe ou clé USB pour le stockage
  • Câble Ethernet ou connexion Wi-Fi
  • Alimentation pour Raspberry Pi

3. Préparation du Raspberry Pi

  1. Installer Raspbian :
    • Téléchargez l’image de Raspbian depuis le site officiel.
    • Utilisez un outil comme balenaEtcher pour graver l’image sur la carte microSD.
    • Insérez la carte microSD dans le Raspberry Pi et démarrez-le.
  2. Configurer le Raspberry Pi :
    • Connectez-vous avec les identifiants par défaut (utilisateur : pi, mot de passe : raspberry).
    • Mettez à jour le système avec les commandes suivantes :
      • sudo apt update
      • sudo apt upgrade

4. Installation de Nextcloud

  1. Installer Apache, PHP et MariaDB :
    • Nextcloud nécessite un serveur web, un langage de script et une base de données :
      • sudo apt install apache2
      • sudo apt install php libapache2-mod-php php-mysql
      • sudo apt install mariadb-server
  2. Sécuriser MariaDB :
    • Exécutez le script de sécurisation de MariaDB :
      • sudo mysql_secure_installation
  3. Créer une base de données pour Nextcloud :
    • Connectez-vous à MariaDB et créez une base de données :
sudo mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'ncuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

4. Télécharger et installer Nextcloud :

  • Téléchargez la dernière version de Nextcloud :
    • wget https://download.nextcloud.com/server/releases/latest.tar.bz2
    • tar -xjf latest.tar.bz2
    • sudo mv nextcloud /var/www/html/

Configurer les permissions :

  • Donnez les permissions nécessaires aux fichiers de Nextcloud :
    • sudo chown -R www-data:www-data /var/www/html/nextcloud
    • sudo chmod -R 755 /var/www/html/nextcloud

5. Configuration de Nextcloud

  1. Configurer Apache pour Nextcloud :
    • Créez un fichier de configuration pour Nextcloud :
      • sudo nano /etc/apache2/sites-available/nextcloud.conf
    • Ajoutez le contenu suivant :
<VirtualHost *:80>
    DocumentRoot /var/www/html/nextcloud/
    ServerName your_domain_or_ip

    <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All

        <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

2. Activer le site et les modules Apache :

  • Activez la configuration de Nextcloud et les modules requis :
    • sudo a2ensite nextcloud.conf
    • sudo a2enmod rewrite headers env dir mime
    • sudo systemctl restart apache2

Accéder à Nextcloud via le navigateur :

  • Ouvrez un navigateur web et accédez à http://your_domain_or_ip/nextcloud pour terminer l’installation.

6. Sécurisation du serveur Cloud

  1. Installer un certificat SSL avec Let’s Encrypt :
    • Sécurisez votre serveur avec un certificat SSL :
      • sudo apt install certbot python3-certbot-apache
      • sudo certbot --apache -d your_domain
  2. Renouveler automatiquement le certificat :
    • Configurez le renouvellement automatique du certificat :
      • sudo crontab -e
    • Ajoutez la ligne suivante pour renouveler le certificat tous les jours :
      • 0 3 * * * /usr/bin/certbot renew --quiet

7. Accès à distance

  1. Configurer un accès externe :
    • Si vous souhaitez accéder à Nextcloud depuis l’extérieur de votre réseau local, configurez le port forwarding sur votre routeur pour rediriger le port 80 et 443 vers votre Raspberry Pi.
  2. Utiliser un service DNS Dynamique (optionnel) :
    • Si votre IP publique change régulièrement, utilisez un service DNS dynamique comme No-IP pour associer un nom de domaine à votre adresse IP dynamique.

8. Tests et ajustements

  1. Tester le système :
    • Vérifiez que tous les services fonctionnent correctement et que vous pouvez accéder à Nextcloud depuis différents appareils.
  2. Ajuster les paramètres :
    • Personnalisez les paramètres de Nextcloud pour répondre à vos besoins spécifiques, comme la configuration des quotas de stockage et des utilisateurs.

9. Conclusion

En suivant ce guide, vous avez maintenant un serveur cloud personnel fonctionnel avec un Raspberry Pi. Vous pouvez stocker, synchroniser et partager vos fichiers en toute sécurité, et accéder à votre cloud personnel de n’importe où. Profitez de votre serveur cloud et n’hésitez pas à explorer les nombreuses applications et extensions disponibles pour Nextcloud afin d’enrichir encore plus votre expérience !