GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer et configurer NextCloud sur Debian 11 et LEMP

Nextcloud est une suite Open Source de logiciels client-serveur permettant de créer et d'utiliser des services d'hébergement de fichiers. Il s'agit d'une solution de stockage cloud auto-hébergée gratuite similaire à Dropbox, Google Drive, etc. Avec Nextcloud, vous n'avez pas à vous soucier des alternatives coûteuses et puisque vous hébergerez vos propres fichiers, vous n'avez pas à vous inquiéter. concernant la confidentialité ou la collecte de vos données par quelqu'un.

NextCloud peut être installé sur un serveur domestique privé ou sur un serveur privé virtuel dans le cloud. Les fichiers peuvent ensuite être téléchargés puis synchronisés sur un ordinateur de bureau local, un ordinateur portable ou même un smartphone. De cette façon, vous avez le contrôle total de vos données.

Fonctionnalités de NextCloud

  • NextCloud dispose de clients de synchronisation pour Linux, Mac OS, Windows, Android et IOS
  • Chiffrement de bout en bout :les fichiers sont chiffrés lors de leur téléchargement sur le serveur
  • NextCloud est gratuit et Open Source
  • Peut être intégré à une suite bureautique en ligne (Collobora, OnlyOffice) afin que vous puissiez créer et modifier vos fichiers doc, ppt, xls directement depuis NextCloud.
  • La boutique d'applications contient des centaines d'applications pour étendre les fonctionnalités (telles que l'application d'agenda, l'application de prise de notes, l'application de visioconférence, etc.).

Contenu associé

  • Comment installer et configurer NextCloud sur Ubuntu 20.04 et LEMP
  • Comment installer et configurer NextCloud sur Centos 8 et LEMP
  • Comment installer et configurer Mariadb 10 dans Debian 11
  • Comment installer et configurer PHP et Nginx (LEMP) sur Debian 11

Prérequis

Pour suivre ce guide, assurez-vous d'avoir :

  • Un serveur Debian 11 à jour
  • Accès Internet depuis le serveur
  • Accès root depuis le serveur ou l'utilisateur avec accès sudo

Table des matières

  1. Assurez-vous que les packages du serveur sont à jour
  2. Installer Mariadb 10 dans Debian 11
  3. Création d'un utilisateur mysql pour NextCloud
  4. Installer PHP dans Debian 11
  5. Installer Nginx dans Debian 11
  6. Télécharger et configurer Nextcloud
  7. Configurer Nginx pour servir NextCloud à partir d'un hôte virtuel
  8. Mettre à jour la configuration PHP
  9. Accéder à Nextcloud à partir de l'URL Web

1. Assurez-vous que les packages du serveur sont à jour

Assurons-nous que nos packages serveur sont à jour avec cette commande :

sudo apt update
sudo apt -y upgrade

Pendant que nous y sommes, installons également certaines dépendances dont nous aurons besoin

sudo apt install -y unzip vim

2. Installer Mariadb dans Debian 11

Mariadb est un système de gestion relationnelle Opensource populaire. Il est disponible dans les dépôts par défaut en tant que mariadb-server .

Installez-le avec cette commande :

sudo apt install -y mariadb-server

Mariadb sera installé et démarré par défaut dans Debian 11. Vérifiez l'état avec ceci

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.5.12 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-12-11 14:40:42 UTC; 4s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 1937 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 1938 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 1940 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, statu>
    Process: 2001 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 2003 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 1987 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 14 (limit: 4626)
     Memory: 76.3M
        CPU: 639ms
     CGroup: /system.slice/mariadb.service
             └─1987 /usr/sbin/mariadbd

Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2008]: mysql
Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2008]: performance_schema
Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2008]: Phase 6/7: Checking and upgrading tables
Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2008]: Processing databases
Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2008]: information_schema
Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2008]: performance_schema
Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2008]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2008]: OK
Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2736]: Checking for insecure root accounts.
Dec 11 14:40:44 ip-10-2-40-145 /etc/mysql/debian-start[2743]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

Pour vous assurer que mariadb démarre au démarrage, activez-le avec cette commande systemd :

sudo systemctl enable mariadb

Une fois le service mysql en cours d'exécution, vous devez le sécuriser. Mysql fournit un utilitaire en ligne de commande qui fera cela :

sudo mysql_secure_installation

La commande ci-dessus vous guidera à travers les invites pour sécuriser et définir un mot de passe root pour l'instance mysql.

Consultez plus d'informations sur l'installation et la configuration de mysql dans ce guide ici

3. Création d'un utilisateur mysql pour NextCloud

Il est toujours recommandé d'avoir un utilisateur dédié pour chaque application qui se connecte à la base de données. Consultez ce guide sur la gestion des autorisations MySQL ici. Nous allons configurer une base de données, un utilisateur et un mot de passe à utiliser par nextcloud :

Connectez-vous au serveur mysql :

mysql -u root -p

Après avoir fourni votre mot de passe, entrez ce qui suit à l'invite mysql :

