GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Nextcloud sur Debian 11

Nextcloud est un logiciel open source permettant de créer un stockage de fichiers public et privé. Il vous permet de créer vos services auto-hébergés comme Dropbox, Google Drive ou Mega.nz. À l'origine, il a été créé par le développeur original d'owncloud, Frank Karlitschek. En 2016, il fork le projet Owncloud et crée un nouveau projet avec le nouveau nom "Nextcloud"

À cette époque, le projet Nextcloud se développe rapidement et devient plus qu'un logiciel d'hébergement de fichiers, il ressemble plus à une plate-forme de synchronisation de fichiers et de collaboration de contenu. Soutenu par de nombreux plugins, Nextcloud devient un logiciel de collaboration si puissant. Vous pouvez installer des plugins pour la gestion de projet, la vidéoconférence, l'édition collaborative, la prise de notes, le client de messagerie, etc.

Dans ce guide, vous apprendrez comment installer Nextcloud sur la dernière Debian 11 Bullseye. Vous installerez Nextcloud sous la pile LAMP (Linux, Apache2/httpd, MySQL/MariaDB et PHP).

Prérequis

  • Un serveur Debian 11. Assurez-vous que tous les packages sont mis à jour vers la dernière version.
  • Un utilisateur root ou un utilisateur avec des privilèges root. Cet utilisateur sera utilisé pour installer de nouveaux packages et modifier les configurations système.

Obtenir les référentiels racine et mettre à jour

Tout d'abord, exécutez la commande suivante pour obtenir les privilèges root.

1. Si vous avez 'sudo ' installé, exécutez la commande sudo ci-dessous.

sudo su

Tapez maintenant le mot de passe de connexion de votre utilisateur.

2. Si vous n'avez pas le package sudo, exécutez le 'su ' comme ci-dessous

su

Tapez maintenant votre racine mot de passe et appuyez sur 'Entrée '.

3. Après cela, mettez à jour tous vos référentiels Debian à l'aide de la commande apt ci-dessous.

mise à jour apt

Installation du serveur Web Apache

Après avoir mis à jour les référentiels Debian, vous installerez un serveur Web Apache et activerez certains modules Apache pour Nextcloud.

1. Exécutez la commande apt ci-dessous pour installer le serveur Web apache.

apt installer apache2

Tapez 'y ' et appuyez sur 'Entrée ' pour continuer l'installation.

2. Si l'installation est terminée, vérifiez le service Apache à l'aide de la commande suivante.

systemctl is-enabled apache2
systemctl status apache2

Vous verrez la sortie 'activé ', ce qui signifie que le service apache démarrera automatiquement au démarrage du système. Et l'état actuel du service apache, c'est 'actif (en cours d'exécution) '.

3. Ensuite, activez les modules Apache "ssl, rewrite et headers" en exécutant la commande a2enmod ci-dessous.

a2enmod ssl réécrire les en-têtes

Vous trouverez ci-dessous la sortie que vous obtiendrez.

4. Après cela, exécutez la commande suivante pour redémarrer le service apache.

systemctl redémarre apache2

De nouveaux modules apache seront appliqués, vérifiez ces modules à l'aide de la commande apachectl ci-dessous.

apachectl -M | egrep "ssl|réécrire|en-têtes"

Vous verrez une sortie similaire à celle ci-dessous.

Installation et configuration de PHP

Pour ce guide, vous allez déployer Nextcloud avec la dernière version stable de PHP 8.0.

Par défaut, le référentiel Debian fournit des packages pour PHP 8.0. Cependant, Nextcloud nécessite des packages PHP supplémentaires qui peuvent être installés à partir d'un référentiel tiers. Et vous ajouterez un nouveau dépôt à votre système Debian.

1. Exécutez la commande ci-dessous pour ajouter un référentiel PHP pour le système Debian.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main"\
| sudo tee /etc/apt/sources.list.d/sury-php.list

Téléchargez la clé GPG dans '/etc/apt/trusted.gpg.d ' répertoire.

curl -o /etc/apt/trusted.gpg.d/sury-php8.gpg https://packages.sury.org/php/apt.gpg

Maintenant, exécutez à nouveau la commande 'apt update' pour mettre à jour tous les référentiels.

mise à jour apt

