GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et configurer NextCloud en utilisant LEMP sur Rocky Linux/Centos 8

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 Debian 11 et LEMP

Prérequis

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

  • Un serveur basé sur Rocky Linux/RHEL 8 à jour
  • Accès Internet
  • Accès root au serveur ou accès sudo

Table des matières

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

Assurez-vous que les packages du serveur sont à jour

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

sudo dnf -y update

Désactiver SELinux

Ensuite, désactivons SELinux. Nous allons définir SELinux sur permisif. Modifiez ce fichier :

vim /etc/selinux/config

Mettez ensuite à jour cette ligne :

SELINUX=permisive

Installer mysql

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

Installez-le avec cette commande :

sudo dnf install mysql-server

Vous devrez démarrer et activer pour vous assurer qu'il démarre toujours au démarrage du serveur.

sudo systemctl start mysql
sudo systemctl status mysqld

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

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.

Installer PHP

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.

Activez Remi repo avec cette commande :

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Activer php 7.4 en utilisant le module dnf :

sudo dnf module enable php:remi-7.4

Ensuite, installez php et ses dépendances

sudo dnf install -y php php-gd php-curl php-zip php-dom php-xml php-simplexml php-mbstring php-intl php-json

Pour plus d'informations sur la configuration d'Apache et de PHP, consultez ce guide ici. Découvrez la version de remi ici.

Installer Nginx

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

sudo dnf install -y nginx

Démarrez et vérifiez l'état de Nginx

$ sudo systemctl start nginx
$ sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           └─php-fpm.conf
   Active: active (running) since Fri 2021-10-15 17:33:39 UTC; 7s ago
  Process: 1138614 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 1138607 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 1138605 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 1138615 (nginx)
    Tasks: 3 (limit: 23800)
   Memory: 5.3M
   CGroup: /system.slice/nginx.service
           ├─1138615 nginx: master process /usr/sbin/nginx
           ├─1138616 nginx: worker process
           └─1138617 nginx: worker process

Oct 15 17:33:38 test-app-server systemd[1]: Starting The nginx HTTP and reverse proxy server...
Oct 15 17:33:39 test-app-server nginx[1138607]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

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

Télécharger et configurer 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 à partir de 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-22.2.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-22.2.0.zip
sudo chown -R nginx:nginx 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 nginx:nginx /var/nextcloud
sudo chmod -R 755 /var/nextcloud

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-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Mise à jour de la configuration PHP

Ensuite, occupons-nous de quelques configurations php. Nous utilisons php-fpm pour servir notre contenu php. Il est configuré pour fonctionner avec apache par défaut donc mettons à jour l'utilisateur et le groupe dans le fichier /etc/php-fpm.d/www.conf à nginx.

Modifier le fichier

vim /etc/php-fpm.d/www.conf

Ensuite, mettez-les à jour

user = nginx
group = nginx

Modifions également le répertoire de session pour que nous puissions nous connecter. Mettez à jour le répertoire de session PHP pour qu'il appartienne à nginx :

sudo chown nginx.nginx -R /var/lib/php/session/

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 php-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 un serveur basé sur Rocky Linux 8 ou RHEL pour servir le cloud Next.


Cent OS
  1. Comment installer et configurer Nginx, WordPress et Mysql 8 dans Rocky Linux/Centos 8

  2. Comment installer Mysql 8 sur Rocky Linux/Centos 8

  3. Comment installer et utiliser php Composer dans Rocky Linux/Centos 8

  4. Utilisation d'Ansible pour installer et initialiser Mysql 8 sur Rocky Linux/Centos 8

  5. Comment installer le client FreeIPA sur Rocky Linux/Alma Linux/CentOS 8

Comment installer GCC Compiler Collection sur CentOS 8 et Rocky Linux 8

Comment installer Fish Shell sur CentOS 8 et Rocky Linux 8

Comment installer Webmin sur CentOS 8 et Rocky Linux 8

Comment installer et configurer Jenkins dans Rocky Linux/Centos 8

Comment installer Rabbitmq dans Rocky Linux/Alma Linux/Centos 8

Comment installer Visual Studio Code sur Rocky Linux 8 et CentOS 8