« LINUX:NextCloud-Installation » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 45 : | Ligne 45 : | ||
=Apache= | |||
Les fichiers de configuration pour Apache, installés par la distribution, doivent être modifiés ou adaptés. | |||
ATTENTION: L'exemple de configuration le présente comme un des sites de votre domaine. Si ce site doit être accessible en direct, cette configuration qui suit doit être adaptée en conséquence. | |||
Comme par défaut, Fedora 41 vient avec la version 8.3 de PHP, dans le cadre d'une installation présentant plusieurs versions de PHP, on doit spécifier la version à utiliser pour de logiciel. Voyez l'article sur [[LINUX:Plusieurs versions de PHP|Coexistence de plusieurs versions de PHP]]. D'où les lignes: | |||
---- | |||
IncludeOptional conf.d/php8.cfg | |||
---- | |||
Version du 13 mars 2025 à 14:52
But
La première étape consiste en l'installation du logiciel.
Prérequis
Ce logiciel nécessite:
- un serveur Web Apache
- un gestionnaire de base de données de type MySQL tel MariaDB
- un interpréteur PHP, la dernière version 8.3 est compatible
Dans mon cas, ces produits sont tous sur une même machine Linux
Ajout du paquet
NextCloud est inclus dans la distribution de Fedora 41. Nous allons l'installer avec la commande suivante sous Linux:
dnf install nextcloud
De nombreuses dépendances sont ajoutées.
Organisation des répertoires principaux
Les répertoires ajoutés sont les suivants:
- /usr/share/nextcloud : le coeur du logiciel
- /etc/nextcloud : fichier de configuration de NextCloud
- /etc/httpd/conf.d : fichiers de configuration pour Apache en relation avec NextCloud
- /var/lib/nextcloud : il regroupera des modules activés (sous-répertoire "apps") et les données des utilisateurs (sous-répertoire "data")
Nous désirons mettre les données des utilisateurs sur un disque plus volumineux dédié à Apache car ces fichiers sont destinés à être nombreux.
Nous le nommerons "/web/nextcloud"; nous y ajouterons le sous-répertoire "data". Il est impératif de ne pas déplacer le sous-répertoire "/var/lib/nextclous/apps" au risque que le logiciel présente de nombreux dysfonctionnements.
Droits
Les droits des répertoires et fichiers installés via la distribution sont gérés par ce derniers.
Par contre, le répertoire ajouté par nos soins doit appartenir à l'utilisateur "apache" sous lequel s'exécute le service 'httpd.service":
chown -R apache:apache /web/nextcloud
On y affecte des accès classiques avec les accès totaux:
chmod -R 740 /web/nextcloud find /web/nextcloud -type f -print0 | xargs -0 chmod 640
Apache
Les fichiers de configuration pour Apache, installés par la distribution, doivent être modifiés ou adaptés.
ATTENTION: L'exemple de configuration le présente comme un des sites de votre domaine. Si ce site doit être accessible en direct, cette configuration qui suit doit être adaptée en conséquence.
Comme par défaut, Fedora 41 vient avec la version 8.3 de PHP, dans le cadre d'une installation présentant plusieurs versions de PHP, on doit spécifier la version à utiliser pour de logiciel. Voyez l'article sur Coexistence de plusieurs versions de PHP. D'où les lignes:
IncludeOptional conf.d/php8.cfg
MariaDB
Avant tout début de configuration, il est plus aisé que la base de données MariaDB (MySQL) comprenne un schéma vide qui va accueillir vos données.
Nous avons nommé ce schéma "dbnextcloud".
Voici le script SQL qui permet de le créer à vide; on nomme ce script: "schema.sql":
DROP SCHEMA IF EXISTS dbnextcloud ; CREATE SCHEMA dbnextcloud ;
On l'exécute via la commande:
mysql --user=root --password=<MOT_DE_PASSE_DE_ROOT> < ./schema.sql
avec un nom d'utilisateur de la base de donnés qui a les droits administrateur.
Il nous faut en outre, créer un utilisateur dans cette base de données qui a tous les droits sur ce schéma nouvellement créé.
On lui a donné le nom "usernextcloud". C'est lui que le logiciel utilisera pour accéder à nos données.
Voici le script SQL qui permet de le créer et de lui attribuer des droits nécessaires; on nomme ce script: "user.sql":
create user 'usernextcloud'@'localhost' identified by '<MOT_DE_PASSE_NEXTCLOUD>' ; grant all privileges on dbnextcloud.* to 'usernextcloud'@'localhost';
Vous y remplacez le mot de passe "<MOT_DE_PASSE_NEXTCLOUD>" par celui désiré.
On l'exécute via la commande:
mysql --user=root --password=<MOT_DE_PASSE_DE_ROOT> < ./user.sql
avec un nom d'utilisateur de la base de donnés qui a les droits administrateur.