create database nextcloud;
create user 'nextcloud_user'@'%' identified by 'S0mStrongPa$$word';
grant all privileges on nextcloud.* to 'nextcloud_user'@'%';

Maintenant que nous avons configuré notre connexion mysql, passons à la section suivante où nous installons et configurons PHP et Nginx.

4. Installer PHP 7.4 dans Debian 11

NextCloud fonctionne bien avec PHP 6.4. Pour installer php 7.4, nous devons activer le référentiel remi afin d'obtenir la dernière version.

Ensuite, installez php et ses dépendances

sudo apt install -y \
  php \
  php-gd \
  php-curl \
  php-zip \
  php-dom \
  php-xml \
  php-simplexml \
  php-mbstring \
  php-intl \
  php-json \
  php-fpm

Pour plus d'informations sur la configuration de PHP et de Nginx, consultez ce guide ici.

5. Installer Nginx dans Debian 11

Ensuite, installons Nginx dans notre système. Utilisez cette commande pour installer nginx

sudo apt install -y nginx

Nginx sera démarré par défaut. Vérifiez l'état à l'aide de cette commande :

$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-12-11 14:42:39 UTC; 29s ago
       Docs: man:nginx(8)
    Process: 13698 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 13699 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 13780 (nginx)
      Tasks: 3 (limit: 4626)
     Memory: 3.1M
        CPU: 24ms
     CGroup: /system.slice/nginx.service
             ├─13780 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─13783 nginx: worker process
             └─13784 nginx: worker process

Dec 11 14:42:39 ip-10-2-40-145 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 11 14:42:39 ip-10-2-40-145 systemd[1]: Started A high performance web server and a reverse proxy server.

Active: active (running) indiquent que le service est maintenant opérationnel.

Pour activer le service au démarrage, utilisez cette commande :

sudo systemctl enable nginx

6. Téléchargez et configurez Nextcloud

Maintenant que nous avons configuré avec succès le serveur LEMP dans notre système, téléchargeons et configurons NextCloud. Vous pouvez obtenir la dernière version de NextCloud sur la page d'installation de NextCloud. Utilisez cette commande pour télécharger le serveur NextCloud :

cd /tmp
curl -LO https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip

Passons maintenant à un chemin de répertoire pour servir NextCloud dans /var/www puis extrayez-y le fichier téléchargé :

cd /var/www
sudo unzip /tmp/nextcloud-23.0.0.zip
sudo chown -R $USER:$GROUP nextcloud
sudo chmod -R 755 nextcloud

Nextcloud avait besoin d'un répertoire pour conserver ses données. Créez donc un répertoire de données et définissez les autorisations appropriées sur le répertoire nextcloud

sudo mkdir -p /var/nextcloud/data
sudo chown -R $USER:$GROUP /var/nextcloud
sudo chmod -R 755 /var/nextcloud

7. Configurer Nginx pour servir NextCloud à partir d'un hôte virtuel

Nous avons réussi à télécharger le contenu NextCloud sur /var/www/nextcloud . Ensuite, il a fallu configurer Nginx pour le servir.

Créons un site virtuel dans le répertoire où nginx sert le contenu ici /etc/nginx/conf.d :

sudo vim /etc/nginx/conf.d/nextcloud.conf

Ajoutez le contenu suivant :

server {
    listen 80;

    server_name nextcloud.citizix.com;
    root /var/www/nextcloud;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Une fois les modifications ci-dessus effectuées, nous devons redémarrer le serveur nginx et le serveur php-fom. Utilisez ces commandes dans le terminal pour y parvenir.

sudo systemctl restart php7.4-fpm nginx

Accéder à Nextcloud à partir de l'URL Web

Ensuite, dirigez-vous vers votre domaine défini, http://nextcloud.citizix.com/nextcloud pour moi. Il vous sera demandé de créer le compte utilisateur. Saisissez le nom d'utilisateur et le mot de passe à utiliser pour le nouvel utilisateur :

Entrez ensuite les détails de la base de données :

Après cela, cliquez sur Terminer. Vous serez redirigé vers la page de connexion où vous utiliserez les détails de l'utilisateur créé pour vous connecter. Une fois la connexion réussie, vous obtiendrez le tableau de bord.

Conclusion

Dans ce guide, nous avons réussi à configurer LEMP sur Debian 11 pour servir Next cloud.


Debian
  1. Comment installer et configurer Redis 6.0 sur Debian 11

  2. Comment installer et configurer docker sur Debian 11

  3. Comment installer et configurer Mariadb 10 dans Debian 11

  4. Comment installer et configurer MongoDB 5 sur Debian 11

  5. Comment installer et configurer Redis 6 sur Debian 11

Comment installer et configurer RabbitMQ sur Debian 11

Comment installer et configurer Memcached sur Debian 11

Comment installer Nextcloud sur Debian 11 / Debian 10

Comment installer et configurer Git dans Debian 11

Comment installer et configurer NextCloud sur Ubuntu 20.04 et LEMP

Comment installer et configurer Apache sur Debian 11 ?