Nextcloud/fr

From SME Server
Revision as of 20:31, 25 August 2022 by Gieres (talk | contribs) (→‎Version)
Jump to navigation Jump to search




Nextcloud Logo.svg
nextcloud logo
MaintainerUnnilennium
Urlhttps://nextcloud.com
LicenceAGPLv3
Category

Cloud

Tags cloudfilesdropboxseafilepydioajaxplorerowncloud


Mainteneur

Jean-Philippe Pialasse

Version

Contrib 10:
Contrib 9:
smeserver-nextcloud
The latest version of smeserver-nextcloud is available in the SME repository, click on the version number(s) for more information.


Contrib 10:
nextcloud-src
The latest version of nextcloud-src is available in the SME repository, click on the version number(s) for more information.


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

  Attention : vous avez besoin de mettre à jour le paquet du noyau e-smith-mysql pour installer MariadB105 dont l'installation est nécessaire à l'utilisation de cette contribution. e-smith-mysql est remplacé par smeserver-mysql dont il faut une version >= 2.7.0-5, actuellement disponible dans le dépôt smeupdates-testing. A ce jour (19 juillet 2022), les versions disponibles sont 2.7.0-13, -14 et -15.



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

  Attention : prenez connaissance de ce fil AVANT de faire une mise à jour.


yum  update smeserver-nextcloud nextcloud --enablerepo=smecontribs

Désinstallation

  Attention :
si vous envisagez de réinstaller nextcloud et que le paquet nextcloud est installé, ne le supprimez pas ou ne le faites pas avec rpm -e car cela vous mettrait dans une situation où vous ne pourrez pas réinstaller et restaurer vos anciennes données. Le paquet nextcloud-src, s'il est présent, ne crée pas une telle situation et peut être supprimé en toute sécurité.


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 août 2022 :

Date de la version Fin de vie Version courante Prochaine version
24 2022-05-03 2023-05 24.0.4 (2022-08-11) 24.0.5 (2022-09)
23 2021-11-30 2022-12 23.0.8 (2022-08-13) 23.0.9 (2022-09)
22 2021-07-06 2022-07 22.2.10 (2022-07-19) Fin de vie
21 2021-02-22 2022-02 21.0.9 (2022-02-15) Fin de vie
20 2020-10-03 2021-11 20.0.14 (2021-11-11) Fin de vie
19 2020-06-03 2021-06 19.0.13 (2021-07-01) Fin de vie
18 2020-01-16 2021-01 18.0.14 (2021-01-27) Fin de vie

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

Problèmes connus

Retirer le paquet nextcloud hérité sans effacer le contenu de /usr/share/nextcloud

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

source https://unix.stackexchange.com/questions/208722/how-to-remove-an-rpm-package-while-keeping-certain-files

Un utilisateur ne peut pas voir shares/files

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 :

IDProductVersionStatusSummary (8 tasks)
12685SME Contribs10.0VERIFIEDInstall fails when attempting occ cmd at cli and no browser access
12611SME Contribs10.0RESOLVEDupdate cron script with maintenance_window_start
12609SME Contribs10.0CONFIRMEDsmeserver-nextcloud S30nextcloud-occ-conf errors when run via ddclient panel
12487SME Contribs10.0CONFIRMEDupdate nextcloud fail2ban filter
12486SME Contribs10.0RESOLVEDocc requires /sbin/e-smith to be in the path
12406SME Contribs10.0CONFIRMEDNFR switch to PHP83 support for NC 29 and after
11169SME Contribs10alphaCONFIRMEDsmeserver-nextcloud requires a modify script
10566SME Contribs10.0CONFIRMEDNFR: split action nextcloud-occ-conf

Journal des modifications

Seules les versions publiées dans smecontrib sont listées ici.

smeserver-nextcloud Changelog: SME 10 (smecontribs)
2024/05/16 Jean-Philippe Pialasse 1.2.0-31.sme
- 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]

- index file cache using Redis [SME: 12401]
2023/09/09 John Crisp 1.2.0-27.sme
- Fix syntax error in 20opcache.ini [SME: 12298]

Références

  1. https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html
  2. https://help.nextcloud.com/t/migration-from-mysql-to-mariadb/6816/3
  3. https://help.nextcloud.com/t/changing-mariadb-socket-when-hosting-multiple-db-ubuntu/68294
  4. https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/