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
- Assurez-vous que les packages du serveur sont à jour
- Désactiver SELinux
- Installer mysql
- Création d'un utilisateur mysql pour NextCloud
- Installer PHP
- Installer Nginx
- Télécharger et configurer Nextcloud
- Configurer Nginx pour servir NextCloud à partir d'un hôte virtuel
- Mettre à jour la configuration PHP
- 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.