Tutoriel étape par étape pour installer NextCloud sur Rocky Linux 8 pour le stockage cloud personnel afin de stocker des fichiers multimédias et des documents en utilisant Internet depuis n'importe où ; à l'aide d'un smartphone ou d'une application de bureau.
Qu'est-ce que Nextcloud ?
Nextcloud est un logiciel cloud open source gratuit pour le stockage crypté de données dans un cloud ou sur vos serveurs. Il s'agit d'un logiciel client-serveur et dérivé d'un autre open-source connu sous le nom de "OpenCloud". C'est également une bonne alternative au stockage dans le cloud comme Dropbox, Google Drive et OneDrive, si quelqu'un souhaite une solution cloud personnelle non hébergée.
Le stockage en nuage comme Dropbox, Google Drive et OneDrive est très populaire de nos jours; l'une des raisons est la synchronisation automatique des fichiers des utilisateurs avec le cloud sur différents appareils, de sorte que les données sont facilement accessibles et non perdues. Eh bien, cette installation est également présente sur Nextcloud.
Bien que ces services de stockage en nuage public soient proposés par de grandes entreprises, ils sont généralement sûrs et fiables. Cependant, ces offres présentent également des inconvénients. Ils n'offrent à leurs clients qu'une quantité limitée d'espace de stockage gratuit. Si les clients ont besoin de plus d'espace pour stocker leurs données, ils doivent payer.
NextCloud propose également une authentification à deux facteurs pour mieux protéger les comptes cloud contre les accès non autorisés. Alors que ce serveur cloud personnel peut également crypter les données pour envoyer des données à distance en toute sécurité, cependant, pour améliorer l'expérience utilisateur, en particulier pour les nouveaux arrivants, le cryptage n'est pas activé par défaut. Parce que le cryptage augmente la taille du fichier d'environ 35 %. De plus, il est également livré avec Healthcare et HIPAA; Kit de conformité RGPD ; Capacités d'audit et contrôle d'accès aux fichiers.
Étapes pour installer NextCloud sur Rocky Linux 8
Les étapes indiquées ici seront applicables à d'autres distributions Linux basées sur RedHat telles que CentOS, Almalinux, Oracle Linux…
1. Exigences
• Rocky Linux 8
• Apache, PHP 7.3, 7.4, 8.0
• MySQL 8.0+ ou MariaDB 10.2/10.3/10.4/10.5
• Utilisateur sudo non root
• 512 Mo de RAM
2. Exécutez la mise à jour du système
Si vous venez d'installer un nouveau serveur Rocky Linux ou si vous ne l'avez pas mis à jour depuis un certain temps, exécutez d'abord la commande de mise à jour du système :
sudo dnf update & sudo dnf upgrade
Installez également :
sudo dnf install wget nano unzip
3. Désactiver SELinux dans Rocky Linux
Une fois la mise à jour terminée, mettez également SELinux en mode permissif, ce qui signifie le désactiver temporairement jusqu'au prochain redémarrage. Cela garantira qu'il n'y aura pas de restriction indésirable lors de l'installation de NextCloud.
sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Pour vérifier l'état :
sestatus
4. Installer Apache (httpd)
Comme l'une des exigences de NextCloud est le serveur Web, installez donc Apache, en plus d'être une application Web basée sur PHP, configurez-la également.
sudo dnf install httpd wget
Démarrer et activer les services Apache
sudo systemctl enable --now httpd
Pour vérifier l'état :
sudo systemctl status httpd
5. PHP 8.0 + extensions pour NextCloud dans Rocky Linux 8
Selon NextCloud, il est recommandé d'utiliser PHP 8.0. Par conséquent, nous optons pour cela car la version via le référentiel par défaut de Rocky Linux est 7.2. Par conséquent, nous devons ajouter manuellement le référentiel Remi pour obtenir la dernière version.
sudo dnf install epel-release
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf update
sudo dnf module reset php
sudo dnf module enable php:remi-8.0
Installer :
sudo dnf -y install php php-cli php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-pdo php-pecl-apcu php-pecl-apcu-devel php-ldap
Augmenter la limite de mémoire PHP :
sudo nano /etc/php.ini
Trouver memory_limit et définissez la valeur sur 512M
memory_limit = 512M
Enregistrez le fichier :Ctrl+O , appuyez sur Entrée , puis quittez :Ctrl+X .
5. Configurez MariaDB et créez une base de données
Nous avons également besoin d'un support pour stocker les données générées par NextCloud, ici nous utilisons MariaDB. Cependant, vous pouvez également utiliser MySQL, SQLite, Oracle Database et PostgreSQL si vous le souhaitez.
sudo dnf install mariadb-server mariadb
Démarrez et activez le service :
sudo systemctl enable --now mysqld
Base de données sécurisée :
sudo mysql_secure_installation
Suivez l'assistant textuel.
Créer une nouvelle base de données pour NextCloud :
Connexion :
mysql -u root -p
Créer un utilisateur de base de données :
CREATE USER 'youruser'@'localhost' IDENTIFIED BY "yourpassword";
Créer une base de données :
CREATE DATABASE yourdb;
Donnez tous les droits d'utilisation de la base de données créée :
GRANT ALL PRIVILEGES ON yourdb.* TO 'youruser'@'localhost';
FLUSH PRIVILEGES;
exit;
Remarque :Remplacez votrebd avec le nom de la base de données que vous voulez donner, alors que le votreutilisateur avec le nom d'utilisateur et votremotdepasse avec le mot de passe que vous souhaitez attribuer.
6. Téléchargez et installez Nextcloud sur Rocky Linux 8
Visitez le site officiel de NextCloud puis téléchargez-le. Faites un clic droit sur Télécharger bouton et copiez l'adresse du lien.
collez le lien avec wget
wget paste-link
Exemple :
wget https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip
décompressez le fichier :
unzip nextcloud-*.zip
Déplacez le fichier extrait vers /var/www/html/
répertoire
sudo mv nextcloud/ /var/www/html/
Créer un dossier de données pour stocker les données téléchargées dans Nextcloud
sudo mkdir /var/www/html/nextcloud/data
Maintenant, accordez l'autorisation Nextcloud à l'utilisateur Apache :
sudo chown apache:apache -R /var/www/html/nextcloud
7. Créer un fichier Apache VirtualHost pour NextCloud
Créons un fichier de configuration Apache pour NextCloud, pour servir le fichier au cas où vous utilisez le nom de domaine ou si plusieurs sites Web s'exécutent sur le même serveur.
sudo nano /etc/httpd/conf.d/nextcloud.conf
Collez les lignes suivantes :
Remarque :N'oubliez pas de remplacer cloud.example.com avec le nom de domaine que vous souhaitez utiliser. Si vous n'en avez pas, laissez-le tel quel.
<VirtualHost *:80> ServerName cloud.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/nextcloud <directory /var/www/html/nextcloud> Require all granted AllowOverride All Options FollowSymLinks MultiViews SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </directory> </VirtualHost>
Redémarrez le serveur Web Apache et définissez les règles SELinux :
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
sudo sudo restorecon -Rv /var/www/html
sudo systemctl restart httpd
8. Ouvrir le port dans le pare-feu
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
9. Accéder à l'interface Web NextCloud
Une fois toutes les étapes ci-dessus terminées, vous êtes prêt à accéder à l'interface Web pour configurer NextCloud plus avant sur votre système Rocky Linux 8.
Ouvrez votre navigateur qui peut accéder au domaine ou à l'adresse IP du serveur sur lequel vous avez installé NextCloud. Après ce point vers l'Ip ou le domaine :
http://your-server-ip-address or http://your-domain.com
Créer un utilisateur administrateur et entrer les détails de la base de données
La première page vous demandera de créer un administrateur utilisateur et après cela sélectionnez MySQL/MariaDB comme base de données. Entrez les détails de la base de données vous avez créé.
Après cela, cliquez sur Terminer bouton.
10. Comment mettre à jour ou mettre à niveau
À l'avenir, si vous souhaitez mettre à niveau votre NextCloud à l'aide de la commande, facilement, alors voici la commande :
Modifier php.ini
sudo nano /etc/php.ini
Faites défiler jusqu'à la fin du fichier :
--define apc.enable_cli=1
Enregistrer le fichier en utilisant Ctrl+O , appuyez sur Entrée touche , puis appuyez sur Ctrl+X
Une fois que vous avez ajouté
sudo -u apache php --define apc.enable_cli=1 /var/www/nextcloud/updater/updater.phar
11. Configurer Let's Encrypt SSL pour NextCloud
Ceux qui souhaitent également définir un certificat SSL doivent exécuter les commandes suivantes :
Remarque : Assurez-vous que l'enregistrement DNS "A" de votre domaine pointe vers l'adresse IP sur laquelle vous avez installé NextCloud.
sudo systemctl stop httpd
sudo dnf -y install certbot mod_ssl
sudo certbot certonly --standalone -d cloud.example.com --preferred-challenges http --agree-tos -n -m [email protected] --keep-until-expiring
Une fois le SSL certificat a été émis avec succès, modifiez votre configuration Apache existante :
sudo nano /etc/httpd/conf.d/nextcloud.conf
Supprimez la configuration existante et ajoutez la suivante. Et n'oubliez pas de remplacer le cloud.example.com avec le nom de domaine que vous souhaitez utiliser accédez à NextCloud.
<VirtualHost *:80> ServerName files.example.com ServerAdmin [email protected] RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName cloud.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/nextcloud <directory /var/www/html/nextcloud> Require all granted AllowOverride All Options FollowSymLinks MultiViews SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </directory> SSLEngine on SSLCertificateFile /etc/letsencrypt/live/cloud.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/cloud.example.com/privkey.pem </VirtualHost> </IfModule>
Enregistrez le fichier en appuyant sur Ctlr+O , appuyez sur Entrée clé, puis quittez la même en utilisant Ctrl + X .
Conclusion
De cette façon, nous pouvons installer NextCloud sur Rocky Linux ou dans n'importe quel système basé sur Redhat tel que CentOS, Oracle Linux… Bien que ce soit un bon moyen de configurer votre cloud pour accéder aux fichiers à distance, quelques inconvénients sont toujours là. Par exemple, l'utilisateur sera responsable de la maintenance, de la sécurité et des paramètres, y compris le matériel.