GNU/Linux >> Tutoriels Linux >  >> Fedora

Comment installer un serveur Nextcloud privé sur Fedora 34

Nextcloud est une suite logicielle d'applications permettant de stocker et de synchroniser des fichiers et des données sur plusieurs appareils. Il s'agit d'une solution entièrement sur site pour partager et collaborer sur des documents, gérer votre calendrier et envoyer et recevoir des e-mails.

Nextcloud vous offre le contrôle et la protection de vos données tout en facilitant la communication. Il peut permettre la productivité car vous pouvez accéder, synchroniser et partager vos données existantes sur un lecteur FTP sur plusieurs appareils connectés à la maison ou au bureau. De plus, la confidentialité des données est essentielle et l'exécution d'un serveur Nextcloud privé est un excellent moyen de commencer.

Installer un serveur Nextcloud privé sur Fedora 34

Ce tutoriel montrera comment installer un serveur Nextcloud privé sur un serveur basé sur Fedora 34. Nous installerons un serveur Web Apache, PHP 7.4, ainsi qu'un serveur et un client MariaDB comme prérequis.

Étape 1. Prérequis

La première étape consiste à satisfaire les prérequis suivants.

  • Un serveur exécutant Fedora. (J'utiliserai Fedora Workstation 34 pour la démonstration)
  • Un utilisateur sudo non root.
  • Mettez à jour vos packages.
sudo dnf update
  • Packages et dépendances essentiels.
    Certains de ces packages sont peut-être déjà installés sur votre système.

    dnf install wget curl bzip2 nano unzip policycoreutils-python-utils -y

Remarque :si vous avez déjà configuré des prérequis et des packages, vous pouvez ignorer ces étapes.

Configuration du pare-feu dans Fedora

La première étape consiste à configurer le pare-feu à partir de Firewalld via la ligne de commande. Notez que Firewalld est préinstallé sur les serveurs Fedora.

Vérifiez l'état du pare-feu pour vous assurer qu'il est en cours d'exécution :

sudo firewall-cmd --state
running

L'étape suivante consiste à autoriser les ports HTTP et HTTPS.

Vérifiez les services et les ports autorisés :

sudo firewall-cmd --permanent --list-services
dhcpv6-client mdns samba-client ssh

Autoriser les ports HTTP et HTTPS.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent –add-service=https

Vérifiez à nouveau les services et les ports autorisés.

sudo firewall-cmd --permanent --list-services
dhcpv6-client http https mdns samba-client ssh

Rechargez le pare-feu.

sudo systemctl reload firewalld

Installer le serveur Web Apache

Exécutez la commande suivante avec les privilèges sudo pour installer le serveur Web Apache.

dnf install httpd

Installer PHP

L'étape suivante consiste à installer PHP et d'autres modules supplémentaires. Si vous avez déjà PHP, assurez-vous que la version de PHP répond aux exigences de Nextcloud.

dnf install php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-pecl-redis php-opcache php-imagick php-zip php-process

Une fois PHP installé, activez et démarrez le serveur Web Apache :

systemctl enable --now httpd

Vérifiez si PHP est en cours d'exécution.

php -version
PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group

Installer le serveur et le client MariaDB

Le serveur MariaDB remplace MySQL, ce qui signifie que les commandes pour exécuter et faire fonctionner MariaDB et MySQL sont les mêmes.

Vérifiez si vous avez un serveur MariaDB par défaut sur votre serveur ou installez-le en exécutant la commande suivante.

dnf install mariadb mariadb-server

Activez et démarrez le serveur MariaDB :

systemctl enable --now mariadb

Exécutez la commande mysql_secure_installation pour sécuriser votre serveur MariaDB.

La commande effectuera les configurations par défaut en définissant le mot de passe root, en supprimant les utilisateurs anonymes, en interdisant la connexion root à distance et en supprimant les tables de test.

sudo mysql_secure_installation
[sudo] password for tuts:
Securing the MySQL server deployment.
Enter the password for user root:
The 'validate_password' component is installed.
>> The subsequent steps will run the existing configuration
of the component.
>> We are using an existing root password
Estimated strength of the password: 100
Change the password for root? ((Press YY | Y for Yes, any other key for No) : 
>>
By default, a MariaDB server installation has an anonymous user
>>> is intended only for testing.
Remove anonymous users? (Press Y y | Y for Yes, any other key for No) : y
Success.
Normally, 'root' should only be allowed to connect from
'localhost.' This ensures that someone cannot guess 
the root password from the network.
(ensure you read this policy while installing MariaDB server)
Disallow root login remotely? (Press Y y | y Y for Yes, any other key for No) : Y y
Success.
>>> (removing test database)
Remove test database and access to it? (Press Y y | Y for Yes, any other key for No) : y
>>> Dropping test database.
Success.
>>> Removing privileges on test database.
Success.
Reload privilege tables now? (Press Y y | Y for Yes, any other key for No) : y
Success. 
All done!

Créez un utilisateur et une base de données dédiés pour le serveur Nextcloud.

mysql -p

Créez la base de données "nextcloud".

mysql> create database nextcloud;

Créez un utilisateur MySQL dédié pour gérer la base de données "nextcloud"

mysql> create user 'nextclouduser'@'localhost' identified by 'SeCrEttErCeS';

Accordez tous les privilèges à la base de données (nextcloud) à l'utilisateur (nextclouduser) que nous avons créé.

mysql> grant all privileges on nextcloud_db.* to 'nextclouduser'@'localhost';

Videz les privilèges pour que les modifications que vous avez apportées prennent effet.

mysql> flush privileges;

Quittez le shell MySQL.

mysql> exit;

Configurer les autorisations SELinux

Vous devez configurer SELinux/permissions pour qu'il fonctionne avec Nextcloud.
Exécutez les commandes suivantes pour vos paramètres SELinux de base. Ceux-ci devraient fonctionner avec votre installation.

Assurez-vous d'ajuster les chemins d'accès aux fichiers de manière appropriée en fonction de votre système. Juste au cas où ils seraient différents.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'
# restorecon -Rv '/var/www/html/nextcloud/'

Vous pouvez en savoir plus sur les commandes SELinux qui fonctionnent avec Nextcloud dans la configuration Nextcloud SELinux.

Étape 2. Installer le serveur Nextcloud

Notre deuxième étape consiste à télécharger et installer Nextcloud. Rendez-vous sur le site officiel et copiez le lien de téléchargement du fichier zip.
Téléchargez et décompressez l'archive Nextcloud à l'aide de wget. Assurez-vous de coller le lien copié après wget dans la commande ci-dessous.

wget https://download.nextcloud.com/server/releases/nextcloud-21.0.2.zip

Décompressez l'archive dans le répertoire "/var/www/html/".

unzip nextcloud-21.0.2.zip -d /var/www/html/

L'étape suivante consiste à accorder à Apache un accès en lecture et en écriture à l'arborescence de répertoires Nextcloud :
Créez un dossier de données dans le répertoire "/var/www/html/nextcloud/".

mkdir /var/www/html/nextcloud/data

Accordez à Apache un accès en lecture et en écriture à l'aide de Chown.

chown -R apache:apache /var/www/html/nextcloud

Étape 3. Configuration du serveur Nextcloud

Vous pouvez configurer Nextcloud via l'interface Web ou la ligne de commande.

Méthode 1 :interface Web

Accédez à "http://your_server_ip/nextcloud" depuis votre navigateur Web.
Dans notre cas, le serveur s'exécute depuis l'hôte local ;

http://localhost/nextcloud 
or
http://127.0.0.0/nextcloud

Méthode 2 :ligne de commande

Exécutez la commande suivante pour configurer Nexcloud à partir de la ligne de commande.

sudo -u apache php occ maintenance:install --data-dir /var/www/html/nextcloud/data/ --database "mysql" --database-name "nextcloud" --database-user "nextclouduser" --database-pass "SeCrEttErCeS" --admin-user "admin" --admin-pass "AdMin_PAssWOrd"

Entrez vos informations de connexion d'administration et configurez Nextcloud pour la première utilisation.

Conclusion

La limite de mémoire PHP recommandée pour Nextcloud est de 512 Mo. Vous pouvez modifier la variable memory_limit dans le fichier de configuration /etc/php.ini et redémarrer votre service httpd.

La sécurité est essentielle et vous devez toujours configurer SELinux plutôt que de le désactiver. Ce n'est pas une bonne idée de désactiver SELinux. La pratique recommandée est de toujours l'avoir en mode d'application.

Cela conclut notre démonstration sur l'installation d'un serveur Nextcloud privé sur le serveur Fedora 34. Si vous rencontrez des défis ou des problèmes, n'hésitez pas à demander ou à ajouter un commentaire.


Fedora
  1. Comment installer Zend Server CE sur Fedora 16 "Verne"

  2. Comment installer NextCloud 13 sur Ubuntu 16.04

  3. Comment installer Nextcloud 14 sur Debian 9

  4. Comment installer NextCloud 15 sur Ubuntu 18.04

  5. Comment installer Locate sur un serveur Fedora

Comment installer Go sur Fedora 35

Comment installer le serveur Apache sur Fedora 35

Comment installer le serveur Fedora 33

Comment installer Apache dans Fedora 20

Comment installer Apache sur Fedora 22

Comment installer Nginx sur Fedora 22