Nextcloud/fr
nextcloud logo | |
Maintainer | Unnilennium |
---|---|
Url | https://nextcloud.com |
Licence | AGPLv3 |
Category | |
Tags | cloud, files, dropbox, seafile, pydio, ajaxplorer, owncloud |
Mainteneur
Version
Description
Nextcloud est un ensemble de logiciels client-serveur permettant de créer et d'utiliser des services d'hébergement de fichiers. Il est fonctionnellement similaire à Dropbox, bien que Nextcloud soit gratuit et « open-source », permettant à quiconque de l'installer et de l'utiliser sur un serveur privé.
Selon l'adage de SME Server « Keep It Simple » (Rester simple), tous vos baies d'information et dossiers personnels seront accessibles via l'interface « nextcloud » à l'aide de l'application « fichiers externes ». Vous aurez également votre dossier Nextcloud d'utilisateur principal enregistré sous /home/e-smith/files/owncloud/data qui se trouve dans la zone sauvegardée par défaut. Ainsi, vous pouvez désormais profiter à la fois de votre propre référentiel cloud et de l'accès aux mêmes fichiers sur votre partage Samba !
Comment ajouter mes utilisateurs SME ? Ils sont déjà là ! Dites leur simplement de se connecter à https://mon-domaine/nextcloud. Vous pouvez également ajouter des utilisateurs externes ou leur permettre de s'inscrire auprès d'une application nextcloud.
Quels sont les administrateurs ? Par défaut, vous avez un utilisateur nextcloudadmin et l'utilisateur administrateur habituel de SME. Le premier utilise le mot de passe que vous pouvez voir avec la commande « config getprop nextcloud AdminPassword », et le second, eh bien, utilisez simplement votre mot de passe administrateur habituel. Ensuite, vous pouvez gérer les applications, les référentiels de fichiers externes et l'appartenance au groupe d'administrateurs.
Installation
yum install smeserver-nextcloud --enablerepo=smecontribs
Vous pouvez avoir besoin d'un second « event » si quelquefois un répertoire de baie d'information n'était pas visible.
signal-event nextcloud-update
Vous n'avez pas besoin de suivre les pages des dépôts de fws et de remi-safe pour installer ces 2 dépôts qui sont nécessaires. Utilisez plutôt les paquets qui les installent, suivi d'un « yum-modify event ». Puis exécutez l'installation principale.
yum install smeserver-extrarepositories-remi-safe smeserver-extrarepositories-fws smeserver-extrarepositories-epel signal-event yum-modify yum install smeserver-nextcloud --enablerepo=smecontribs,epel,fws signal-event webapps-update service php-fpm start service php71-php-fpm start service php72-php-fpm start service php73-php-fpm start signal-event nextcloud-update
Vous pouvez éviter les commandes du service php-fpm* s'il est déjà installé et fonctionne avant l'installation de nextcloud.
Puis vous pouvez faire ce qui suit et vous pouvez ignorer en toute sécurité le redémarrage « signal-event post-upgrade reboot » si vous y êtes invité, sauf si vous avez également installé d'autres paquets qui en ont besoin.
config set UnsavedChanges no
ou faire
signal-event post-upgrade signal-event reboot
puis
signal-event nextcloud-update
Si vous voulez ajouter l'administrateur de SME comme administrateur de nextcloud, faites :
OCC group:adduser admin admin
Vous voudrez peut-être régler votre indicatif téléphonique national par défaut (utilisez le code à 2 lettres de votre pays - minuscule)
occ config:system:set default_phone_region --value="us"
Vous voudrez peut-être que Nextcloud soit accessible depuis internet
config setprop nextcloud access public signal-event nextcloud-update
Utiliser un domaine dédié pour se connecter à Nextcloud
Changer en premier lieu le contenu de la variable de la première ligne par votre domaine de nextcloud tel que défini par votre fournisseur DNS.
NEXTCLOUDDOMAIN="cloud.mon-domaine.com"
db domains set $NEXTCLOUDDOMAIN domain Description "Nextcloud" Content Primary Nameservers internet TemplatePath WebAppVirtualHost DocumentRoot /usr/share/nextcloud RequireSSL enabled letsencryptSSLcert enabled
signal-event domain-create $NEXTCLOUDDOMAIN
# Cette ligne permet au DAV de nextcloud d'être redirigé correctement et à collabora de reconnaître le domaine :
config setprop nextcloud VirtualHost $NEXTCLOUDDOMAIN
signal-event nextcloud-update
# Uniquement si vous utilisez un certificat Let's Encrypt :
expand-template /etc/dehydrated/domains.txt
dehydrated -c
Configuration
property | default | values | |
---|---|---|---|
AdminPassword | GENERATED | string | Mot de passe pour votre principal administrateur de nextcloud (*) |
AdminUser | nextcloudadmin | string | Utilisateur administrateur pincipal de votre installation (*) |
DbName | nextcloud | string | Pour mysql db |
DbPassword | GENERATED | string | Pour mysql db |
DbUser | nextcloud | string | Pour mysql db |
TrustedDomains | empty | strings coma separated | Ajoute un domaine ou une adresse ip qui doivent être nécessairement ajoutés à l'accès par défaut à nextcloud |
VirtualHost | empty | Nom de domaine | Domaine dédié à Nextcloud, nécessite aussi d'être défini comme domaine sur le serveur |
access | private | privé, public | |
status | enabled | enabled,disabled | |
MaxUploadSize | 4096M | nombre | Si un nombre doit être converti en mégabits, sinon, utiliser le suffixe habituel : 2T pour 2 terrabits, etc... |
MemoryLimit | 528M | number | Si un nombre doit être converti en mégabits, sinon, utiliser le suffixe habituel : 2T pour 2 terrabits, etc... |
Shares | enabled | enabled,disabled | Ajoute les partages samba de la contribution « shared-folders » dans les baies d'information nextcloud ainsi que dans les baies d'information normales |
IncludeIbay | empty | strings coma separated | Ajoute les noms des baies d'information qui ont besoin d'être incluses. S'il n'est pas vide, seul le nom indiqué ici sera accessible via nextcloud. A la priorité sur ExcludeIbay. Vous le définissez avec une chaîne aléatoire pour exclure tous les baies d'information et les partages de l'inclusion automatique. |
ExcludeIbay | Primary | strings coma separated | Exclura de l'accès nexcloud toute baie d'information via nextcloud. Exclut par défaut la baie d'information « Primary ». Si vous souhaitez inclure « Primary », mettez une chaîne de caractères quelconque. |
UseSMB | enabled | enabled,disabled | Vous permet de définir l'accès à ibay via le partage samba ou via le pilote local dans nextcloud. Activé est pour la samba, cela vous permet d'accéder en tant qu'utilisateur et de prendre en compte votre quota. Cela peut être un peu plus lent et nécessiter que votre mot de passe soit chargé dans la session. Le pilote local s'il est désactivé, vous permettra d'accéder uniquement à ce que l'utilisateur apache (www) a comme droit d'accéder en tant que membre d'un groupe. |
(*) l'utilisateur administrateur de SME admin est aussi un administrateur de votre installation nextcloud. Vous avez 2 comptes administrateur sur l'installation par defaut sur le serveur Koozali SME.
Example de configuration :
config setprop nextcloud ExcludeIbay ibay1,ibay2 signal-event nextcloud-update
Ligne de commande
Si vous avez besoin de peaufiner votre installation, voici comment accéder à la ligne de commande pour Nextcloud sur SME, nous vous avons facilité la tâche, connectez-vous simplement en tant que « root » et utilisez la commande OCC (en majuscules), cette commande exécutera pour vous tout ce dont vous avez besoin en tant qu'utilisateur www, en utilisant la version nécessaire de php. Voici deux exemples :
occ maintenance:mode --off
occ maintenance:repair
Pour voir des commandes additionnelles, consulter la documentation Nextcloud : https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html
Mise à jour
yum update smeserver-nextcloud nextcloud --enablerepo=smecontribs
Mise à niveau de Nextcloud par l'interface en ligne de commandes
Vous devriez plutôt préférer le programme de mise à jour en ligne, mais au cas où :
occ maintenance:mode --on
sudo -u www /usr/bin/php74 /usr/share/nextcloud/updater/updater.phar --no-interaction
occ upgrade
occ maintenance:mode --off
Dans le cas d'une énorme base de données, vous pouvez choisir le programme de mise à jour en ligne, puis ne réaliser la mise à jour de la base de données qu'en faisant :
occ upgrade
occ maintenance:mode --off
Désinstallation
yum remove smeserver-nextcloud nextcloud-src
Avant smeserver-nextcloud, vous devrez également supprimer le paquet nextcloud d'« Exclude », il suffit d'une seule ligne pour le faire
db yum_repositories setprop smecontribs Exclude $(db yum_repositories getprop smecontribs Exclude |awk '{gsub (/\ynextcloud,?\y|\y,?nextcloud\y/, "", $1)}1')
Sinon, il faudrait faire :
db yum_repositories getprop smecontribs Exclude nextcloud,randomthing
et recopier le résultat sans nextcloud :
db yum_repositories setprop smecontribs Exclude randomthing
ou simplement exécuter la commande suivante si nextcloud est le seul paquet :
db yum_repositories delprop smecontribs Exclude
Calendrier des versions
Voir https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule
Ainsi en décembre 2022 :
Date de la version | Fin de vie | |
---|---|---|
24 | 2022-05-03 | 2023-05 |
23 | 2021-11-30 | 2022-12 |
22 | 2021-07-06 | 2022-07 |
21 | 2021-02-22 | 2022-02 |
20 | 2020-10-03 | 2021-11 |
19 | 2020-06-03 | 2021-06 |
18 | 2020-01-16 | 2021-01 |
Changer de base de données
Si vous êtes dans la situation où vous ne pouvez mettre à jour votre nextcloud à cause des prérequis de la base de données, vous pourrez avoir besoin d'en installer une nouvelle et de migrer vos données.
Voici une procédure simple, après avoir fait fonctionner la nouvelle base de données en tant que sclo Mariadb105 pour SME10 par exemple.
occ maintenance:mode --on
mysqldump `config getprop nextcloud DbName` > nextcloud.sql
echo "CREATE DATABASE IF NOT EXISTS `config getprop nextcloud DbName` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"| mysql105
mysql105 `config getprop nextcloud DbName`< nextcloud.sql
echo "CREATE USER IF NOT EXISTS `config getprop nextcloud DbUser`@localhost IDENTIFIED BY '`config getprop nextcloud DbPassword`';"| mysql105
echo "GRANT ALL PRIVILEGES ON `config getprop nextcloud DbName`.* TO `config getprop nextcloud DbUser`@localhost; FLUSH PRIVILEGES;" | mysql105
occ config:system:set dbhost --value localhost:/var/lib/mysql/mariadb105.sock --type string
occ maintenance:mode --off
Après vérification que tout fonctionne, vous pouvez effacer vous-même votre ancienne base de données du précédent serveur mysql, ou le garder comme une sauvegarde, pendant un certain temps. S'il tombe en panne, pour retourner seulement à l'état précédent :
occ maintenance --on occ config:system:set host --value localhost --type string occ maintenance --off
Analyse de fichiers
# tout scanner, peut prendre des heures si vous avez beaucoup de fichiers
occ files:scan -v --all
# analyse tout ce qui se trouve à l'intérieur d'un chemin de nom d'utilisateur (y compris les stockages externes qui y sont montés)
occ files:scan -v myusername
# analyse uniquement un sous-dossier d'un utilisateur (le chemin nécessite un en-tête / et est relatif à /home/e-smith/files/nextcloud/data)
occ files:scan -v --path="/myusername/files/myfolder/mysubfolder" myusername
# Pour le stockage externe, il faut utiliser un utilisateur et le point de montage dans l'espace utilisateur, par ex. admin
occ files:scan -v --path="/admin/files/name_of_external_storage"
Si vous utilisez l'application groupgfolders, vous pouvez envisager de répertorier l'identifiant des dossiers
occ groupfolders:list
Puis pour le groupe de dossiers avec l'identifiant 1
occ groupfolders:scan 1
Problèmes connus
Problème lors de l'importation de fichiers dans la base de données "Entry path/to/file will not be accessible due to incompatible encoding"
yum install convmv --enablerepo=epel
# premier test pour voir les changements
convmv -f utf-8 -t utf-8 --nfc -r /home/e-smith/files/nextcloud/data/username
# vérifier, ensuite avec --notest
convmv -f utf-8 -t utf-8 --nfc -r --notest /home/e-smith/files/nextcloud/data/username
# puis rescanner
occ files:scan -p /username/files/
Cela peut également se produire sur les dossiers ibays / home et leurs fichiers pas tous visibles depuis nextcloud, adaptez simplement le chemin pour convmv /home/e-smith/files/ibays/ibayname/files/ ou /home/e-smith/files/users/userame/home/
Pour les installations effectuées avant smeserver-nextcloud 1.2.0-16, le paquet nextcloud était requis et était en conflit avec la mise à jour Web. Depuis 1.2.0-16, il n'est plus nécessaire et nous utilisons un paquet nextcloud-src qui se met à jour dans /usr/share/nextcloud-src et n'est utilisé que si vous installez la première fois ou redémarrez votre installation à partir de zéro. Pour supprimer le paquet nextcloud qui n'est pas nécessaire et sauvegarder vos fichiers, deux solutions :
1 sauvegarde/restauration
mkdir /usr/share/nextcloud-back rsync -arv /usr/share/nextcloud/ /usr/share/nextcloud-back rpm -e nextcloud rsync -arv /usr/share/nextcloud-back/ /usr/share/nextcloud rm -rf /usr/share/nextcloud-back
2 sur place (vous pouvez aussi sauvegarder au préalable dans ce cas...)
rpm -e --justdb nextcloud
Après une nouvelle installation, l'utilisateur administrateur peut voir « shares » mais pas un utilisateur.
Nous avons une simple baie d'information et elle était configurée :
Group Everyone Write group Read everyone
Nous avons crée un nouveau groupe appelé « localusers » et ajouté l'administrateur et un simple utilisateur.
Ensuite, nous avons configuré la baie d'information :
Group localusers Write group Read group
Ceci semble régler le problème et l'utilisateur peut maintenant voir les fichiers.
Mise à niveau au-delà de la version 20.x
Pour définir le pays par défaut du téléphone :
OCC config:system:set default_phone_region --type string --value="FR"
Pour corriger les identifiants manquants - cela peut prendre un certain temps, alors soyez patient(e) :
OCC db:add-missing-indices
NC 20-21 : open_basedir restriction in effect. File(/templates/) is not within the allowed path
C'est un bogue de NextCloud. Il a été réglé dans NC 22 mais pas rétro-activé à NC20. C'est seulement du bruit du journal. Vous pouvez l'ignorer en attendant la mise à jour. Voir https://help.nextcloud.com/t/error-file-templates-is-not-within-the-allowed-path-s-after-update-from-20-xx-to-21-0-3/119843
Reconfigurer la base de données
Pour reference, tout en regardant réinitialiser les caches de fichiers, j'ai trouvé ceci.
C'est probablement extrêmement dangereux mais j'ai voulu faire une note.
https://github.com/nextcloud/server/issues/8113#issuecomment-565876798
Bogues
Veuillez émettre les bogues dans la section SME-Contribs dans bugzilla et sélectionner le composant smeserver-nextcloud ou utiliser ce lien.
Un aperçu des problèmes actuels de cette contribution figure ci-dessous :
ID | Product | Version | Status | Summary (8 tasks) ⇒ |
---|---|---|---|---|
12685 | SME Contribs | 10.0 | VERIFIED | Install fails when attempting occ cmd at cli and no browser access |
12611 | SME Contribs | 10.0 | RESOLVED | update cron script with maintenance_window_start |
12609 | SME Contribs | 10.0 | CONFIRMED | smeserver-nextcloud S30nextcloud-occ-conf errors when run via ddclient panel |
12487 | SME Contribs | 10.0 | CONFIRMED | update nextcloud fail2ban filter |
12486 | SME Contribs | 10.0 | RESOLVED | occ requires /sbin/e-smith to be in the path |
12406 | SME Contribs | 10.0 | CONFIRMED | NFR switch to PHP83 support for NC 29 and after |
11169 | SME Contribs | 10alpha | CONFIRMED | smeserver-nextcloud requires a modify script |
10566 | SME Contribs | 10.0 | CONFIRMED | NFR: split action nextcloud-occ-conf |
Journal des modifications
Seules les versions publiées dans smecontrib sont listées ici.
- fix php version on initial install [SME: 12685]
2024/04/12 Jean-Philippe Pialasse 1.2.0-30.sme
- add maintenance windows start [SME: 12611]
increase frequency of cron task every 5 min- fix missing full path [SME: 12486]
2024/01/29 Jean-Philippe Pialasse 1.2.0-29.sme
- require nextcloud-src >= 26 [SME: 12318]
multiple fixes and rewrites- restore default log level [SME: 12412]
2023/09/09 Jean-Philippe Pialasse 1.2.0-28.sme
- workaround opcache segfault with php 81 using in memory only [SME: 12298]
- Fix syntax error in 20opcache.ini [SME: 12298]
Références
- https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html
- https://help.nextcloud.com/t/migration-from-mysql-to-mariadb/6816/3
- https://help.nextcloud.com/t/changing-mariadb-socket-when-hosting-multiple-db-ubuntu/68294
- https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/
- https://www.ullright.org/ullWiki/show/nextcloud-cheatsheet