2. Installez les packages PHP et les modules PHP supplémentaires pour Nextcloud à l'aide de la commande apt ci-dessous.

apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu

Après cela, exécutez à nouveau la commande apt pour installer des packages supplémentaires.

apt install -y libmagickcore-dev

Le 'libmagickcore-dev ' sont nécessaires à php-imagick pour le traitement d'images SVG sur Nextcloud.

3. Si l'installation de tous les packages est terminée, changez le répertoire de travail en '/etc/php/8.0/apache2 ' et modifiez la configuration 'php.ini ' en utilisant nano.

cd /etc/php/8.0/apache2/
nano php.ini

Pour le déploiement de base de nextcloud, modifiez les options par défaut à l'aide de la configuration suivante.

file_uploads =Activé
allow_url_fopen =Activé
memory_limit =512M
upload_max_filesize =500M
post_max_size =600M
max_execution_time =300
display_errors =Désactivé
date.timezone =Europe/Amsterdam
output_buffering =Désactivé

Décommentez le 'zend_extension=opcache ' pour charger l'extension opcache.

zend_extension=opcache

Déplacez-vous vers la section '[opcache]' et ajoutez la configuration suivante.

[opcache]
...
....
.....
opcache.enable =1
opcache.interned_strings_buffer =8
opcache.max_accelerated_files =10000
opcache.memory_consumption =128
opcache.save_comments =1
opcache.revalidate_freq =1

Enregistrez la configuration en appuyant sur 'Ctrl+x ' et tapez 'y ', puis appuyez sur 'Entrée ' pour quitter.

4. Redémarrez maintenant le service apache pour appliquer les nouvelles modifications à l'aide de la commande ci-dessous.

systemctl redémarre apache2

Installation et configuration de MariaDB

Pour cette étape, vous allez installer le serveur de base de données mariadb, sécuriser le déploiement de mariadb et créer une nouvelle base de données et un nouvel utilisateur pour Nextcloud.

1. Pour installer le serveur de base de données mariadb, exécutez la commande ci-dessous.

apt installer mariadb-server mariadb-client

Tapez 'y ' pour confirmer et installer les packages mariadb.

2. Une fois l'installation terminée, vérifiez le service mariadb à l'aide de la commande suivante.

systemctl is-enabled mariadb
statut systemctl mariadb

Le service mariadb est actif et en cours d'exécution, et il est activé pour démarrer automatiquement au démarrage du système.

3. Ensuite, vous devez sécuriser votre déploiement de mariadb en configurant le mot de passe root pour mariadb et en supprimant certaines configurations par défaut. Pour ce faire, vous pouvez utiliser l'outil de ligne de commande 'mysql_secure_installation', qui est inclus dans l'installation par défaut de mariadb.

Exécutez le "mysql_secure_installation " commande ci-dessous.

mysql_secure_installation

Au début, il vous sera demandé d'entrer le mot de passe root mariadb. Appuyez simplement sur 'Entrée ' pour continuer.

Entrez le mot de passe actuel pour root (entrez pour aucun) :
OK, mot de passe utilisé avec succès, continuez...

Tapez 'O ' pour activer le 'unix_socket ' authentification pour l'utilisateur 'root '.

Passer à l'authentification unix_socket [O/n] O
Activé avec succès !
Rechargement des tables de privilèges..
 ... Réussi !

Tapez votre mot de passe root mariadb fort et répétez, puis appuyez sur "Entrée " pour continuer.

Modifier le mot de passe root ? [O/n] O
Nouveau mot de passe :
Entrez à nouveau le nouveau mot de passe :
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
 ... Réussi !

Tapez maintenant "O " et appuyez sur "Entrée " pour supprimer l'utilisateur anonyme par défaut du serveur mariadb.

Par défaut, une installation MariaDB a un utilisateur anonyme, permettant à n'importe qui
de se connecter à MariaDB sans avoir à créer un compte utilisateur
pour lui. Ceci est uniquement destiné aux tests et à rendre l'installation
un peu plus fluide. Vous devez les supprimer avant de passer à
un environnement de production.

Supprimer les utilisateurs anonymes ? [O/n] O
 ... Succès !

Après cela, désactivez la connexion à distance pour l'utilisateur par défaut 'root '. Tapez "O " et appuyez sur "Entrée " pour continuer.

