Wiki CgX

Parce que j'ai un cerveau, mais pas trop.

Outils pour utilisateurs

Outils du site


it:linux-selfhosting:nextcloud

Nextcloud

Dans tout les exemples fournis, on assume que Nextcloud est dans /data/web/nextcloud
et on assume que les données de Nextcloud sont dans /data/cloud

Administration

Upgrade via Script

nextcloudUpgrade.sh
#!/bin/bash
 
VERSION=20.1.0
 
# On télécharge, on décompresse
 
cd /tmp
wget https://download.nextcloud.com/server/releases/nextcloud-$VERSION.zip
unzip nextcloud-$VERSION.zip
mv nextcloud /data/web/nextcloud.new
 
# On copie
 
cd /data/web/
 
 
# On passe en maintenance, on migre les modules externes et la config
 
sudo -u www-data php nextcloud/occ maintenance:mode --on
 
cd /data/web/nextcloud.new/apps/
cp -Rp ../../nextcloud/apps/metadata ../../nextcloud/apps/extract ../../nextcloud/apps/keeweb .
 
cd /data/web/
mv nextcloud nextcloud.old && mv nextcloud.new nextcloud
 
cp nextcloud.old/config/config.php nextcloud/config/
 
#  on met les bonnes permissions
chown www-data:www-data -R nextcloud
 
# On upgrade et on enlève le mode maintenance
 
sudo -u www-data php nextcloud/occ upgrade
 
sudo -u www-data php nextcloud/occ maintenance:mode --off
 
# On fait le ménage
 
rm /tmp/nextcloud-$VERSION.zip
# rm -rf /data/web/nextcloud.old
 
# Et voila ! \o/

Update via l'updater phar

sudo -u www-data /usr/bin/php /data/web/nextcloud/updater/updater.phar

Cleanup

Gagner de l'espace disque en vidant les corbeilles et les anciennes versions :

sudo -u www-data /usr/bin/php /data/web/nextcloud/occ trashbin:cleanup --all-users
sudo -u www-data /usr/bin/php /data/web/nextcloud/occ versions:cleanup

Rsync + update

On Rsync :

rsync -e "ssh -p 22" -avzs --no-perms --no-owner --no-group --delete <repertoireSource> root@cloud:/data/cloud/cgx/files/<repertoireDestination>

On ajuste les permissions et on met à jour le répertoire en question :

ssh -p 22 cloud "chown www-data:www-data -R /data/cloud/<user>/files/<repertoireDestination>"
ssh -p 22 cloud "sudo -u www-data /usr/bin/php /data/web/nextcloud/occ files:scan -p cgx/files/<repertoireDestination>"

Les commandes occ foirent

C'est souvent parce qu'avec FPM, la version CLI de php.ini doit avoir autorisé APC. Il faut rajouter dans /etc/php/x.x/cli/php.ini :

apc.enable_cli=1

Configuration

Rajouter les proxies et les domaines de confiance

Et il faut rajouter ou modifier ces directives dans le fichier de conf de Nextcloud :

/data/web/nextcloud/config/config.php
  'trusted_domains' =>
  array (
    0 => 'cloud.domain.tld',
    1 => 'domain.tld',
    2 => 'otherdo.main',
  ),
  'trusted_proxies' =>
  array (
    0 => '192.168.0.1',
    1 => '2a08:e01a:a5b9:15e0:17e4:f709:e5a8:0441',
  ),

Changer les fichiers par défaut à l'ouverture d'un nouveau compte

Il faut créer un nouveau répertoire quelque part, et changer son owner:group :

mkdir /data/cloud/.skeleton && chown www-data:www-data /data/cloud/.skeleton

Et il faut rajouter cette directive dans le fichier de conf de Nextcloud :

/data/web/nextcloud/config/config.php
  'skeletondirectory' => '/data/cloud/.skeleton',

Pour info, le répertoire contenant les fichiers par défaut se situe dans /core/skeleton

it/linux-selfhosting/nextcloud.txt · Dernière modification : 13 Apr 2023 :: 13:21 de CgX