Outils pour utilisateurs

Outils du site


admin:services:valise.chapril.org

Présentation

Valise est un service de synchronisation d'informations personnelles et partage de fichiers sur la base de NextCloud.

Routage

Uniquement le port HTTPS (TCP/443)

Uniquement le port HTTPS (TCP/443) vers le port HTTP (TCP/80).

Installation

Installation du système de la vm

La machine a été installée en respectant les procédures d'installations de VM.

Installation des services

L'installation et la configuration sont basées sur les instructions originales données par:
https://docs.nextcloud.com/server/16/admin_manual/installation/index.html

Installation d'Apache et de la base de php

Installer les paquets:

apt install apache2 libapache2-mod-php php-cli
a2enmod rewrite
a2enmod headers

Modifier le fichier de configuration des ports d'apache pour forcer l'écoute sur le port 80 de IPV4. Pour cela, dans le fichier /etc/apache2/ports.conf, remplacez la ligne

Listen 80

par

Listen 0.0.0.0:80

Installation de PostgreSQL

Installer le paquet serveur de la base de données:

apt install postgresql pwgen

Générer un mot de passe fort pour le futur utilisateur de la base de données:

pwgen -syr "'" 15 1

Passer en ligne de commande SQL superviseur de postgres:

su postgres -c psql

Créer l'utilisateur de la base nextcloud en utilisant le mot de passe précédent:

create role nextcloud with login password '<pwd>';

Créer la base de données pour nextcloud:

create database nextcloud owner nextcloud;

Sortir de psql avec Ctrl+D.

Installation des modules PHP pré-requis

apt install php-curl php-gd php-mbstring php-xml php-zip php-pgsql php-bz2 php-intl php-imagick

Préparation du volume de stockage

En raison de la grande quantité de données stockées, l'application Nextcloud et ses données fichiers sont stockées sur leur propre volume. Il est donc nécessaire de préparer et configurer ce volume:

mke2fs -L nextcloud -e remount-ro -m 0 /dev/mapper/valise--vg--data-nextcloud
mkdir /var/www/nextcloud

Ajouter le volume à la table système en éditant /etc/fstab et en y ajoutant la ligne:

/dev/mapper/valise--vg--data-nextcloud /var/www/nextcloud ext4 noexec,nosuid,nodev,errors=remount-ro 0 0

Monter le volume et attribuer les droits sur sa racine à www-data:

mount /var/www/nextcloud
chown www-data.www-data /var/www/nextcloud

Installation de Nextcloud

Récupérer les fichiers de Nextcloud et les déployer:

cd /var/www
wget https://download.nextcloud.com/server/releases/nextcloud-16.0.4.tar.bz2
tar xvf nextcloud-16.0.4.tar.bz2
chown -R www-data.www-data nextcloud
rm nextcloud-16.0.4.tar.bz2

Lancer l'installation (création du contenu de la base et du fichier de configuration):

cd /var/www/nextcloud
sudo -u www-data php occ maintenance:install --database "pgsql" --database-name "nextcloud" --database-host "localhost" --database-user "nextcloud" --database-pass '<DB_PASS>' --admin-user "chapril" --admin-pass "<ADM_PASS>"

Remplacez <DB_PASS> par le mot de passe de l'utilisateur de PostgreSQL généré auparavant en mettant bien deux SIMPLES quotes autours.

Remplacez <ADM_PASS> par le mot de passe de votre choix. Le mot de passe doit être long (au moins 14 caractères) tout en restant utilisable sur une interface WEB.

La commande d'installation est longue (1 à 2 min). Soyez patient.

A l'issue de la commande, le contenu de la base est créée (tables commençant par “oc_” et le fichier de configuration /var/www/nextcloud/config/config.php est généré.

Editer le fichier /var/www/nextcloud/config/config.php pour ajouter à 'trusted_domains':

   1 = > 'valise.chapril.org'

Mise à jour

Préparation

La mise à jour de Nextcloud prend en général de 5 minutes pour une mise à jour mineures, et jusqu'à 30 minutes pour une mise à jour majeure.

La mise à jour interrompt le service, il faut donc la planifier et prévenir les utilisateurs quelques jours à l'avance en:
  • Envoyant un message à tous les comptes avec l'application “Annonces” de Nextcloud (depuis l'interface Web et un compte admin),
  • Signalant la maintenance sur status.chapril.org.

Exécution

Se connecter en root sur valise.cluster.chapril.org et se positionner dans le répertoire de Nextcloud:

cd /var/www/valise.chapril.org/public_html

Lancer la procédure de mise à jour:

sudo -u www-data php updater/updater.phar

Répondez positivement à toutes les questions posées par le script et acceptez de quitter le mode maintenance si tout s'est bien passé.