Normalement, root ne devrait être autorisé à se connecter qu'à partir de 'localhost'. Cela
assure que personne ne peut deviner le mot de passe root à partir du réseau.

Interdire la connexion root à distance ? [O/n] O
 ... Succès !

Tapez "O " à nouveau pour supprimer la base de données par défaut "test " et appuyez sur "Entrée ".

Par défaut, MariaDB est livré avec une base de données nommée "test" à laquelle tout le monde peut
accéder. Ceci est également destiné uniquement aux tests et doit être supprimé
avant de passer à un environnement de production.

Supprimer la base de données de test et y accéder ? [O/n] O
 - Suppression de la base de données de test...
 ... Succès !
 - Suppression des privilèges sur la base de données de test...
 ... Succès !

Et le dernier, tapez "Y " à nouveau pour recharger tous les privilèges des tables afin d'appliquer une nouvelle configuration.

Le rechargement des tables de privilèges garantira que toutes les modifications apportées jusqu'à présent
entreront en vigueur immédiatement.

Recharger les tables de privilèges maintenant ? [O/n] O
 ... Succès !

Le processus est maintenant terminé et vous verrez la sortie suivante.

Nettoyage...

C'est fait ! Si vous avez terminé toutes les étapes ci-dessus, votre installation de MariaDB
devrait maintenant être sécurisée.

Merci d'utiliser MariaDB !

Création d'une base de données et d'un utilisateur pour Nextcloud

1. connectez-vous au shell mariadb à l'aide de la commande mysql ci-dessous.

mysql -u root -p

2. Exécutez maintenant la requête mysql suivante pour créer une nouvelle base de données "nextcloud_db ".

CRÉER UNE BASE DE DONNÉES nextcloud_db ;

3. Exécutez la requête suivante pour créer un nouvel utilisateur de base de données "nextclouduser ". Modifiez le "mot de passe fort " avec votre mot de passe fort.

CRÉER UN UTILISATEUR [email protected] IDENTIFIÉ PAR 'StrongPassword' ;

4. Autoriser l'utilisateur "nextclouduser " pour accéder et écrire le "nextcloud_db " en utilisant la requête suivante.

ACCORDER TOUS LES PRIVILÈGES SUR nextcloud_db.* À [email protected] ;

5. Rechargez maintenant tous les privilèges des tables pour appliquer la nouvelle configuration de la base de données.

PRIVILÈGES FLUSH ;

Ensuite, vous pouvez taper "quitter " et appuyez sur "Entrée " pour quitter le shell mariadb.

Télécharger le code source Nextcloud

1. Changez le répertoire de travail en "/var/www " et téléchargez la dernière version du code source de Nextcloud en utilisant la commande wget comme ci-dessous.

cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/nextcloud-22.1.1.zip

2. Installez maintenant le package de décompression à l'aide de la commande suivante.

apt installer décompresser

3. Ensuite, extrayez le code source Nextcloud "nextcloud.zip " et vous obtiendrez un nouveau répertoire "nextcloud", puis changez le propriétaire du "nextcloud " répertoire vers "www-data " utilisateur.

décompressez nextcloud-22.1.0.zip
chown -R www-data:www-data nextcloud

Vous êtes maintenant prêt à générer SSL Letsencrypt et à configurer l'hôte virtuel apache pour Nextcloud.

Génération SSL Letsencrypt

Dans cette étape, vous installerez l'outil certbot et générerez les certificats SSL pour l'installation de Nextcloud. Vous allez générer SSL Letsencrypts avec le plugin webroot.

1. Exécutez la commande suivante pour installer l'outil certbot permettant de générer SSL Letsencrypt.

apt install certbot

Tapez 'y ' et appuyez sur 'Entrée ' pour continuer l'installation.

2. Une fois l'installation terminée, créez un nouveau répertoire pour l'autorisation Letsencrypt à l'aide des commandes suivantes.

mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt

3. Ensuite, changez le répertoire de travail en "/etc/apache2/conf-available/ " et créez une nouvelle configuration "well-known.conf " en utilisant nano.

cd /etc/apache2/conf-available/
nano well-known.conf

Copiez et collez la configuration suivante.

Alias ​​/.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"

    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec
    Méthode requise GET POST OPTIONS

