logo

echo 42

arrow-picto

Installer Nextcloud sur un Raspberry Pi

Publié le 27 avril 2024

  • Linux
  • Nextcloud
  • Raspberry Pi

Découvrez dans cet article une procédure pour déployer Nextcloud sur un Raspberry Pi. Conformément à la recommandation de la documentation de Nextcloud, l'installation se fera à partir de l'archive source et nécessitera la mise en place d'une pile LAMP classique.

Prérequis

  • Un Raspberry Pi modèle 3/4/5
  • Raspberry Pi OS Lite - Debian 12 Bookworm
  • Toutes les commandes sont lancées depuis l'utilisateur root

Procédure

I. Installation des prérequis

  • Apache2 : Le serveur web.
  • MariaDB : Le système de gestion de base de données relationnelles.
  • libapache2-mod-php : Module apache pour prendre en charge PHP.
  • PHP et les modules requis.
  • ImageMagick : bibliothèque de traitement d'image.
apt install apache2 mariadb-server libapache2-mod-php php8.2 php8.2-{curl,gd,intl,xml,zip,bz2,mbstring,mysql,bcmath,gmp,imagick} imagemagick

II. Configuration de PHP

Ensuite nous allons procéder à la configuration de PHP. Voici quelques directives importantes à ajuster :

Taille maximale de téléchargement : Les directives post_max_size et upload_max_filesize déterminent la taille maximale autorisée pour les téléchargements et téléversements de fichiers. Pour les versions 32 bits de Raspberry Pi OS, assurez-vous que cette valeur est inférieur à 2 Go.

Augmenter la limite de mémoire PHP : Le paramètre memory_limit détermine la quantité maximale de mémoire qu'un script est autorisé à utiliser. Nextcloud recommande une valeur de 512 Mo.

1) Utilisez l'éditeur de texte nano pour ouvrir le fichier de configuration de PHP :

nano /etc/php/8.2/apache2/php.ini

2) Modifiez les valeurs des options comme suit :

tips-picto

Pour rechercher du texte dans le fichier, utilisez le raccourci clavier Ctrl + W

post_max_size = 1024M
upload_max_filesize = 1024M
memory_limit = 512M

III. Configuration de la base de données

1) Dans un premier temps, nous allons sécuriser l'installation de MariaDB avec la commande mysql_secure_installation.

  • Définir le mot de passe root
  • Activer l'authentification unix_socket -> n
  • Modifier le mot de passe root -> n
  • Supprimer le compte utilisateur anonyme -> Y
  • Interdire la connexion à distance en tant que root -> Y
  • Supprimer la base de données "test" -> Y
  • Recharger les tables de privilèges -> Y

2) Création de l'utilisateur et de la base de données : Lancez le client interactif de MariaDB avec la commande mysql :

mysql

Entrez les commandes suivantes en remplaçant username et password par les valeurs appropriées. Confirmez chaque ligne avec la touche Entrée.

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
EXIT;

IV. Installation de Nextcloud

1) Déplacez-vous dans le répertoire /var/www :

cd /var/www

2) Téléchargez l'archive de la dernière version de Nextcloud :

wget https://download.nextcloud.com/server/releases/latest.tar.bz2

3) Décompressez l'archive :

tar -xjvf latest.tar.bz2

4) Création du répertoire de données : Le répertoire destiné à stocker les données sera situé en dehors du répertoire racine du serveur web. Le choix de cet emplacement sera effectué lors de l'initialisation de Nextcloud. À ce stade, nous créons simplement le répertoire qui servira à accueillir les données :

mkdir -p /var/nextcloud/data

V. Configuration d'Apache

1) Créer le fichier de configuration Apache pour Nextcloud :

nano /etc/apache2/sites-available/nextcloud.conf

2) Configurez un alias en ajoutant ces lignes au fichier :

Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Require all granted
  AllowOverride All
  Options FollowSymLinks MultiViews

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

3) Activez la configuration nouvellement créée :

a2ensite nextcloud.conf

4) Appliquez ces changements en redémarrant le service Apache :

systemctl reload apache2

5) Attribution des permissions à Apache : Pour permettre à Apache d'accéder aux fichiers et répertoires de Nextcloud, utilisez la commande suivante pour changer le propriétaire et le groupe à www-data :

chown -R www-data:www-data /var/www/nextcloud /var/nextcloud/data

VI. L'assistant d'installation

Accédez à la page de l'assistant d'installation de Nextcloud disponible à l'adresse de votre serveur http://<ip_address>/nextcloud.

  • Entrez un nom d'utilisateur
  • Entrez un mot de passe
  • Spécifiez le répertoire de données /var/nextcloud/data
  • Configurez la base de données en fournissant les informations suivantes :
    • Nom d'utilisateur de la base de données
    • Mot de passe de la base de données
    • Nom de la base de données
    • Hôte : localhost
  • Cliquez sur le bouton "Installer"

Liens externes