Skip to main content

3. Installation de Nextcloud 29 sur Ubuntu Server LAMP 22.04

Ce tutoriel est prévu pour Ubuntu Server LAMP 22.04.
Dans ce tutoriel, Nextcloud est installé sur une VM dans Unraid 6.12.13 mais vous pourrez l’installer sur un VPS disponible 24h/24.

image.png

Nous allons, dans ce tutoriel, créer un Cloud personnel en installant Nextcloud.
Nous verrons par la suite comment connecter Nextcloud à un annuaire LDAP ou Active Directory.

Important : A partir d’ici, toutes les commandes seront exécutées en tant que root.

Installation de Nextcloud 29

Téléchargement de Nextcloud :

wget https://download.nextcloud.com/server/releases/latest-29.tar.bz2

Extraction dans le répertoire /var/www/ :

sudo tar -xvf latest-29.tar.bz2 -C /var/www/
 
1. Création du Site Nextcloud dans Apache

Édition du fichier de configuration du site :

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

Contenu :

Alias / "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
  Require all granted
  AllowOverride All
  Options FollowSymLinks MultiViews
  <IfModule mod_dav.c>
    Dav off
  </IfModule>
  <IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
  </IfModule>
</Directory>

CTRL O pour enregistrer, ENTRER pour valider, et CTRL X pour sortir.

image.png

Activation du site nextcloud :

sudo a2ensite nextcloud.conf

Activation du site et des modules nécessaires :

sudo a2enmod rewrite headers env dir mime ssl

Activation du site default-ssl :

sudo a2ensite default-ssl

Vérifier votre configuration Apache :

sudo apache2ctl -t

Si vous avez le droit à un « syntax OK » alors tous les feux sont aux vert, continuer en redémarrant Apache pour que vos modifications prennent effets : 

sudo systemctl restart apache2

Changement du propriétaire du répertoire nextcloud :

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

Vérifications versions :

sudo -u www-data php /var/www/nextcloud/occ -V
sudo -u www-data php /var/www/nextcloud/occ status
 
2. Création de la base de données Nextcloud et un utilisateur spécifique pour Nextcloud sur MariaDB :

Depuis votre terminal, lancer mysql en admin : 

sudo mysql

Créez ensuite une base de données pour Nextcloud. Sur ce tutoriel j’appelle la base de données nextcloud. Vous pouvez utiliser le nom de votre choix :

create database nextcloud;

Créez l’utilisateur de la base de données. Encore une fois, vous pouvez utiliser votre nom préféré pour cet utilisateur. Remplacez votre_mot_de_passe par votre mot de passe préféré.

create user nextclouduser@localhost identified by 'votre_mot_de_passe';

Accordez à cet utilisateur tous les privilèges sur la base de données nextcloud :

grant all privileges on nextcloud.* to nextclouduser@localhost identified by 'your-password';

Un petit « Flush Privileges » pour appliquer les changements : 

flush privileges;

image.png

3. Finalisation de l’installation : 

Pour terminer l’installation, il va falloir se connecter à l’URL de votre serveur Nextcloud.
Exemple : https://192.168.1.203

image.png

 

 

 

 

 

1 : Nom du compte Administrateur Nextcloud

 

2 : Mot de passe du compte Administrateur

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 : Nom de l’utilisateur de base de données

 

4 : Mot de passe de la base de données

 

5 : Nom de la base de données

 

6 : Serveur hébergeant la base de données


Cliquer sur « Terminer l’installation ».

Modifier un mot de passe NextCloud via le terminal

Vous avez oublié votre mot de passe et vous n’avez pas encore configuré les notifications mail pour le récupérer ?

Pas de panique, depuis un terminal, vous pouvez exécuter une commande qui vous permettra de modifier le mot de passe d’un utilisateur. Remplacement simplement avec le nom de votre utilisateur : 

sudo -u www-data php /var/www/nextcloud/occ user:resetpassword identifiant_nextcloud
4. Installation et Activation d’applications dans Nextcloud :

4.1 External storage support (Application permettant de se connecter à des partages externes  SMB, FTP etc…) :