Appuyez sur "Ctrl+x " et tapez "y " et appuyez sur 'Entrée ' pour enregistrer la configuration et quitter.

Activez maintenant la nouvelle configuration en créant un lien symbolique du 'well-known.conf ' dans le répertoire 'conf-enabled' en utilisant le 'ln ' ci-dessous.

ln -s /etc/apache2/conf-available/well-known.conf /etc/apache2/conf-enabled/

4. Exécutez maintenant les commandes suivantes pour vérifier la configuration apache et redémarrez le service apache.

apachectl configtest
systemctl restart apache2

Si vous n'avez pas d'erreur, vous êtes prêt à générer SSL Letsencrypt avec le plugin webroot.

5. Avant de générer SSL Letsencrypt, assurez-vous que votre nom de domaine correspond à l'adresse IP du serveur. Après cela, vous pouvez générer SSL Letsencrypt avec le plugin webroot en exécutant la commande certbot ci-dessous. Changez également l'adresse e-mail et le nom de domaine pour les vôtres.

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d files.domain-name.io

Lorsque le processus est terminé, vos certificats SSL sont disponibles sur le "/etc/letsencrypt/live/files.domain-name.io/ " répertoire.

Configurer l'hôte virtuel Apache pour Nextcloud

Dans cette étape, vous allez ajouter une nouvelle configuration d'hôte virtuel apache/httpd pour Nextcloud.

1. Changez le répertoire de travail en "/etc/apache2/sites-available/ " et créer une nouvelle configuration "nextcloud.conf " en utilisant nano.

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

Modifiez le nom de domaine détaillé et le répertoire du chemin SSL par les vôtres et collez la configuration dans le fichier "nextcloud.conf " fichier.


    ServerName files.domain-name.io
    ServerAlias ​​www.files.domain-name.io

    # redirection automatique HTTP vers HTTPS
    Redirection permanente / https://files.domain-name.io/



    ServerName files.domain-name .io
    ServerAlias ​​www.files.domain-name.io
 
    DocumentRoot /var/www/nextcloud/

    Protocoles h2 http/1.1

    # redirection automatique www vers non-www
   
        Redirection permanente / https://files. domain-name.io/
   


    # fichiers journaux
    ErrorLog /var/log/apache2/files.domain-name.io-error.log
    CustomLog /var/log/apache2/files.domain-name.io-access.log combiné

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/files.domain-name. io/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/files.domain-name.io/privkey.pem

    # HSTS
   
        L'en-tête est toujours défini sur Strict-Transport-Security "max-age=15552000 ; includeSubDomains"
   


   
        Options +FollowSymlinks
        AllowOverride All

       
            Dav off
       


        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
   

Appuyez sur "Ctrl+x" et tapez "Y" , puis appuyez sur 'Entrée ' pour enregistrer la configuration et quitter.

2. Activez maintenant le 'nextcloud.conf ' configuration de l'hôte virtuel en exécutant la commande suivante.

a2ensite nextcloud.conf

3. Vérifiez maintenant la nouvelle configuration apache et assurez-vous qu'il n'y a pas d'erreur, puis redémarrez le service apache.

apachectl configtest
systemctl restart apache2

Installation Nextcloud

Si toute la configuration du serveur connexe est terminée, vous pouvez accéder à votre installation Nextcloud avec le navigateur Web.

1. Ouvrez votre navigateur Web et saisissez l'adresse URL de votre installation Nextcloud.

https://files.nom-de-domaine.io

Créez votre premier utilisateur et administrateur pour Nextcloud et le répertoire de données est accessible en écriture par l'utilisateur 'www-data '.

2. Faites défiler la page vers le bas, saisissez le nom de la base de données de détails, l'utilisateur et le mot de passe. Pour l'option 'Installer les applications recommandées ', décochez pour rendre l'installation plus rapide. Cliquez ensuite sur 'Terminer la configuration ' pour installer Nextcloud.

3. Si l'installation réussit, vous verrez le tableau de bord Nextcloud comme ci-dessous.

4. Cliquez maintenant sur l'icône de l'utilisateur en haut à droite et cliquez sur le menu 'Paramètres '. Au 'Administration ', cliquez sur 'Vue d'ensemble '.

  • Dans la section "Avertissements de sécurité et de configuration", vous trouverez des recommandations que vous devez suivre, en fonction de votre environnement d'installation.
  • Dans la section "Versions", vous verrez la branche actuelle de votre installation Nextcloud.

