Afficher/cacher Sommaire
Nextcloud est une suite de logiciels client-serveur permettant de créer et d’utiliser des services d’hébergement de fichiers.
Nextcloud sur serveur Caddy
Installer nextcloud sur un serveur Caddy , voir les liens :
Serveur Caddy + PHP8.2
Installation Caddy sur debian 12
Caddy serveur + PHP sur Debian 12 bookworm
Maintenant que Caddy est installé et exécuté, créez ensuite le répertoire à partir duquel vous souhaitez que Caddy héberge NextCloud et attribuez la propriété de l’utilisateur « Caddy ».
sudo mkdir -p /var/www
sudo chown caddy:caddy /var/www
MariaDB
Installer MariaDB :
sudo apt install mariadb-server
sudo mysql_secure_installation # Y à tout et nouveau mot de passe n
Base ‘nextcloud’ , en mode su
MOTPASSEDB="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
mysql -uroot -e "CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY '$MOTPASSEDB'; CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';FLUSH PRIVILEGES;"
Nextcloud
Obtenez la dernière version sur https://download.nextcloud.com/server/releases/ , cliquez sur « Télécharger pour le serveur » et choisissez l’archive tar ou zip. Mettez le fichier sur votre serveur Web, je l’ai simplement transféré dans le répertoire personnel de l’utilisateur root, puis je l’ai déplacé vers le directeur du serveur Web de Caddy /var/www.
wget https://download.nextcloud.com/server/releases/nextcloud-29.0.1.tar.bz2
tar -xf nextcloud-29.0.1.tar.bz2
sudo mv nextcloud /var/www/
changer la propriété des fichiers en caddy
sudo chown -R caddy:caddy /var/www/nextcloud
PHP paramétrage
mémoire pour PHP : ajouter memory_limit = 512M dans le fichier /etc/php/8.2/fpm/php.ini
sudo sed -i -e "s/memory_limit = 128M/memory_limit = 512M/g" "/etc/php/8.2/fpm/php.ini"
Cache PHP (OPcache) :/etc/php/8.2/fpm/php.ini, paramétrage sera réalisé par le pool nextcloud PHP Cache de données (APCu & Redis)
sudo apt install php8.2-apcu redis-server php8.2-redis
Il faut ajouter apc.enable_cli=1 au fichier /etc/php/8.2/mods-available/apcu.ini
extension=apcu.so
apc.enable_cli=1
La nouvelle configuration sera prise en compte après redémarrage du service PHP-FPM :
sudo systemctl restart php8.2-fpm.service
Configurer Caddy
2 options de configuration :
- A /etc/caddy/Caddyfile
- B /etc/caddy/config.json
A - Configuration /etc/caddy/Caddyfile
Etendre Réduire /etc/caddy/config.json
Vérifier la configuration : caddy validate --config /etc/caddy/Caddyfile
2024/06/05 04:35:33.961 INFO using config from file {"file": "/etc/caddy/Caddyfile"}
2024/06/05 04:35:33.967 INFO adapted config to JSON {"adapter": "caddyfile"}
2024/06/05 04:35:33.968 INFO http.auto_https server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS {"server_name": "srv0", "https_port": 443}
2024/06/05 04:35:33.969 INFO http.auto_https enabling automatic HTTP->HTTPS redirects {"server_name": "srv0"}
2024/06/05 04:35:33.972 INFO tls.cache.maintenance started background certificate maintenance {"cache": "0xc0008fc100"}
2024/06/05 04:35:33.973 INFO tls.cache.maintenance stopped background certificate maintenance {"cache": "0xc0008fc100"}
Valid configuration
B - Configuration /etc/caddy/config.json
La configuration de Caddy se fait à l’aide d’un Caddyfile ou d’un fichier json. Le fichier json est plus puissant et voici le fichier enregistré dans /etc/caddy/config.json
Assurez-vous de remplacer “cloud.jj-projects.com” par l’URL de votre site et “php8.0-fpm.sock”
Etendre Réduire /etc/caddy/config.json
Mettre à jour systemd pour qu’il pointe vers lui :
sudo systemctl edit --full caddy.service
Rechercher et remplacer toutes les instances de «Caddyfile» par «config.json».
Après avoir enregistré, redémarrer Caddy avec :
sudo systemctl restart caddy
Installer Nextcloud
Assistant d'installation graphique
NextCloud dispose d’un assistant d’installation graphique qui devrait être disponible immédiatement à partir de votre URL https://cloud.icevps.xyz
Ignorer les applications à installer
Installation manuelle en ligne de commande
Voici comment installer manuellement à partir du terminal
cd /var/www/nextcloud
La commande suivante installera NextCloud en créant un utilisateur administrateur nommé « admin » avec le mot de passe « mot de passe ». N’hésitez pas à le remplacer par quelque chose de plus difficile à deviner.
sudo -u caddy php occ maintenance:install --database "mysql" --database-name "nextcloud" --database-user "nextcloud" --database-pass "PASSWORD_YOU_CREATED_IN_STEP_4" --admin-user "admin" --admin-pass "password"
Accédez à votre URL et vous devriez voir la page de connexion NextCloud, où vous pouvez utiliser « admin » et « mot de passe » (ou tout ce que vous avez modifié) pour vous connecter.
Modifier le fichier /var/www/nextcloud/config/config.php
Ajouter ‘default_phone_region’ => ‘FR’, et les lignes suivantes dans le fichier /var/www/nextcloud/config/config.php
avant le tag de fin de fichier );
'default_locale' => 'fr_FR',
'default_phone_region' => 'FR',
'filelocking.enabled' => true,
'memcache.locking' => '\OC\Memcache\Redis',
'memcache.local' => '\\OC\\Memcache\\APCu',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
'timeout' => 0.0,
'password' => '',
),
Points à régler
Il y a quelques erreurs concernant votre configuration.
La configuration des entêtes du reverse proxy est incorrecte. C'est un problème de sécurité, qui peut permettre à un attaquant d'usurper l'adresse IP affichée à Nextcloud. Pour plus d’information, voir la documentation ↗.
Votre serveur web n’est pas configuré correctement pour résoudre les URL `.well-known`, a échoué sur : `/.well-known/caldav` Pour plus d’information, voir la documentation ↗.
Vous n’avez pas encore paramétré ou vérifié la configuration de votre serveur mail. Merci de le faire sur la page « Paramètres de base ». Ensuite, utilisez le bouton « Envoyer un e-mail » sous le formulaire pour vérifier vos paramètres. Pour plus d’information, voir la documentation ↗.