Nextcloud

Voici les notes d’installation pour Nexcloud sur un système avec ISPConfig

Ajouter les pré-requis suivants à l’installation:

sudo apt install php-gmp
sudo apt install php-bcmath

Dans ISPConfig:

Choisir php-mod dans la configuration du site web
Cocher SSL et ajouter les certificats

Créer l’utilisateur de la base de données
Créer la base de données

Avec Filezilla, téléverser le contenu de l’archive nextcloud

Si l’assistant d’installation de Nextcloud ne fonctionne pas normalement,

Avec Filezilla, ajouter les permissions d’écriture de groupe sur le répertoire et fichiers web

Non requis?

Avec Filezilla, ajouter les permissions d’écriture de groupe sur le répertoire et fichiers web/config
Avec Filezilla, ajouter les permissions d’écriture de groupe sur le répertoire et fichiers web/apps

Avec ISPConfig, créer d’abord un accès shell pour le user du site et connectez-vous en ssh à celui-ci.  Lancer ensuite cette commande à la racine du Site:

php occ maintenance:install --data-dir /private/nextclouddata --database "mysql" --database-name "<votredb>" --database-user "<votreadmindb>" --database-pass "<votremotdepassedb>" --admin-user "<votreutilisateuradmin>" --admin-pass "<votremotdepasseadmin>"

 

if you have a fresh install, consider reinstalling with your preferred directory location. (/private/nextclouddata)

Unofficially moving the data directory can be done as follows:

Make sure no cron jobs are running
Stop apache
Move /data to the new location
Change the config.php entry
Edit the database: In oc_storages change the path on the local::/old-data-dir/ entry
Ensure permissions are still correct
Restart apache

voir https://thomas.stremez.fr/resolution-des-principaux-problemes-de-securite/

Activation du caching

En activant le caching, vous aurez un serveur plus performant et plus rapide.

Installez redis-server et quelques modules PHP nécessaires pour son fonctionnement :
sudo apt-get install php-apcu redis-server php-redis -y

Ensuite ouvrer le fichier de configuration de redis.
sudo nano /etc/redis/redis.conf

Tout d’abord, répérer le paramètre Port, puis remplacez le numéro de port 6379 par 0. En changeant le port, Redis ne sera pas à l’écoute sur un port TCP.

#port 6379
port 0

Puis, décommenter les paramètres suivants :

#unixsocket /var/run/redis/redis.sock
#unixsocketperm 700

Ensuite, remplacez les permissions de unixsocketperm par 770 :

unixsocket /var/run/redis/redis-server.sock
unixsocketperm 770

Sauvegarder, puis quitter.

Ajoutez l’utilisateur Redis au groupe d’Apache:
sudo usermod -a -G redis www-data

Redémarrer le service Apache
sudo service apache2 restart

Puis, démarrez le serveur Redis :
sudo service redis-server restart

La dernière étape consiste à ajouter les paramètres du serveur caching au fichier de configuration de Nextcloud :

Avec Filezilla, se connecter au site FTP et éditer le fichier /web/config/config.php

Ajoutez tout en bas du fichier les paramètres suivants :

'memcache.local' => '\\OC\\Memcache\\APCu',
'skeletondirectory' => '',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'filelocking.enabled' => 'true',
'redis' =>
array (
'host' => '/var/run/redis/redis-server.sock',
'port' => 0,
'timeout' => 0.0,
),

 

Un redémarrage du serveur est nécessaire pour que les modifications prennent effet.

Assurez-vous que le serveur Redis démarrera avec votre système :

sudo systemctl enable redis-server

Préfixe de région

Suite à la mise à jour 21.0.1, un message est apparu :

Votre installation n’a pas de préfixe de région par défaut. C’est nécessaire pour valider les numéros de téléphone dans les paramètres du profil sans code pays. Pour autoriser les numéros sans code pays, veuillez ajouter “default_phone_region” avec le code ISO 3166-1 respectif de la région dans votre fichier de configuration.

Avec Filezilla, se connecter au site FTP et éditer le fichier /web/config/config.php

Ajouter la ligne suivante :

'default_phone_region' => 'CA',

Redémarrer le service Apache

sudo service apache2 restart

Support SVG pour imagemagic:

sudo apt-get install libmagickcore-6.q16-6-extra

Problème de locales:

Echec de la spécification des paramètres régionaux à en_US.UTF-8/fr_FR.UTF-8/es_ES.UTF-8/de_DE.UTF-8/ru_RU.UTF-8/pt_BR.UTF-8/it_IT.UTF-8/ja_JP.UTF-8/zh_CN.UTF-8

Veuillez installer l’un de ces paramètres régionaux sur votre système et redémarrer votre serveur web.

sudo nano /etc/apache2/envvars

Changer

#. /etc/default/locale

pour

. /etc/default/locale

 

Ceci a fonctionné, mais génère des error php ds le log. Je l’ai donc retiré sans problème
ligne 660 : de nextcloud/lib/base.php

if (!defined(‘OC_CONSOLE’)) {
// $errors = OC_Util::checkServer(\OC::$server->getSystemConfig());
$errors = array();

 

sudo service apache2 stop
sudo service apache2 start

Ajouter les directives Apache du site web (ISPConfig)

#Téléchargement jusqu'a 2M
FcgidMaxRequestLen 2000000
#Transport security
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>

 

Ajustements de la mémoire pour PHP et les limites de téléchargements

sudo nano /etc/php/7.4/apache2/php.ini

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
memory_limit = 512M

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

#upload_max_filesize = 2M
upload_max_filesize = 10G
post_max_size = 10G
output_buffering = 0

 

Tâche CRON

Dans Nextcloud au niveau de la configuration webUI, choisir l’exécution avec CRON au lieu de AJAX et ajouter une tâche CRON à ISPConfig pour s’exécuter toutes les 5 minutes

En référence seulement puisque la tâche CRON est plutôt ajouter dans l’interface de ISPConfig (Voir l’image)

*/5 * * * * php -f /var/www/clients/client1/web1/web/cron.php