5. Ensuite, cliquez sur le menu 'Système ' en bas de l'onglet 'Administration '.

Vous verrez les détails de votre environnement, la charge du système, l'état de l'espace disque, l'état de la mémoire, l'état du réseau, etc.

6. Comme dit précédemment, le nextcloud est devenu plus qu'une simple synchronisation de fichiers. Avec la prise en charge d'applications/plugins supplémentaires, c'est devenu une combinaison de collaboration.

En haut à droite de l'icône de profil, cliquez sur le menu 'Applications ', et vous verrez le magasin d'applications nextcloud comme ci-dessous.

Choisissez les applications que vous souhaitez installer, puis cliquez sur le bouton 'Télécharger et activer ' pour installer de nouvelles applications.

7. Vous trouverez ci-dessous la vue par défaut du tableau de bord utilisateur Nextcloud. Vous pouvez étendre les fonctionnalités de votre tableau de bord en installant des plugins supplémentaires.

Réglage des performances Nextcloud

Après avoir installé Nextcloud, vous pouvez effectuer quelques étapes supplémentaires pour augmenter les performances de Nextcloud en activant le cache de la mémoire locale et en configurant un cronjob pour Nextcloud lui-même.

1. En haut de la section d'installation de PHP, vous avez déjà configuré PHP pour la mise en cache. Pour activer la mise en cache sur Nextcloud, modifiez la configuration Nextcloud "config.php".

Changez le répertoire de travail en "/var/www/nextcloud/config " et éditez la configuration "config.php " en utilisant l'éditeur nano.

cd /var/www/nextcloud/config/
nano config.php

Ajoutez la configuration suivante dans le 'tableau ( .. ); ' parenthèse comme ci-dessous

$CONFIG =array (
....
  # Configuration supplémentaire
  'memcache.local' => '\OC\Memcache\APCu',

Appuyez maintenant sur "Ctrl+x " et tapez "y ", puis appuyez sur 'Entrée ' pour enregistrer la configuration et quitter.

2. Un système Nextcloud doit exécuter régulièrement certaines tâches en arrière-plan et sans aucune interaction utilisateur/administrateur. Pour ce faire, vous pouvez utiliser le cronjob pour les tâches Nextcloud du planificateur de tâches.

Sur le système Debian Linux, l'installation apache par défaut s'exécute sous l'utilisateur "www-data ". Créez une nouvelle tâche cron pour l'utilisateur "www-data " en utilisant la commande ci-dessous.

crontab -u www-data -e

Si vous avez plusieurs éditeurs sur votre système, choisissez l'éditeur qui vous convient le mieux. Pour ce guide, nous utiliserons un éditeur nano.

Ajoutez la configuration suivante.

*/5  *  *  *  * php -f /var/www/nextcloud/cron.php

Enregistrez la configuration et quittez.

Configuration de Cronjob que vous devez connaître :

  • Cette configuration cronjob permet à l'utilisateur "www-data " pour exécuter le script PHP "/var/www/nextcloud/cron.php " toutes les 5 minutes.

Pour vérifier la configuration du cronjob, vous pouvez exécuter la commande suivante.

crontab -u www-data -l

Si votre configuration est un succès, vous obtiendrez la configuration en haut comme sortie. Sinon, vous obtiendrez un résultat vide.

Conclusion

Félicitations ! Vous avez installé avec succès Nextcloud sur Debian 11 Bullseye. Le serveur Nextcloud s'exécute sous la pile LAMP avec SSL activé. De plus, votre installation Nextcloud fonctionne avec la mise en cache mémoire activée avec PHP APC et les extensions opcache.


Debian
  1. Comment installer R sur Debian 9

  2. Comment installer R sur Debian 10

  3. Comment installer Nextcloud sur Debian 9

  4. Comment installer Java 17 dans Debian 11

  5. Comment installer NextCloud 13 sur Debian 9

Comment installer Nextcloud sur Debian 8

Comment installer Go sur Debian 10

Comment installer Nextcloud sur Debian 11

Comment installer Tomcat 9 sur Debian 11

Comment installer Apache sur Debian 11

Comment installer Go sur Debian