GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer NextCloud sur Ubuntu 20.04 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 PHP et Nginx (LEMP) sur Ubuntu 20.04
  • Comment installer et configurer NextCloud sur Debian 11 et LEMP
  • Comment installer et configurer NextCloud sur Centos 8 et LEMP
  • Comment installer et configurer Mariadb 10 dans Ubuntu 20.04
  • Comment installer et configurer mysql 8 sur Ubuntu 20.04
  • Comment installer et configurer PHP et Nginx (LEMP) sur Debian 11

Prérequis

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

  • Un serveur Ubuntu 20.04 à 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 Ubuntu 20.04
  3. Création d'un utilisateur mysql pour NextCloud
  4. Installer PHP dans Ubuntu 20.04
  5. Installer Nginx dans Ubuntu 20.04
  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 Ubuntu 20.04

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 Ubuntu 20.04. Vérifiez l'état avec ceci

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.3.32 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-12-15 08:40:15 UTC; 6min ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 47484 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 47485 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 47487 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 (cod>
    Process: 47566 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 47568 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 47534 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 30 (limit: 4631)
     Memory: 62.7M
     CGroup: /system.slice/mariadb.service
             └─47534 /usr/sbin/mysqld

Dec 15 08:40:15 ip-10-2-40-248 systemd[1]: Starting MariaDB 10.3.32 database server...
Dec 15 08:40:15 ip-10-2-40-248 mysqld[47534]: 2021-12-15  8:40:15 0 [Note] /usr/sbin/mysqld (mysqld 10.3.32-MariaDB-0ubuntu0.20.04.1) starting as process 47534 ...
Dec 15 08:40:15 ip-10-2-40-248 systemd[1]: Started MariaDB 10.3.32 database server.
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47573]: Looking for 'mysql' as: /usr/bin/mysql
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47573]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47573]: This installation of MySQL is already upgraded to 10.3.32-MariaDB, use --force if you still need to run mysql_upgrade
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47581]: Checking for insecure root accounts.

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 mariadb 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. Installation de PHP 7.4 dans Ubuntu 20/04

NextCloud fonctionne bien avec PHP 7.4. Cette version est disponible dans les dépôts Ubuntu par défaut.

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. Installation de Nginx dans Ubuntu 20.04

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 :

Saisissez 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 Ubuntu 20.04 pour servir le cloud Next.


Ubuntu
  1. Comment installer et configurer Redis sur Ubuntu 18.04

  2. Comment installer et configurer Redmine sur Ubuntu 18.04

  3. Comment installer et configurer Samba sur Ubuntu 18.04

  4. Comment installer et configurer Redis sur Ubuntu 20.04

  5. Comment installer et configurer Jenkins sur Ubuntu 20.04

Comment installer et configurer Neo4j sur Ubuntu 20.04

Comment installer et configurer le SDK Ubuntu dans Ubuntu 16.04 et 14.04

Comment installer et configurer PostgreSQL sur Ubuntu

Comment installer et configurer Hadoop sur Ubuntu 20.04

Comment installer et configurer NextCloud sur Debian 11 et LEMP

Comment installer et configurer Nextcloud sur Ubuntu 20.04