Projet

Général

Profil

Mise en place de Nextcloud en 5 minutes

/!\ CE TUTORIEL NE CONCERNE QUE LES SYSTEMES BASES SUR DEBIAN /!\

Téléchargement et installations

Installation des dépendances :

sudo apt-get update && sudo apt-get install curl libapache2-mod-php php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip

Installation de Maria-DB :

sudo apt-get install mariadb-server

Création de la Base de Donnée :

sudo mysql -u root -p

Une fois connecté, modifiez les valeurs dans les lignes ci dessous pour créer un compte dans la base de donnée :

CREATE DATABASE nextcloud; 
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'mypassword'; 
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost'; 
FLUSH PRIVILEGES; 
EXIT;

Téléchargez et extrayez l'archive de nextcloud avec cette commande (elle ajoute aussi les droits pour le bon fonctionnement de nextcloud) :

cd /tmp && curl -O https://download.nextcloud.com/server/releases/latest.tar.bz2 && sudo tar -xvjf /tmp/latest.tar.bz2 -C /var/www/html/ && sudo chown -R www-data:www-data /var/www/html/nextcloud/ && sudo chmod -R 755 /var/www/html/nextcloud/

Configuration

Créez ensuite un fichier de configuration :

sudo nano /etc/apache2/sites-available/nextcloud.conf 

Insérez et modifiez ces lignes dans le fichier de configuration :

<VirtualHost *:80> 
  ServerAdmin admin@example.com 
  DocumentRoot /var/www/html/nextcloud/ 
  ErrorLog ${APACHE_LOG_DIR}/error.log 
  CustomLog ${APACHE_LOG_DIR}/access.log combined 
  <Directory /var/www/html/nextcloud/> 
    Options +FollowSymlinks 
    AllowOverride All 
    Require all granted 
    Satisfy Any 
    <IfModule mod_dav.c> 
      Dav off 
    </IfModule> 
  </Directory> 
  <IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{HTTP_USER_AGENT} DavClnt 
    RewriteRule ^$ /remote.php/webdav/ [L,R=302] 
    RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.* 
    RewriteRule ^(.*)$ /index.php [PT,E=PATH_INFO:$1] 
  </IfModule> 
</VirtualHost>

Sauvegardez et quittez avec CTRL + S puis CTRL + X.

Activez ensuite les modules apache :

sudo a2ensite nextcloud.conf && sudo a2enmod rewrite && sudo a2enmod headers && sudo a2enmod env && sudo a2enmod dir && sudo a2enmod mime

Relancez ensuite apache avec :

sudo systemctl restart apache2

Une fois apache relancé, connectez vous à votre nextcloud en tapant dans la barre d'adresse de votre navigateur : 127.0.0.1/nextcloud
Si vous êtes connecté en ssh, il faut passer directement à l'étape suivante :

OPTIONNEL :

Pour faire tourner convenablement la plupart des applications, il faudra faire quelques modifications comme indiqué dans le panneau de vue d'ensemble administrateur Nextcloud :
Augmentez la mémoire pour php et désactivez l'option "output_buffering". Pour ça, entrez dans le terminal (en changeant le chemin en fonction de votre version de php):

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

Une fois dans le fichier de configuration, utilisez Ctrl + W pour faire une recherche et cherchez d'abord memory_limit puis appuyez sur entrée pour lancer la recherche. Passez la valeur de la variable à 512, puis faites une autre recherche pour la variable output_buffering et mettez la à off. S'il est déjà en off, cherchez simplement les autres lignes lui étant associées en lançant une nouvelle recherche et commentez les autres lignes.
Une fois les modifications faites , Ctrl + S puis Ctrl + X , relancez ensuite apache avant d'actualiser votre page web :
sudo systemctl restart apache2

Mise en réseau local

Autorisez les addresses / réseaux que vous souhaitez dans ce fichier de configuration (autrement vous n'y aurez accès que depuis la machine elle-même):

nano /var/www/html/nextcloud/config/config.php

Relancez apache avant d'essayer de vous y connecter en réseau local:
sudo systemctl restart apache2