installation :

sudo -u www-data php /var/www/nextcloud/occ app:install files_external

activation :

sudo -u www-data php /var/www/nextcloud/occ app:enable files_external

4.2 LDAP user and group backend Application permettant de se connecter à un annuaire LDAP (Exemple : Active Directory). :

installation :

sudo -u www-data php /var/www/nextcloud/occ app:install user_ldap

activation :

sudo -u www-data php /var/www/nextcloud/occ app:enable user_ldap

4.3 Mise à jour de toutes les applications :

sudo -u www-data php /var/www/nextcloud/occ app:update --all
5. Installez et configurez REDIS Cache pour Nextcloud 29 :

 Aucun cache mémoire n'est configuré...

Il est recommandé d’activer une solution de cache pour améliorer les performances. Ici nous utiliserons Redis. Lancer la commande suivante pour installer Redis depuis le repository Ubuntu : 

sudo apt install redis-server

Si besoin, vous pouvez vérifier la version de redis via la commande suivante : 

redis-server -v

image.png

Vous pouvez maintenant vérifier si Redis est correctement installer via la commande suivante : 

systemctl status redis

Ce qui devrait donner un résultat de ce type : 

image.png

Si malgré tout Redis n’est pas démarré, vous pouvez le lancer via la commande suivante : 

sudo systemctl start redis-server

Pour activer le démarrage de Redis-Server au boot du serveur, vous pouvez lancer la commande suivante : 

sudo systemctl enable redis-server

Pour configurer Redis correctement, il est nécessaire d’installer une extension qui servira d’interface entre php et redis, lancer la commande suivante : 

sudo apt install php-redis

Vous pouvez vérifier que l’extension est bien installée et activée via la commande suivante : 

php --ri redis

Ce qui devrait vous afficher quelque chose comme ça : 

image.png

Si l’extension n’est pas activée, lancer la commande suivante :

sudo phpenmod redis

Maintenant, il est nécessaire d’éditer la configuration de Nexcloud pour lui dire d’utiliser Redis pour le memcache. On édite le fichier de config.php : 

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

Puis on y ajoute ces lignes : 

image.png

 

 

 

 

 

 

 

 

 

 

 

 

 

'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
     ),

CTRL O pour enregistrer, ENTRER pour valider, et CTRL X pour sortir.

Relancer apache2 et php-fpm :

sudo systemctl restart apache2 php8.3-fpm

Maintenant, vous ne devriez plus avoir le message d’information concernant le cache ! 

6. Augmenter le PHP Memory Limit : 

Si vous jetez un coup d’œil dans la partie Administration > Vue d’ensemble de Nextcloud, vous verrez qu’il y a plein de petites recommandations.

 La limite de mémoire PHP est inférieur à la valeur recommandée de 512 Mo.

Nous allons vois ici comment augmenter le PHP Memory limit qu’il est conseillé d’avoir à 512Mo minimum.

PHP à une memory_limit de 128MB par défaut. Pour changer cette valeur, il est nécessaire d’éditer le fichier php.ini, c’est ce que nous allons faire ici : 

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

Puis, trouver la ligne suivante : 

memory_limit = 128M

Changer simplement sa valeur puis sauvegarder le fichier : 

memory_limit = 512M

CTRL O pour enregistrer, ENTRER pour valider, et CTRL X pour sortir.

Sous Ubuntu, vous pouvez également changer cette valeur, sans avoir à ouvrir le fichier, avec cette « simple » commande : 

sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/8.3/apache2/php.ini

Pour que cela prenne effet, redémarrer Apache : 

sudo systemctl reload apache2

Attention, si vous utilisez FPM, alors il est nécessaire également de changer la valeur dans le php.ini de php-fpm. Pour cela, même exercice que tout à l’heure, mais pas au même endroit : 

sudo nano /etc/php/8.3/fpm/php.ini

Recherchez le paramètre memory_limit et modifiez la valeur. Après avoir enregistré le fichier, rechargez PHP-FPM pour que la modification prenne effet.

sudo systemctl reload php8.3-fpm.service