Installer Nextcloud sur un Raspberry Pi
Publié le 27 avril 2024
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 :
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"