Il arrive que la procédure ne puisse par lancer l'upgrade des applications. Dans ce cas répondez oui à la question “Rester en mode maintenance”, et lancer la procédure séparément:
sudo -u www-data php occ upgrade
sudo -u www-data php occ maintenance:mode --off

Pour éviter des problèmes de favicon, réparez le thème et redémarrez les services web:

sudo -u www-data php occ maintenance:theme:update
sudo systemctl restart php7.4-fpm apache2

Finalisation

Contrôle de sécurité

Se connecter par l'interface Web sur un compte admin et aller sur la page “Paramètres/Vue d'ensemble”. Si tout va bien, une coche verte est affichée avec le texte “Tous les test ont réussis”. Sinon, suivez les instructions données par Nextcloud pour résoudre le(s) problème(s).

En cas de mise à jour majeure, lancez également le scan de sécurité externe (au même endroit de l'interface).

Mise à jour du numéro de version

Pour finir, dans “Paramètres/Personnaliser l'apparence”, modifier le numéro de version affiché qui est au début de la phrase de slogan.

N'oubliez pas de clore l'incident sur status.chapril.org

NOTES

L'outil en ligne de commande pour administrer de NextCloud

$ occ list
$ occ log manage
$ occ user:add cmann@april.org -group admin

CRON

Chemin du fichier contenant les tâches CRON spécifique au service NextCloud: /etc/cron.d/valisechaprilorg.

PostgreSQL

Se connecter à la base de données

sudo -Hiu postgres psql nextcloud

requête SQL pour voir les requêtes en cours

SELECT * FROM pg_stat_activity

Script d'aide à la configuration de PostgreSQL

Chemin du fichier de configuration

/etc/postgresql/13/main/conf.d/custom-chapril.conf

Regarder les applications et leurs consommations

# lscpu | grep -i ^proc
# tail -f /srv/valise.chapril.org/www/data/nextcloud.log | jq .
# tail -n 200 -f /srv/valise.chapril.org/www/data/nextcloud.log | jq .
# pgrep -af cron
# iotop -o -d3 -a

À éviter

Ne pas exécuter ceci:

# ncdu -x /var/www/valise.chapril.org/data/

table OC_JOBS

id   |                         class                         |                                                       argument                                                        |  last_run  | last_checked | dur
16758 | OC\Settings\BackgroundJobs\VerifyUserData             | {"verificationCode":"","data":"","type":"email","uid":"","try":6,"lastRun":1586671205} |          0 |   1652827018 |    0
11912 | OCA\Talk\BackgroundJob\ExpireSignalingMessage         | null                                                                                                                  | 1593606009 |   1652827017 |    0
11913 | OCA\Talk\BackgroundJob\RemoveEmptyRooms               | null                                                                                                                  | 1593606008 |   1652826959 |    0
209234 | OCA\DAV\BackgroundJob\RefreshWebcalJob                | {"principaluri":"principals\/users\/","uri":"icsteamupcom-3"}                                                     | 1652821869 |   1652821869 |  120
21 | OC\Preview\BackgroundCleanupJob                       | null                                                                                                                  | 1652820489 |   1652821869 |    0
14 | OCA\UpdateNotification\Notification\BackgroundJob     | null                                                                                                                  | 1652736091 |   1652821869 |    2
110482 | OCA\Activity\BackgroundJob\DigestMail                 | null                                                                                                                  | 1652821869 |   1652821869 |    0
16774 | OCA\WorkflowEngine\BackgroundJobs\Rotate              | null                                                                                                                  | 1652820489 |   1652821869 |    0
251542 | OCA\DAV\BackgroundJob\RefreshWebcalJob                | {"principaluri":"principals\/users\/","uri":"0110007yindex-educationnet"}                                      | 1652560537 |   1652821868 | 1471
286844 | OCA\DAV\BackgroundJob\RefreshWebcalJob                | {"principaluri":"principals\/users\/","uri":"valisechaprilorg-2"}                                          | 1652219711 |   1652821868 |    0
5 | OCA\Files_Versions\BackgroundJob\ExpireVersions       | null                                                                                                                  | 1652821456 |   1652821456 |    0
326894 | OCA\DAV\BackgroundJob\RefreshWebcalJob                | {"principaluri":"principals\/users\/","uri":"calendargooglecom"}                                         | 1652219810 |   1652821456 | 1592
157918 | OCA\DAV\BackgroundJob\RefreshWebcalJob                | {"principaluri":"principals\/users\/","uri":"icsteamupcom"}                                                       | 1652821456 |   1652821456 |  410

Exécuter le script postgresqltuner.pl

sudo -Hiu postgres postgresqltuner.pl

admin/services/valise.chapril.org.txt · Dernière modification: 2022/10/28 02:38 par pilou