Nextcloud

Configuration

Installation

# Installation des dépendances
sudo apt update
sudo apt install apache2 mariadb-server php php-mysql \
    php-ldap php-imap php-apcu php-cas php-curl \
    php-gd php-intl php-mbstring php-xml php-zip

# Configuration de la base de données
sudo mysql -u root -p
# Remplacez les variables par vos valeurs
CREATE DATABASE @NOM_BDD;  # Ex: nextcloud
CREATE USER '@UTILISATEUR_BDD'@'localhost' IDENTIFIED BY '@MOT_DE_PASSE_BDD';  # Ex: nextcloud_user, mot_de_passe_securise
GRANT ALL PRIVILEGES ON @NOM_BDD.* TO '@UTILISATEUR_BDD'@'localhost';
FLUSH PRIVILEGES;
EXIT;

# Téléchargement et installation de Nextcloud
cd /var/www
sudo wget https://download.nextcloud.com/server/releases/@VERSION_NEXTCLOUD/nextcloud-@VERSION_NEXTCLOUD.tar.bz2  # Ex: 24.0.0
sudo tar xjf nextcloud-@VERSION_NEXTCLOUD.tar.bz2
sudo chown -R www-data:www-data nextcloud

Configuration Apache

# Création du VirtualHost
sudo nano /etc/apache2/sites-available/nextcloud.conf

# Contenu du fichier

    # Remplacez par votre nom de domaine
    ServerName @NOM_DOMAINE  # Ex: cloud.mondomaine.com
    DocumentRoot /var/www/nextcloud
    
    
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    


# Activation du site
sudo a2ensite nextcloud.conf
sudo systemctl reload apache2

Configuration SSL

# Installation de Certbot
sudo apt install certbot python3-certbot-apache

# Génération du certificat SSL
sudo certbot --apache -d @NOM_DOMAINE  # Ex: cloud.mondomaine.com

# Renouvellement automatique
sudo certbot renew --dry-run

Configuration LDAP

# Dans l'interface Nextcloud
1. Aller dans Paramètres > Administration > LDAP
2. Configurer la connexion LDAP :
   # Informations du serveur LDAP
   - Serveur : @SERVEUR_LDAP  # Ex: ldap.mondomaine.com
   - Port : @PORT_LDAP  # Ex: 389
   - Base DN : @BASE_DN  # Ex: DC=mondomaine,DC=com
   - Filtre : @FILTRE_LDAP  # Ex: (&(objectClass=user)(sAMAccountName=%s))

Points importants

  • La base de données (@NOM_BDD) doit être sécurisée
  • Les permissions des fichiers doivent être correctes
  • Le domaine (@NOM_DOMAINE) doit pointer vers le serveur
  • Les sauvegardes doivent être configurées

Débogage

Vérification des services

# Vérification d'Apache
sudo systemctl status apache2

# Vérification de MariaDB
sudo systemctl status mariadb

# Vérification des logs
sudo tail -f /var/log/apache2/error.log
sudo tail -f /var/www/nextcloud/data/nextcloud.log

Problèmes courants

  • Problèmes de permissions
  • Erreurs de base de données
  • Problèmes de configuration LDAP
  • Problèmes de performance

Bonnes Pratiques

  • Maintenir Nextcloud à jour
  • Configurer les sauvegardes automatiques
  • Surveiller l'espace disque
  • Configurer la sécurité (SSL, LDAP)
  • Documenter les procédures

FAQ

  1. Dans l'interface d'administration :
    • Utilisateurs > Ajouter un utilisateur
    • Remplir les informations :
      • Nom d'utilisateur
      • Mot de passe
      • Email
      • Groupe
  2. Configuration du quota :
    • Cliquer sur l'utilisateur
    • Section "Quota"
    • Définir la taille (ex: 5 GB)
  3. Vérification :
    • Vérifier l'état du quota
    • Tester la connexion
    • Vérifier les permissions
  1. Vérification des logs :
    • /var/www/nextcloud/data/nextcloud.log
    • /var/log/apache2/error.log
    • Vérifier les erreurs PHP
  2. Vérification des permissions :
    • Vérifier les permissions des dossiers
    • Vérifier le propriétaire des fichiers
    • Vérifier les ACL
  3. Vérification de la configuration :
    • config.php
    • Vérifier les chemins
    • Vérifier les paramètres
  4. Actions correctives :
    • Corriger les permissions
    • Redémarrer les services
    • Vérifier le stockage
  1. Configuration HTTPS :
    • Installer un certificat SSL
    • Configurer Apache pour HTTPS
    • Forcer la redirection HTTP vers HTTPS
  2. Configuration Fail2ban :
    • Installer Fail2ban
    • Configurer les règles pour Nextcloud
    • Définir les seuils de tentatives
  3. Sécurité supplémentaire :
    • Activer l'authentification à deux facteurs
    • Configurer les politiques de mot de passe
    • Mettre en place le verrouillage de session
  4. Surveillance :
    • Configurer les alertes
    • Surveiller les logs
    • Mettre en place des sauvegardes