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.phpif (!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