đNextcloud HUB
PrĂ©ârequis
- Serveur Debian 13 (headless) avec accĂšs root ou utilisateur sudo.
- Nginx déjà installé et en fonctionnement.
- Certificats Let-s Encrypt disponibles
- Nom de domaine https://cloud.rnmkcy.eu
- Ports 80/443 ouverts (UFW installé)
Mise Ă jour des paquets
1
sudo apt update && sudo apt upgrade -y
Mariadb
Installer et sécuriser MariaDB
Commandes pour installer MariaDB, sĂ©curiser lâinstallation et crĂ©er la base + utilisateur Nextcloud (exĂ©cutez en root ou avec sudo). Installer MariaDB
1
2
3
sudo apt update
sudo apt install -y mariadb-server
sudo systemctl enable --now mariadb
Version du script qui conserve auth_socket (pas de changement dâauthentification root) et applique uniquement les suppressions/FLUSH recommandĂ©es. ExĂ©cutez en root ou avec sudo :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sudo mysql <<'SQL'
-- Supprimer utilisateurs anonymes
DELETE FROM mysql.user WHERE User='';
-- Interdire root distant (conserver root@localhost / 127.0.0.1 / ::1)
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost','127.0.0.1','::1');
-- Supprimer la base de test
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db LIKE 'test\\_%';
-- Retirer validate_password plugin s'il existe (évite blocages au create user)
DELETE FROM mysql.plugin WHERE name = 'validate_password';
-- Recharger les privilĂšges
FLUSH PRIVILEGES;
SQL
Vérifier connexion locale (auth_socket) :
1
sudo mysql -e "SELECT USER(), VERSION();"
1
2
3
4
5
+----------------+--------------------------------------+
| USER() | VERSION() |
+----------------+--------------------------------------+
| root@localhost | 11.8.6-MariaDB-0+deb13u1 from Debian |
+----------------+--------------------------------------+
Créer base et utilisateur Nextcloud (ncuser)
Remplacez NEXTCLOUD_DB_PASS par un mot de passe fort généré, ou générez-en un avec la commande suivante si vous voulez automatiser :
1
2
export NEXTCLOUD_DB_PASS=$(openssl rand -base64 24)
echo $NEXTCLOUD_DB_PASS
Puis exécutez :
1
2
3
4
5
6
7
sudo mysql <<SQL
DROP USER IF EXISTS 'ncuser'@'localhost';
CREATE USER 'ncuser'@'localhost' IDENTIFIED BY '${NEXTCLOUD_DB_PASS}';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncuser'@'localhost';
FLUSH PRIVILEGES;
SQL
Vérifier connexion (optionnel)
1
mysql -u ncuser -p${NEXTCLOUD_DB_PASS} -e "SHOW DATABASES;"
1
2
3
4
5
6
+--------------------+
| Database |
+--------------------+
| information_schema |
| nextcloud |
+--------------------+
Sauvegarde mot de passe en sécurité (option recommandé)
- Ne conservez pas le mot de passe en clair dans des scripts non sécurisés.
- Exemple de stockage sécurisé local (fichier lisible seulement par root) :
1
2
echo "NEXTCLOUD_DB_PASS='${NEXTCLOUD_DB_PASS}'" | sudo tee /root/nextcloud_db_creds
sudo chmod 600 /root/nextcloud_db_creds
PHP8.4
Commandes dâinstallation pour PHP 8.4 + extensions requises et un fichier de pool PHP-FPM optimisĂ© pour Nextcloud. ExĂ©cutez en root ou avec sudo.
Installer PHP 8.4 et extensions (Debian 13)
1
2
3
4
5
6
7
8
9
10
11
sudo apt update && sudo apt upgrade -y
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2 curl
# Si PHP 8.4 n'est pas dans les dépÎts par défaut, ajouter sury (maintenu pour PHP) :
#sudo curl -fsSL https://packages.sury.org/php/README.txt | sudo bash -x
# Installer PHP 8.4 et extensions recommandées
sudo apt update
sudo apt install -y php8.4-fpm php8.4-cli php8.4-mysql php8.4-xml php8.4-gd php8.4-curl php8.4-zip php8.4-mbstring php8.4-intl php8.4-bcmath php8.4-gmp php8.4-imagick php8.4-apcu php8.4-opcache php8.4-redis
sudo apt install php8.4-{fpm, cli, mysql, xml, gd, curl, zip, mbstring, intl, bcmath, gmp, imagick, apcu, opcache, redis, openssl, sodium, sysvsem, ffmpeg, exif, json}
Configuration PHP recommandée (rapide)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# ajustez timezone et limites
sudo sed -i "s/^;date.timezone =.*/date.timezone = Europe\\/Paris/" /etc/php/8.4/fpm/php.ini
sudo sed -i "s/^memory_limit = .*/memory_limit = 512M/" /etc/php/8.4/fpm/php.ini
sudo sed -i "s/^upload_max_filesize = .*/upload_max_filesize = 512M/" /etc/php/8.4/fpm/php.ini
sudo sed -i "s/^post_max_size = .*/post_max_size = 512M/" /etc/php/8.4/fpm/php.ini
# OPcache / APCu réglages (créer fichier conf si nécessaire)
cat <<'EOF' | sudo tee /etc/php/8.4/mods-available/opcache-recommended.ini
opcache.enabled=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=100000
opcache.validate_timestamps=1
opcache.revalidate_freq=2
opcache.save_comments=1
EOF
sudo phpenmod opcache
sudo systemctl restart php8.4-fpm
Pool PHP-FPM optimisé pour Nextcloud
Créer /etc/php/8.4/fpm/pool.d/nextcloud.conf avec ce contenu :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[nextcloud]
user = www-data
group = www-data
listen = /run/php/php8.4-fpm-nextcloud.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 70
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
php_admin_value[memory_limit] = 512M
php_admin_value[upload_max_filesize] = 512M
php_admin_value[post_max_size] = 512M
php_admin_value[max_execution_time] = 360
php_admin_value[date.timezone] = Europe/Paris
Puis activer ce pool et redémarrer PHP-FPM :
1
2
3
sudo systemctl restart php8.4-fpm
# vérifier socket
sudo ss -xl | grep php8.4-fpm-nextcloud.sock
1
u_str LISTEN 0 4096 /run/php/php8.4-fpm-nextcloud.sock 167181 * 0
Voici ce quâil faut ajouter/modifier pour lâoptimiser davantage avec PHP 8.4 : â Ce qui est dĂ©jĂ correct
|ParamĂštre|Votre valeur|Recommandation|Statut|
|â|â|â|â|
|date.timezone|Europe/Paris|â
|Parfait [it-connect]|
|memory_limit|512M|â„512M|â
Minimal correct|
|upload_max_filesize|512M|Adaptable|â
Bon|
|opcache.memory_consumption|256|128-256|â
Excellent|
|opcache.max_accelerated_files|100000|10000-100000|â
Excellent|
|pm.max_children|70|~4ĂcĆurs|â
Bon pour 2-4 cĆurs|
â ïž Ce quâil manque pour PHP 8.4
1 - Activer le JIT dâOPcache (nouveau PHP 8.4)
Ajoutez dans /etc/php/8.4/mods-available/opcache-recommended.ini :
opcache.jit=tracing # ou 1255 opcache.jit_buffer_size=128M
Le JIT est désactivé par défaut en PHP 8.4 mais apporte un gain significatif pour les apps CPU-intensives comme Nextcloud.[github]
2 - Ajouter APCu pour le cache local
Créez /etc/php/8.4/mods-available/apcu.ini :
apc.enabled=1 apc.shm_size=128M apc.ttl=3600 apc.user_ttl=3600 apc.num_files_hint=1024
Puis activez :
sudo phpenmod apcu
3 - Ajouter les paramĂštres OPCache CLI (pour cron)
Dans /etc/php/8.4/cli/php.ini ou créez /etc/php/8.4/mods-available/opcache-cli.ini :
opcache.enable_cli=1 apc.enable_cli=1
Câest critique pour que le cron Nextcloud fonctionne correctement.[docs.nextcloud]
đ§ Actions Ă exĂ©cuter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 1. Ajouter JIT au fichier opcache-recommended.ini
sudo tee -a /etc/php/8.4/mods-available/opcache-recommended.ini <<'EOF'
opcache.jit=tracing
opcache.jit_buffer_size=128M
EOF
# 2. Créer config APCu
sudo tee /etc/php/8.4/mods-available/apcu.ini <<'EOF'
apc.enabled=1
apc.shm_size=128M
apc.ttl=3600
apc.user_ttl=3600
EOF
# 3. Activer modules
sudo phpenmod opcache apcu
# 4. Ajouter opcache.enable_cli pour le cron
echo "opcache.enable_cli=1" | sudo tee -a /etc/php/8.4/cli/php.ini
echo "apc.enable_cli=1" | sudo tee -a /etc/php/8.4/cli/php.ini
# 5. Redémarrer
sudo systemctl restart php8.4-fpm
đ VĂ©rifications finales
1
2
3
4
5
6
7
8
# Vérifier configuration active
php -i | grep -E "memory_limit|upload_max_filesize|opcache.jit|apc.enabled"
# Vérifier statut Nextcloud
sudo -u www-data php /var/www/nextcloud/occ status
# Vérifier avis dans logs
sudo tail -50 /srv/nextcloud-data/nextcloud.log
Votre pool PHP-FPM est déjà bien configuré avec pm = dynamic et des valeurs raisonnables. La seule chose critique à ajouter : opcache.enable_cli=1 et apc.enable_cli=1 pour le cron.[docs.nextcloud]
Ajuster configuration Nginx pour utiliser le socket du pool (si vous utilisez le fichier fourni précédemment, modifiez fastcgi_pass)
đ Optimisations PHP-FPM pour 4 cĆurs / 32 Go RAM
Avec 4 cĆurs et 32 Go de RAM, vous pouvez optimiser davantage votre configuration PHP-FPM pour tirer pleinement parti de votre matĂ©riel.
Modifier PHP-FPM pool
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sudo tee /etc/php/8.4/fpm/pool.d/nextcloud.conf > /dev/null <<'EOF'
[nextcloud]
user = www-data
group = www-data
listen = /run/php/php8.4-fpm-nextcloud.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 150
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 40
pm.max_requests = 500
php_admin_value[memory_limit] = 768M
php_admin_value[upload_max_filesize] = 512M
php_admin_value[post_max_size] = 512M
php_admin_value[max_execution_time] = 360
php_admin_value[date.timezone] = Europe/Paris
EOF
Calcul pm.max_children :
- RAM disponible pour PHP : ~28 Go (32 Go - 4 Go systĂšme)
- Nextcloud utilise ~128-200 MB par processus
28 Go / 200 MB = 140â 150 est parfait[forum.yunohost]
Modifier OPcache
1
sudo nano /etc/php/8.4/mods-available/opcache-recommended.ini
Avec 32 Go RAM, augmentez aussi OPcache :
1
2
3
4
5
6
7
8
9
10
11
opcache.enabled=1
opcache.enable_cli=1
opcache.memory_consumption=512 # AUGMENTER de 256 â 512
opcache.interned_strings_buffer=32 # AUGMENTER de 16 â 32
opcache.max_accelerated_files=100000
opcache.validate_timestamps=1
opcache.revalidate_freq=2
opcache.save_comments=1
opcache.jit=tracing # AJOUTER pour PHP 8.4
opcache.jit_buffer_size=256M # AUGMENTER de 128M â 256M
apc.enable_cli=1 # AJOUTER pour cron
đ§ Appliquer les changements
1
2
3
4
5
6
# Redémarrer PHP-FPM
sudo systemctl restart php8.4-fpm
# Vérifier
sudo systemctl status php8.4-fpm
sudo -u www-data php /var/www/nextcloud/occ status
đ Comparaison avant/aprĂšs
|ParamĂštre|Avant|AprĂšs (32 Go RAM)|Impact| |â|â|â|â|
|ParamĂštre|Avant|AprĂšs (32 Go RAM)|Impact|
|â|â|â|â|
|pm.max_children|70|150|Ă2 concurrents|
|pm.start_servers|10|20|Démarrage plus rapide|
|memory_limit|512M|768M|Plus de marge pour gros fichiers|
|opcache.memory_consumption|256|512|Cache scripts plus grand|
|opcache.jit_buffer_size|128M|256M|JIT plus performant|
đŻ Pour un usage avec plusieurs utilisateurs
Si vous avez 50+ utilisateurs simultanés, augmentez encore :
1
2
3
4
pm.max_children = 200
pm.start_servers = 30
pm.min_spare_servers = 15
pm.max_spare_servers = 50
Avec 32 Go RAM, vous pouvez supporter 100+ utilisateurs simultanés sans problÚme.
Votre serveur est maintenant optimisĂ© pour la puissance de votre matĂ©riel ! đ
Nextcloud
Nginx - cloud.rnmkcy.eu
Nginx - configuration /etc/nginx/conf.d/cloud.rnmkcy.eu.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
server {
listen 80;
server_name cloud.rnmkcy.eu;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name cloud.rnmkcy.eu;
root /var/www/nextcloud/;
client_max_body_size 512M;
fastcgi_buffers 64 4K;
fastcgi_buffer_size 128k; # â AJOUTER
fastcgi_busy_buffers_size 128k; # â AJOUTER
access_log /var/log/nginx/nextcloud.access.log;
error_log /var/log/nginx/nextcloud.error.log;
ssl_certificate /etc/ssl/private/rnmkcy.eu-fullchain.pem;
ssl_certificate_key /etc/ssl/private/rnmkcy.eu-key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
# ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets off; # â AJOUTER (security)
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
add_header X-Content-Type-Options "nosniff" always; # â AJOUTER
add_header X-Frame-Options "SAMEORIGIN" always; # â AJOUTER
add_header X-XSS-Protection "1; mode=block" always; # â AJOUTER
index index.php index.html /index.php$request_uri;
# Security & well-known redirects
location = /robots.txt { allow all; log_not_found off; access_log off; }
location = /.well-known/carddav { return 301 /remote.php/dav; }
location = /.well-known/caldav { return 301 /remote.php/dav; }
location = /.well-known/webfinger { return 301 /index.php/.well-known/webfinger; } # â AJOUTER
location = /.well-known/nodeinfo { return 301 /index.php/.well-known/nodeinfo; } # â AJOUTER
# Deny access to sensitive folders
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; }
# Main
location / { rewrite ^ /index.php$uri; }
# Static files
location ~* \.(?:css|js|woff2?|svg|gif|png|jpg|jpeg|ico)$ {
try_files $uri /index.php$uri$is_args$args;
access_log off;
expires 30d;
add_header Cache-Control "public, max-age=2592000";
}
# PHP handling
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_pass unix:/run/php/php8.4-fpm-nextcloud.sock;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
try_files $uri =404;
}
# Prevent access to .ht* files
location ~ /\.ht { deny all; }
# Deny access to specific files
location ~ ^/(?:\.ht.*|README\.md|CHANGELOG.*|AUTHORS.*|LICENSE.*) { deny all; } # â AJOUTER
}
tester et recharger nginx :
1
2
sudo nginx -t
sudo systemctl reload nginx
Créer dossier web et attribuer les droits
1
2
3
4
5
6
7
sudo mkdir -p /var/www/nextcloud
sudo chown -R www-data:www-data /var/www/nextcloud
sudo chmod -R 750 /var/www/nextcloud
# permissions data dir
sudo mkdir -p /srv/nextcloud-data
sudo chown -R www-data:www-data /srv/nextcloud-data
sudo chmod 750 -R /srv/nextcloud-data
Télécharger et déployer Nextcloud
Lien des versions Nextcloud server https://download.nextcloud.com/server/releases/
Aller sur /tmp et télécharger la derniÚre version (latest.zip)
1
2
3
4
5
6
cd /tmp
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar -xvf latest.tar.bz2
sudo rsync -a nextcloud/ /var/www/nextcloud/
sudo chown -R www-data:www-data /var/www/nextcloud
cd ~
Cron Nextcloud (pour exécuter en tant que www-data) :
1
sudo -u www-data crontab -e
Ajouter
1
*/5 * * * * php -f /var/www/nextcloud/cron.php
Installation via web
- Ouvrez https://cloud.rnmkcy.eu
- Sur la page dâinstallation Nextcloud :
- Chemin des données : /srv/nextcloud-data
- Base: MariaDB (host=localhost), user (ncuser) et mot de passe (
/root/nextcloud_db_creds), database=nextcloud - Utilisateur admin et mot de passe admin
Remarque de sĂ©curitĂ© : les certificats sont rĂ©fĂ©rencĂ©s directement ; assurez-vous que les permissions de /etc/ssl/private/* empĂȘchent lâaccĂšs non autorisĂ© (600, propriĂ©taire root).
Ouvrir le lien https://cloud.rnmkcy.eu
Créer un compte administrateur et son mot de passe
Renseigner les éléments de la base mysql
Correction des warnings
Voici comment résoudre les 4 warnings de Nextcloud
- â FenĂȘtre de maintenance Ă configurer
- â
OPcache
interned_strings_buffertrop faible - â Migrations MIME Ă exĂ©cuter
- â
Variable
getenv()PHP (optionnel) . Ce warning est inoffensif pour Nextcloud. Si vous voulez le supprimer, ajoutez dans/etc/php/8.4/fpm/pool.d/nextcloud.conf:1
php_admin_value[argv_arguments] = 1
Ou ignorez-le â cela nâaffecte pas le fonctionnement.
đ RĂ©sumĂ© des actions pour corriger les 4 warnings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 1. Configurer fenĂȘtre de maintenance
sudo -u www-data php /var/www/nextcloud/occ config:system:set maintenance_window_start --value=4 --type=integer
# 2. Modifier OPcache (sinon manuellement)
sudo tee /etc/php/8.4/mods-available/opcache-recommended.ini > /dev/null <<'EOF'
opcache.enabled=1
opcache.enable_cli=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=100000
opcache.validate_timestamps=1
opcache.revalidate_freq=2
opcache.save_comments=1
opcache.jit=tracing
opcache.jit_buffer_size=256M
EOF
# 3. Redémarrer PHP-FPM
sudo systemctl restart php8.4-fpm
# 4. Exécuter migrations MIME (15-30 min selon taille)
sudo -u www-data php /var/www/nextcloud/occ maintenance:repair --include-expensive
# 5. Vérifier dans l'interface Nextcloud
# Allez dans Administration â ParamĂštres â Overview
AprĂšs ces corrections, tous les warnings disparaĂźtront de lâinterface dâadministration Nextcloud.[reddit]
- â
OPcache
interned_strings_buffer(valeur insuffisante). Le warning dit que la valeur doit ĂȘtre > 8, mais vous avez modifiĂ© le fichier.ini. Le problĂšme : PHP-FPM lit la config depuis le pool, pas depuis le fichier.ini - â Verrouillage transactionnel + Memcache (RESOLU ensemble). Pour Ă©liminer les deux warnings (verrouillage + aucun cache), installez Redis et configurez-le dans Nextcloud
- â Modules PHP (PCRE.dâAPCu). Le warning dit âapcu module php8.4-apcu est installĂ©â mais il nâest pas activĂ©.
- â PHP ne semble pas ĂȘtre configurĂ© de maniĂšre Ă rĂ©cupĂ©rer les valeurs des variables dâenvironnement. Le test de la commande getenv(âPATHâ) retourne seulement une rĂ©ponse vide. Solution : Ajouter les variables dâenvironnement dans le pool PHP-FPM
đ RĂ©sumĂ© complet des actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
set -e
echo "=== 1. Modifier pool PHP-FPM ==="
sudo tee /etc/php/8.4/fpm/pool.d/nextcloud.conf > /dev/null <<'EOF'
[nextcloud]
user = www-data
group = www-data
listen = /run/php/php8.4-fpm-nextcloud.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 150
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 40
pm.max_requests = 500
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
php_admin_value[memory_limit] = 768M
php_admin_value[upload_max_filesize] = 512M
php_admin_value[post_max_size] = 512M
php_admin_value[max_execution_time] = 360
php_admin_value[date.timezone] = Europe/Paris
php_admin_value[opcache.save_comments] = 1
php_admin_value[opcache.revalidate_freq] = 2
php_admin_value[opcache.validate_timestamps] = 1
php_admin_value[opcache.interned_strings_buffer] = 64
php_admin_value[opcache.memory_consumption] = 512
php_admin_value[opcache.max_accelerated_files] = 100000
EOF
echo "=== 2. Installer Redis ==="
sudo apt update
sudo apt install redis-server php-redis -y
sudo systemctl enable redis-server
sudo systemctl start redis-server
echo "=== 3. Activer APCu ==="
sudo phpenmod -v 8.4 apcu
echo "=== 4. Configurer memcache dans Nextcloud ==="
sudo -u www-data php /var/www/nextcloud/occ config:system:set memcache.local --value="\OC\Memcache\Redis"
sudo -u www-data php /var/www/nextcloud/occ config:system:set memcache.distributed --value="\OC\Memcache\Redis"
sudo -u www-data php /var/www/nextcloud/occ config:system:set memcache.locking --value="\OC\Memcache\Redis"
sudo -u www-data php /var/www/nextcloud/occ config:system:set redis:host --value="localhost"
sudo -u www-data php /var/www/nextcloud/occ config:system:set redis:port --value="6379" --type=integer
echo "=== 5. Redémarrer PHP-FPM ==="
sudo systemctl restart php8.4-fpm
echo "=== 6. Vérifier ==="
sudo -u www-data php /var/www/nextcloud/occ status
Subsiste une anomalie apcu
1
2
3
Modules PHP
Cette instance ne dispose pas de plusieurs modules PHP recommandés. Il est recommandé de les installer pour améliorer les performances, et la compatibilité : - apcu
Vérifier les liens
1
2
3
# Vérifier les liens dans cli et fpm
ls -la /etc/php/8.4/cli/conf.d/20-apcu.ini
ls -la /etc/php/8.4/fpm/conf.d/20-apcu.ini
Les liens existent
1
2
lrwxrwxrwx 1 root root 36 4 juin 08:33 /etc/php/8.4/cli/conf.d/20-apcu.ini -> /etc/php/8.4/mods-available/apcu.ini
lrwxrwxrwx 1 root root 36 4 juin 08:33 /etc/php/8.4/fpm/conf.d/20-apcu.ini -> /etc/php/8.4/mods-available/apcu.ini
Si les liens sont inexistants, les créer
1
2
3
# Créer les liens symboliques
sudo ln -sf /etc/php/8.4/mods-available/apcu.ini /etc/php/8.4/cli/conf.d/20-apcu.ini
sudo ln -sf /etc/php/8.4/mods-available/apcu.ini /etc/php/8.4/fpm/conf.d/20-apcu.ini
Vérifier que le fichier contient extension=apcu.so
1
2
# Vérifier que le fichier contient extension=apcu.so
grep -q "extension=apcu.so" /etc/php/8.4/mods-available/apcu.ini || echo "extension=apcu.so" | sudo tee -a /etc/php/8.4/mods-available/apcu.ini
Réponse: extension=apcu.so
Redémarrer PHP-FPM
1
sudo systemctl restart php8.4-fpm
Vérifier que APCu est actif pour CLI
1
php -r "echo extension_loaded('apcu') ? 'APCu CLI OK' : 'APCu CLI NON'; echo PHP_EOL;"
Réponse: APCu CLI OK
Vérifier dans FPM
1
php -m | grep apcu
Réponse: apcu
â
Configurer lâID du serveur de configuration (serverid). Câest un warning optionnel pour les installations multi-serveurs. Pour un seul serveur, vous pouvez le configurer avec une valeur entre 0 et 1023
1
2
echo "=== 1. Configurer serverid ==="
sudo -u www-data php /var/www/nextcloud/occ config:system:set serverid --value=1 --type=integer
đ Authentification Double facteur - TOTP
đĄïž Administration
En mode administration vérifier si application TOTP active
ParamĂštres dâadministration âš SĂ©curitĂ©
Puis cliquer sur Enregistrer les modifications
đ„ Utilisateurs
Les opérations suivantes sont à effectuer sur chaque utilisateur
Aller ensuite sur ParamĂštres personnels â> SĂ©curitĂ© dans la rubrique Personnel
Il faut rentrer le code secret ou le QR code et vérifier
Générer des codes de récupération
AprÚs avoir activé authentification TOTP (saisie du mot de passe)
Enter le secret TOTP dans le ou les applications TOPT
Saisir le code de vĂ©rification gĂ©nĂ©rer par votre application et cliquer sur âVĂ©rifierâ
Ensuite cliquer sur âGĂ©nĂ©rer des codes de rĂ©cupĂ©rationâ
Se déconnecter puis se reconnecter pour une vérification complÚte












