Tutoriel étape par étape pour installer NextCloud sur AlmaLinux 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 d'architecture serveur-client gratuit et open-source dont le code source est disponible sur GitHub. Il s'agit d'un fork d'une autre solution cloud personnelle populaire "OwnCloud". Tout utilisateur ou entreprise peut l'utiliser pour créer son cloud similaire à Google Drive, iCloud, Dropbox et Onedrive. Où synchroniser et accéder aux données (télécharger et télécharger) automatiquement avec un utilisateur d'annuaire local peut utiliser l'application client Next Cloud pour smartphones et ordinateurs de bureau. Cela signifie qu'une base de données cohérente est accessible depuis plusieurs ordinateurs, mais aussi via une interface web. Bien que Nextcloud soit basé sur PHP, seul Linux est pris en charge en tant qu'environnement de serveur. Il n'est pas non plus possible d'utiliser Apache ou NGINX avec PHP sous Windows.
Étapes pour installer NextCloud sur AlmaLinux 8
Les étapes indiquées ici seront applicables à d'autres distributions Linux basées sur RedHat telles que CentOS, Rocky Linux, Oracle Linux…
1. Exigences
• AlmaLinux 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 AlmaLinux 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 AlmaLinux 8
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 AlmaLinux 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 d'AlmaLinux 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 AlmaLinux 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 AlmaLinux 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 dans votre domaine DNS "A ” l'enregistrement pointe vers l'adresse IP où 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 AlmaLinux 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.
L'installation et la configuration de votre propre Nextcloud sur un VPS Linux prend environ une heure - et est également faisable pour les débutants Linux. Et si vous entendiez parler de failles de sécurité et de scandales de la part des fournisseurs de cloud habituels à l'avenir ? Ensuite, vous pouvez créer votre propre cloud en utilisant Nextcloud ; il peut améliorer l'offre d'OwnCloud de plusieurs manières. Il est important de peser le pour et le contre des options open source et commerciales lors du choix d'une solution de stockage. L'outil de partage de fichiers open source de Nextcloud est une option viable, gratuite et attrayante pour de nombreux particuliers et entreprises.