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), toutes 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
Propriété | Par défaut | Valeurs | |
---|---|---|---|
AdminPassword | GENERATED | string | Mot de passe pour votre principal administrateur de nextcloud (*) |
AdminUser | nextcloudadmin | string | Utilisateur administrateur pincipal de votre installation (*) |
cliurl | enabled | enabled,disabled | forcer overwrite.cli.url sur https://domain/nextcloud ou https://domain si virtualhost est défini ; désactivez-le si vous avez des besoins spécifiques, puis utilisez la commande occ pour définir votre valeur |
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 | private, 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 | nombre | Interface web : si un nombre doit être converti en mégabits, sinon, utiliser le suffixe habituel : 2T pour 2 terrabits, etc... |
memory_limit | 1024M | nombre | Pour l'interface en ligne de commande comme une commande occ ou cron : 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. |
opcache.memory_consumption | 32 | nombre | mettez à jour cette valeur si Nextcloud dit qu'elle devrait l'être |
opcache.interned_strings_buffer | 128 | nombre | mettez à jour cette valeur si Nextcloud dit qu'elle devrait l'être |
PHPBaseDir | colon separated string | répertoire php de base que vous souhaitez ajouter à l'exemple par défaut /home/e-smith/files/ibays/musique/files:/usr/share/GeoIP/GeoLite2-Country.mmdb:/proc/cpuinfo | |
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é pour 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
Paramètres d'intégration LDAP/AD
Ne modifiez pas les paramètres d'intégration LDAP/AD pour "1. Serveur : Localhost" ou vous casserez l'installation de Nextcloud. Si vous souhaitez ajouter un deuxième serveur LDAP/AD, cliquez sur le symbole "+" pour ajouter une autre configuration, puis ajoutez les paramètres LDAP/AD appropriés.
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 --define memory_limit=1024M -d apc.enable_cli=1 /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
À partir de la 25 pour passer à la 26, vous devriez faire :
occ maintenance:mode --on
sudo -u www /usr/bin/php81 --define memory_limit=1024M -d apc.enable_cli=1 /usr/share/nextcloud/updater/updater.phar --no-interaction
occ upgrade
occ maintenance:mode --off
Dans le cas d'une base de données énorme, vous pouvez choisir le programme de mise à jour en ligne, puis faire uniquement la mise à jour de la base de données en effectuant :
occ upgrade
occ maintenance:mode --off
Restaurer le niveau de journalisation des informations
occ config:system:set loglevel --value=3
Désinstallation
Désinstallation des paquets :
yum remove smeserver-nextcloud nextcloud-src rpm -e --justdb nextcloud
alors ces dossiers subsisteront :
- /usr/share/nextcloud : software and config
- /home/e-smith/files/nextcloud : user data
vous aurez également mariadb ou mariadb105 avec la base de données et l'utilisateur nextcloud.
Et enfin, la configuration de la base de données avec l'entrée pour Nextcloud.
Si tout cela reste tel quel, une simple réinstallation de la contribution remettra NextCloud en marche. Si vous l'avez désinstallé parce que votre installation n'était pas fonctionnelle ou si vous souhaitez une suppression complète, des étapes supplémentaires sont nécessaires.
En cas de suppression de la base de données ou d'une partie du dossier du logiciel, chaque fois que vous essayez de réinstaller la contribution, le processus échouera car la base de données et les fichiers ne sont pas synchronisés.
Au cas où vous auriez besoin de réinstaller à partir de zéro, tout d'abord, sauvegardez ce que vous voudrez peut-être restaurer ensuite :
cd /home/e-smith/files/nextcloud/data mysqldump nextcloud > nextcloud55.sql mysqldump105 nextcloud > nextcloud105.sql config print nextcloud /root/nextcloud.config tar -czf /root/nextcloud.tar.gz /home/e-smith/files/nextcloud/data /usr/share/nextcloud
effacez ensuite tout ce qu'il reste :
mysql -e "DROP DATABASE `config getprop nextcloud DbName`;DROP USER IF EXISTS `config getprop nextcloud DbUser`;" mysql105 -e "DROP DATABASE `config getprop nextcloud DbName`;DROP USER IF EXISTS `config getprop nextcloud DbUser`;" rm -rf /usr/share/nextcloud rm -rf /home/e-smith/files/nextcloud #this one is optional, and should not cause issue if still there config delete nextcloud
et vous devriez pouvoir faire une nouvelle installation à partir de zéro.
Calendrier des versions
Voir https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule
Ainsi en janvier 2024 :
Version | Nom | Date de la version | Fin de vie |
---|---|---|---|
30 | 2024-09-14 | ||
29 | Hub 8 | 2024-04-24 | 2025-04 |
28 | Hub 7 | 2023-12-12 | 2024-12 |
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
Mise à jour Web ou GUI de NC25 à NC26
En raison du changement de version de php nécessaire de php74 à php80 et supérieur, vous devez émettre la commande suivante tout en utilisant NC25 pour pouvoir ensuite passer à NC26. NC25 est le premier à pouvoir gérer php80, et NC26 nécessite php80 ou supérieur.
signal-event nextcloud-update
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 :
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
NextCloud Desktop Client n'affiche pas les fichiers ou rencontre des problèmes de synchronisation
Vérifiez que le dossier de synchronisation NextCloud ne se trouve pas dans un répertoire géré par un autre système de synchronisation, tel que DropBox, Google Drive, iCloud, Microsoft SkyDrive ou des systèmes similaires. Des fichiers manquants, une synchronisation incomplète et d'autres problèmes peuvent survenir lorsqu'un dossier de synchronisation est géré par plusieurs systèmes de synchronisation. Dans le pire des cas, la synchronisation de dossiers ou de fichiers à l'aide de Nextcloud et d'un autre logiciel ou service de synchronisation peut entraîner une perte de données.
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