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