Installation de Nextcloud

Procédure

Prérequis

Avant toute chose, il est incontournable de disposer d'un serveur sur lequel Debian Stable (actuellement Bullseye) est installé et dont les accès et le proxy sont configurés : voir la partie précédente de cette documentation pour les détails.

Les étapes suivantes seront réalisées sur le serveur Nextcloud en utilisant un terminal et le compte root de ce serveur.

  1. Le serveur Apache

    Installez le serveur Apache  à l'aide de la commande suivante :

    apt install apache2 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip sudo unzip smbclient php-ldap php-imagick imagick php-intl php-apcu php-bcmath php-gmp

  2. Les modules du serveur Apache

    Activez les modules du serveur Apache à l'aide des commandes :

    a2enmod ssl

    a2enmod headers

    a2enmod rewrite

    a2ensite default-ssl.conf

    Relancez le service apache2 :

    systemctl restart apache2

    1. Truc & astuce

      L'appel de la page https://nuage-CODE_UAI.ac-academie.fr doit afficher la page du serveur Apache.

  3. Configuration du serveur MySQL

    Pour configurer le serveur MySQL, lancez le script à l'aide de la commande suivante :

    mysql_secure_installation

    Choisir le mot de passe du compte root du serveur MySQL, puis répondre aux différentes questions en laissant les choix par défaut.

  4. Création de la base de données

    Lancez la commande suivante pour accéder au serveur MySQL :

    sudo mysql -u root -p

    Le mot de passe du serveur MysQL sera demandé et vous aurez une invite de commande MariaDB

    Lancez les commandes suivantes en adaptant le mot de passe yourpassword pour l'utilisateur nextclouduser :

    CREATE DATABASE nextcloud;

    CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword'; (à adapter !)

    GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost';

    FLUSH PRIVILEGES;

    \q

  5. Téléchargement et mise en place de l'archive Nextcloud

    Téléchargez l'archive de la version stable dans sa version la plus récente (22.1.0 en janvier 2021) : adapter en fonction la commande suivante :

    wget --no-check-certificate https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip

    Décompressez cette archive :

    unzip nextcloud-22.1.0.zip

    Déplacez le répertoire obtenu :

    mv nextcloud /var/www/

    Modifiez le propriétaire de ce répertoire :

    chown -R www-data:www-data /var/www/nextcloud

  6. Création du répertoire contenant les données

    Créez le répertoire contenant les données :

    mkdir /nextcloud-data

    Modifiez le propriétaire de ce répertoire :

    chown www-data:www-data /nextcloud-data

  7. Paramétrage des serveurs Apache et PHP

    Éditez le fichier :

    nano /etc/apache2/sites-enabled/default-ssl.conf

    Modifier  la ligne :

    DocumentRoot /var/www/nextcloud

    Ajoutez en fin de fichier les lignes suivantes :

    <IfModule mod_headers.c>

    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"

    </IfModule>

    <Directory /var/www/nextcloud/>

    Options +FollowSymlinks

    AllowOverride All

    <IfModule mod_dav.c>

    Dav off

    </IfModule>

    SetEnv HOME /var/www/nextcloud

    SetEnv HTTP_HOME /var/www/nextcloud

    </Directory>

    Éditez le fichier :

    nano /etc/php/7.3/apache2/php.ini

    Modifiez les lignes :

    memory_limit = 512M

    date.timezone = Europe/Paris

    Éditez le fichier :

    /etc/php/7.4/mods-available/apcu.ini

    Ajoutez la ligne :

    apc.enable_cli = 1

    Attention

    Ne pas oublier de redémarrer le serveur Apache afin que les modifications soient prises en compte :

    systemctl restart apache2

  8. Résultat

    Le serveur Nextcloud est installé.

    Il sera accessible à l'aide de l'url : https://nuage-CODE_UAI.ac-academie.fr.