Nextcloud est un logiciel gratuit et open source qui vous permet de créer des services d'hébergement de fichiers comme Dropbox, Google Drive ou Mega.nz. Il est créé par le développeur original d'owncloud, Frank Karlitschek. En 2016, il fork le Owncloud projet et crée un nouveau projet avec le nom "Nextcloud ".
À ce moment, le Nextcloud projet se développe rapidement et devient plus qu'un simple logiciel d'hébergement de fichiers. Avec le support de nombreux plugins, Nextcloud devient un tel logiciel de collaboration. Vous pouvez installer des plugins pour la gestion de projet, la vidéoconférence, l'édition collaborative, la prise de notes, le client de messagerie, etc.
Dans ce guide, vous apprendrez comment installer Nextcloud sur Rocky Linux 8.4. Vous installerez Nextcloud sous la pile LAMP (Linux, Apache2/httpd, MySQL/MariaDB et PHP).
Prérequis
- Un serveur Rocky Linux. Assurez-vous que tous les packages sont mis à jour vers la dernière version.
- Un utilisateur avec des privilèges root. Cet utilisateur obtiendra les privilèges root via la commande sudo.
Installation du serveur Web Apache/Httpd
Dans un premier temps, vous installerez le serveur Web Apache ou httpd sur le serveur Rocky Linux.
1. Exécutez la commande dnf ci-dessous pour installer le serveur Web httpd.
sudo dnf installer httpd
Tapez "o " et appuyez sur "Entrée " pour confirmer et installer les packages httpd.
2. Si l'installation est terminée, activez et démarrez le service httpd à l'aide de la commande suivante.
sudo systemctl enable httpd
sudo systemctl start httpd
Le "systemctl enable " la commande permettra au service de démarrer à chaque démarrage.
3. Après cela, exécutez la commande ci-dessous pour vérifier le service httpd.
sudo systemctl status httpd
Et vous obtiendrez un résultat similaire à celui ci-dessous.
Comme on le voit sur la capture d'écran du haut, le httpd est actif et en cours d'exécution.
Installer PHP sur Rocky Linux
Pour l'instant, Nextcloud a besoin de PHP 7.4 ou supérieur pour l'installation. Vous allez maintenant installer PHP 7.4 à partir du dépôt remi.
1. Exécutez la commande suivante pour ajouter le référentiel epel et remi
installation sudo dnf https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
installation sudo dnf https://rpms.remirepo.net/enterprise/ remi-release-8.rpm
Tapez "y " et appuyez sur "Entrée " pour ajouter le dépôt epel et remi.
Une fois l'installation terminée, vérifiez le référentiel epel et Remi à l'aide de la commande suivante.
repolist sudo dnf
Vous verrez les référentiels epel et remi dans la liste des référentiels.
2. Ensuite, réinitialisez le module de référentiel par défaut PHP. Activez ensuite le module pour PHP 7.4 depuis le dépôt remi.
Exécutez la commande suivante pour réinitialiser le référentiel de modules php par défaut.
réinitialiser le module sudo dnf php
Dans le processus, tapez "y " et appuyez sur "Entrée " pour ajouter le référentiel remi de la clé gpg.
Après cela, exécutez la commande ci-dessous pour activer le module php à partir du référentiel remi.
activer le module sudo dnf php:remi-7.4
Tapez "o " pour confirmer et appuyez sur "Entrée " pour continuer. Vous êtes maintenant prêt à installer PHP et toutes les extensions pour l'installation de WordPress.
3. Exécutez la commande suivante pour installer php avec certaines extensions nécessaires.
sudo dnf installer php php-ctype php-curl php-gd php-iconv php-json php-libxml php-mbstring php-openssl php-posix php-session php-xml php-zip php-zlib php-pdo php -mysqlnd php-intl php-bcmath php-gmp php-imagick php-apcu
4. Une fois l'installation de PHP terminée, modifiez la configuration "php.ini " en utilisant l'éditeur nano.
nano /etc/php.ini
Modifiez la valeur par défaut avec la configuration ci-dessous.
file_uploads =Activé
allow_url_fopen =Activé
memory_limit =512M
upload_max_filesize =500M
post_max_size =600M
max_execution_time =300
display_errors =Désactivé
date.timezone =Europe/Amsterdam
Appuyez sur "Ctrl+x " et tapez "O " pour enregistrer la configuration et quitter.
La configuration importante que vous devez connaître :
- Pour la production Nextcloud, vous avez besoin de "memory_limit " plus de 512 Mo.
- Le "upload_max_filesize " vous permet de configurer la taille maximale de téléchargement sur votre serveur Nextcloud.
- La "post_max_size " l'option doit être plus élevée que "upload_max_filesize ".
- Le "date.timezone " l'option doit correspondre à l'heure locale du système " /etc/localtime ".
- Augmenter le "max_execution_time " en fonction de la charge de votre serveur.
5. Ensuite, changez le répertoire de travail en "/etc/php.d/ " et modifiez la configuration "10-opcache.ini " en utilisant l'éditeur nano.
cd /etc/php.d/
nano 10-opcache.ini
Ajoutez la configuration suivante pour activer le plugin PHP opecache.
opcache.enable =1
opcache.interned_strings_buffer =8
opcache.max_accelerated_files =10000
opcache.memory_consumption =128
opcache.save_comments =1
opcache. revalidate_freq =1
Appuyez sur "Ctrl+x " et tapez "Y " pour enregistrer la configuration et quitter.
6. Pour appliquer une nouvelle configuration PHP, redémarrez le service httpd à l'aide de la commande suivante.
sudo systemctl redémarrer httpd
Installation et configuration de MariaDB
Pour cette étape, vous allez installer le serveur de base de données mariadb, sécuriser le déploiement de mariadb et créer une nouvelle base de données et un nouvel utilisateur pour Nextcloud.
1. Pour installer le serveur de base de données mariadb, exécutez la commande ci-dessous.
sudo dnf installer mariadb mariadb-server
Attendez l'installation de mariadb.
2. Une fois l'installation terminée, activez et démarrez le service mariadb à l'aide de la commande suivante.
sudo systemctl enable mariadb
sudo systemctl start mariadb
4. Le mariadb sera actif et en cours d'exécution, exécutez la commande suivante pour vérifier le service mariadb.
sudo systemctl status mariadb
Si le service mariadb est en cours d'exécution, vous obtiendrez une sortie similaire à celle ci-dessous.
5. Ensuite, vous devez sécuriser votre déploiement de mariadb en configurant le mot de passe root pour mariadb et en supprimant certaines configurations par défaut. Pour ce faire, vous pouvez utiliser l'outil de ligne de commande 'mysql_secure_installation ', qui est inclus dans l'installation par défaut de mariadb.
Exécutez le "mysql_secure_installation " commande ci-dessous.
mysql_secure_installation
Dans un premier temps, il vous sera demandé de configurer le mot de passe root mariadb.
Tapez votre mot de passe root mariadb fort et répétez, puis appuyez sur "Entrée " pour continuer.
La définition du mot de passe root garantit que personne ne peut se connecter à l'utilisateur root MariaDB
sans l'autorisation appropriée.
Définir le mot de passe root ? [O/n] O
Nouveau mot de passe :
Entrez à nouveau le nouveau mot de passe :
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
... Réussi !Tapez maintenant "O " et appuyez sur "Entrée " pour supprimer l'utilisateur anonyme par défaut du serveur mariadb.
Par défaut, une installation MariaDB a un utilisateur anonyme, permettant à n'importe qui
de se connecter à MariaDB sans avoir à créer un compte utilisateur
pour lui. Ceci est uniquement destiné aux tests et à rendre l'installation
un peu plus fluide. Vous devez les supprimer avant de passer à
un environnement de production.
Supprimer les utilisateurs anonymes ? [O/n] O
... Succès !Après cela, désactivez la connexion à distance pour l'utilisateur par défaut 'root '. Tapez "O " et appuyez sur "Entrée " pour continuer.
Normalement, root ne devrait être autorisé à se connecter qu'à partir de 'localhost'. Cela
assure que personne ne peut deviner le mot de passe root à partir du réseau.
Interdire la connexion root à distance ? [O/n] O
... Succès !Tapez "O " à nouveau pour supprimer la base de données par défaut "test " et appuyez sur "Entrée ".
Par défaut, MariaDB est livré avec une base de données nommée "test" à laquelle tout le monde peut
accéder. Ceci est également destiné uniquement aux tests et doit être supprimé
avant de passer à un environnement de production.
Supprimer la base de données de test et y accéder ? [O/n] O
- Suppression de la base de données de test...
... Succès !
- Suppression des privilèges sur la base de données de test...
... Succès !Et le dernier, tapez "Y " à nouveau pour recharger tous les privilèges des tables afin d'appliquer une nouvelle configuration.
Le rechargement des tables de privilèges garantira que toutes les modifications apportées jusqu'à présent
entreront en vigueur immédiatement.
Recharger les tables de privilèges maintenant ? [O/n] O
... Succès !Le processus est maintenant terminé et vous verrez la sortie suivante.
Nettoyage...
C'est fait ! Si vous avez terminé toutes les étapes ci-dessus, votre installation de MariaDB
devrait maintenant être sécurisée.
Merci d'utiliser MariaDB !Création d'une base de données pour Nextcloud
1. connectez-vous au shell mariadb à l'aide de la commande mysql ci-dessous.
mysql -u root -p2. Maintenant, exécutez la requête mysql suivante pour créer une nouvelle base de données "nextcloud_db".
CRÉER UNE BASE DE DONNÉES netxcloud_db ;3. Exécutez la requête suivante pour créer un nouvel utilisateur de base de données "nextuser ". Modifiez le "mot de passe fort " avec votre mot de passe fort.
CRÉER UN UTILISATEUR [email protected] IDENTIFIÉ PAR 'StrongPassword' ;4. Autoriser l'utilisateur "nextuser " pour accéder et écrire le "nextcloud_db " en utilisant la requête suivante.
ACCORDER TOUS LES PRIVILÈGES SUR netxcloud_db.* À [email protected] ;5. Rechargez maintenant tous les privilèges des tables pour appliquer la nouvelle configuration de la base de données.
PRIVILÈGES FLUSH ;Ensuite, vous pouvez taper "quitter " et appuyez sur "Entrée " pour quitter le shell mariadb.
Télécharger le code source Nextcloud
1. Changez le répertoire de travail en "/var/www " et téléchargez la dernière version du code source de Nextcloud en utilisant la commande wget comme ci-dessous.
cd /var/www/
wget https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip2. Extrayez le code source Nextcloud "nextcloud-xx.zip " et vous obtiendrez un nouveau répertoire "nextcloud ", puis changez le propriétaire du "nextcloud " répertoire vers "apache " utilisateur.
décompressez nextcloud-22.1.0.zip
chown -R apache:apache nextcloudVous êtes maintenant prêt à configurer l'hôte virtuel httpd pour Nextcloud.
Activer le module Apache/Httpd mod_ssl
Pour ce tutoriel, vous allez installer Nextcloud et sécuriser avec le SSL de Letsencrypt. Vous devez donc activer le mod_ssl pour le serveur httpd sur Rocky Linux.
1. Installez le package "mod_ssl " en utilisant la commande dnf ci-dessous.
sudo dnf installer mod_ssl mod_http22. après cela, générez le SSL par défaut pour localhost à l'aide de la commande openssl ci-dessous. Mais si vous avez déjà des certificats "/etc/pki/tls/private/localhost.key " et "/etc/pki/tls/certs/localhost.crt ", vous pouvez ignorer cette étape.
openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crtVous pouvez simplement appuyer sur Entrée pour toutes les questions car ce certificat ne sera utilisé que pour localhost, pas pour le nom de domaine WordPress.
3. Maintenant, exécutez la commande suivante pour vous assurer que le mod_ssl est disponible sur le serveur Web httpd.
apachectl -M | grep sslSi vous avez une sortie telle que "ssl ", alors le mod_ssl est activé. Sinon, vous obtiendrez une sortie vide.
Générer SSL Letsencrypt avec Certbot
Dans cette étape, vous installerez l'outil cerbot et générerez les certificats SSL pour l'installation de WordPress. Vous allez générer SSL Letsencrypts avec le plugin webroot.
1. Exécutez la commande suivante pour installer l'outil certbot permettant de générer SSL Letsencrypt.
sudo dnf install certbotAttendez le processus d'installation.
2. Une fois l'installation terminée, créez un nouveau répertoire pour l'autorisation Letsencrypt à l'aide des commandes suivantes.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt3. Ensuite, changez le répertoire de travail en "/etc/httpd/conf.d/ " et créez une nouvelle configuration "well-known.conf " en utilisant l'éditeur nano.
cd /etc/httpd/conf.d/
nano well-known.confAjoutez les configurations suivantes.
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec
Méthode requise GET POST OPTIONSAppuyez sur "Ctrl+x " et tapez "y " pour enregistrer et quitter.
4. Exécutez maintenant les commandes suivantes pour vérifier la configuration httpd et redémarrez le service httpd.
apachectl configtest
sudo systemctl restart httpdSi vous n'avez pas d'erreur, vous êtes prêt à générer SSL Letsencrypt avec le plugin webroot.
5. Avant de générer SSL Letsencrypt, assurez-vous que votre nom de domaine correspond à l'adresse IP du serveur. Après cela, vous pouvez générer SSL Letsencrypt avec le plugin webroot en exécutant la commande certbot ci-dessous. Changez également l'adresse e-mail et le nom de domaine pour les vôtres.
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d files.domain.com -dUne fois le processus terminé, vos certificats SSL seront disponibles sur le "/etc/letsencrypt/live/files.domain.com/ " répertoire.
Configuration de l'hôte virtuel Apache pour Nextcloud
Dans cette étape, vous allez ajouter une nouvelle configuration d'hôte virtuel apache/httpd pour Nextcloud.
1. Changez le répertoire de travail en "/etc/httpd/conf.d " et créer une nouvelle configuration "nextcloud.conf " en utilisant l'éditeur nano.
cd /etc/httpd/conf.d/
nano nextcloud.confModifiez le nom de domaine détaillé et le répertoire du chemin SSL par les vôtres et collez la configuration dans le fichier "nextcloud.conf " fichier.
ServerName files.domain.com
ServerAlias www.files.domain.com
# redirection automatique HTTP vers HTTPS
Redirection permanent / https://files.domain.com/
ServerName files.domain.com
ServerAlias www .files.domain.com
DocumentRoot /var/www/nextcloud/
Protocoles h2 http/1.1
# redirection automatique www vers non- www
Redirection permanente / https://files.domain.com/
# fichiers journaux
ErrorLog /var/log/httpd/files.domain.com-error.log
CustomLog /var/log/httpd/files.domain.com- access.log combiné
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/files.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/files.domain .com/privkey.pem
# HSTS
L'en-tête est toujours défini sur Strict-Transport-Security "max-age=15552000 ; includeSubDomains"
Options +FollowSymlinks
AllowOverride All
Dav off
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Appuyez sur "Ctrl+x " et tapez "O " pour enregistrer la configuration et quitter.
3. Ensuite, exécutez la commande suivante pour vérifier la configuration httpd.
test de configuration sudo apachectlSi vous n'obtenez aucune erreur, redémarrez le service httpd à l'aide de la commande ci-dessous.
sudo systemctl redémarrer httpdVous êtes maintenant prêt pour l'installation de Nextcloud via le navigateur Web.
Installer Nextcloud
Si toute la configuration du serveur connexe est terminée, vous pouvez accéder à votre installation Nextcloud avec le navigateur Web.
1. Ouvrez votre navigateur Web et saisissez l'adresse URL de votre installation Nextcloud.
http://files.domain.com
Vous allez maintenant être redirigé vers la connexion HTTPS sécurisée et vous obtiendrez la page comme suit.
- Dans la section "Créer un compte administrateur", saisissez un nouveau nom d'utilisateur et un nouveau mot de passe pour votre administrateur.
- Pour la section "Dossier de données", laissez-la par défaut maintenant.
- Dans la section "Configurer la base de données", choisissez "MySQL/MariaDB" et saisissez les détails de la configuration de la base de données
- De plus, vous pouvez installer les applications recommandées en cochant la case. Ou décochez la case si vous ne le souhaitez pas.
Après cela, vous pouvez cliquer sur "Terminer la configuration bouton ".
2. Une fois le processus d'installation terminé, vous verrez le tableau de bord Nextcloud par défaut comme ci-dessous.
3. Cliquez maintenant sur le menu "Fichiers " et vous verrez la liste des fichiers et dossiers du tableau de bord de l'utilisateur.
4. Pour accéder à la page d'administration, cliquez sur le profil de l'utilisateur en haut et sélectionnez "Paramètres ".
Sous la rubrique "Administratif ", vous pouvez modifier la configuration par défaut de Nextcloud.
5. Pour ajouter de nouveaux plugins ou applications, vous pouvez cliquer sur le profil utilisateur en haut et sélectionner "Applications ".
Vous obtiendrez maintenant la page comme suit.
Choisissez la catégorie de plugin qui vous convient, puis cliquez sur le bouton "Télécharger et activer ". Après cela, cliquez sur "Activer " pour activer l'application ou le plug-in.
Ci-dessous, la capture d'écran après avoir activé le thème Nextcloud Breeze Dark.
Réglage des performances Nextcloud
Après avoir installé Nextcloud, vous pouvez effectuer quelques étapes supplémentaires pour augmenter les performances de Nextcloud en activant le cache de la mémoire locale et en configurant une tâche cron pour Nextcloud lui-même.
1. En haut de la section d'installation de PHP, vous avez déjà configuré PHP pour la mise en cache. Pour activer la mise en cache sur Nextcloud, modifiez la configuration Nextcloud "config.php".
Changez le répertoire de travail en "/var/www/nextcloud/config " et éditez la configuration "config.php" en utilisant l'éditeur nano.
cd /var/www/nextcloud/config/
nano config.php
Ajoutez la configuration suivante dans le 'tableau ( .. ); ' parenthèse comme ci-dessous
$CONFIG =array (
....
....
....
# Configuration supplémentaire
'memcache.local' => '\OC\Memcache\APCu',
);
Appuyez maintenant sur "Ctrl+x " et tapez "y " pour enregistrer la configuration et quitter.
2. Un système Nextcloud doit exécuter régulièrement certaines tâches en arrière-plan et sans aucune interaction utilisateur/administrateur. Pour ce faire, vous pouvez utiliser le cronjob pour les tâches Nextcloud du planificateur de tâches.
Sur Rocky Linux, l'utilisateur httpd par défaut est "apache ". Créez une nouvelle tâche cron pour l'utilisateur "apache " en utilisant la commande ci-dessous.
crontab -u apache -e
Ajoutez la configuration suivante.
*/5 * * * * php -f /var/www/nextcloud/cron.php
Remarque sur la configuration et la sortie.
Configuration de Cronjob que vous devez connaître :
- Cette configuration cronjob permet à l'utilisateur "apache " pour exécuter le script PHP "/var/www/nextcloud/cron.php " toutes les 5 minutes .
Pour vérifier la configuration du cronjob, vous pouvez exécuter la commande suivante.
crontab -u apache -l
Si votre configuration est un succès, vous obtiendrez la configuration en haut en tant que sortie. Sinon, vous obtiendrez un résultat vide.
Conclusion
Félicitations ! Vous avez installé avec succès Nextcloud sur Rocky Linux 8.4. Le serveur Nextcloud s'exécute sous la pile LAMP avec SSL activé. De plus, votre installation Nextcloud fonctionne avec la mise en cache mémoire activée avec PHP APC et les extensions opcache.