User Tools

Site Tools


wiki:nextcloud:installation_nextcloud

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
wiki:nextcloud:installation_nextcloud [2024/11/28 23:29] – created hmattalianowiki:nextcloud:installation_nextcloud [2025/05/25 22:50] (current) hmattaliano
Line 1: Line 1:
 ====== Installation serveur Nextcloud (Debian) ====== ====== Installation serveur Nextcloud (Debian) ======
 +
 +===== Prérequis =====
 +
 +  * Minimum 512Mib RAM
 +  * OS Linux
 +
 +[[https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html|Requirements officiel de Nextcloud]]
 +
 +----
 +
 +===== Installation des paquets =====
 + 
 +
 +Installation des paquet pour un serveur LAMP (Linux Apache MariaDB PHP) ainsi que les les modules php demander par nextcloud
 +<WRAP center round info 100%>
 +Remplacer les **X.X** par la version disponible avec APT
 +</WRAP>
 +
 +
 +<code>
 +sudo apt update
 +sudo apt install apache2 mariadb-server libapache2-mod-phpX.X
 +sudo apt install phpX.X-gd phpX.X-mysql phpX.X-curl phpX.X-mbstring phpX.X-intl
 +sudo apt install phpX.X-gmp phpX.X-bcmath php-imagick phpX.X-xml phpX.X-zip
 +</code>
 +
 +----
 +
 +===== Utiliser "Secure_installation" de mysql =====
 +
 +Exécuter cette commande
 +
 +<code>sudo mysql_secure_installation</code>
 +
 +<WRAP center round info 100%>
 +Cette commande lance un script interactif qui vous guidera à travers plusieurs étapes de configuration initiale pour sécuriser votre installation MariaDB
 +
 +Le script vous permettra de :
 +
 +  * Définir un mot de passe root pour MariaDB
 +  * Supprimer les utilisateurs anonymes
 +  * Désactiver la connexion root à distance
 +  * Supprimer la base de données de test et l'accès à celle-ci
 +  * Recharger les tables de privilèges
 +
 +Il est fortement recommandé d'exécuter cette commande immédiatement après l'installation de MariaDB pour renforcer la sécurité de votre serveur de base de données.
 +
 +</WRAP>
 +
 +----
 +===== Créer la base de donnée de Nextcloud =====
 +
 +Rentrer dans la console de mysql
 +
 +<code>sudo mysql -uroot -p</code>
 +
 +Créer l'utilisateur de la base de donnée
 +
 +<code>CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';</code>
 +
 +Créer la base de donnée
 +
 +<code>CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;</code>
 +
 +Attribuer les droits a l'utilisateur
 +
 +<code>GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost';</code>
 +
 +Recharger la table des privilèges
 +
 +<code>FLUSH PRIVILEGES;</code>
 +
 +Quitter la console mysql
 +
 +<code>Quit;</code>
 +
 +----
 +
 +===== Télécharger la dernière archive Nextcloud =====
 +
 +Se rendre sur la [[https://nextcloud.com/install/#instructions-server|page de téléchargment de nextcloud]]
 +
 +Récupérer le lien du bouton, ce lien télécharge directement le dernier ZIP de Nextcloud
 +
 +{{ :wiki:nextcloud:installation_serveur_linux_nextcloud_1.png?400 |}}
 +
 +Se rendre dans le répertoire temporaire du système et télécharger l'archive
 +
 +<code>cd /tmp/ && wget https://download.nextcloud.com/server/releases/latest.zip</code>
 +
 +Extraire l'archive dans le dossier d'apache (/var/www)
 +
 +<code>sudo unzip latest.zip -d /var/www</code>
 +
 +===== Configuration du site WEB =====
 +
 +Changement du propriétaire du site
 +
 +<code>sudo chown -R www-data:www-data /var/www/nextcloud/</code>
 +
 +==== Configuration du Virtual Host Apache2 ====
 +
 +Création du fichier de configuration du site Nextcloud
 +
 +<code>sudo vim /etc/apache2/sites-available/nextcloud.conf</code>
 +
 +Exemple de virtualhost pour Nextcloud
 +
 +<code>
 +<VirtualHost *:80>
 +  DocumentRoot /var/www/nextcloud/
 +  ServerName  your.server.com
 +
 +  <Directory /var/www/nextcloud/>
 +    Require all granted
 +    AllowOverride All
 +    Options FollowSymLinks MultiViews
 +
 +    <IfModule mod_dav.c>
 +      Dav off
 +    </IfModule>
 +  </Directory>
 +</VirtualHost>
 +</code>
 +
 +Désactiver la configuration par défaut + activer le nouveau fichier de conf et recharger Apache2
 +
 +<code>
 +sudo a2dissite 000-default
 +sudo a2ensite nextcloud.conf
 +sudo systemctl reload apache2
 +</code>
 +
 +==== Module Apache2 Additionnel ====
 +
 +Il est recommander d'activer ces modules pour le fonctionnement de Nextcloud
 +<code>
 +sudo a2enmod rewrite
 +sudo a2enmod headers
 +sudo a2enmod env
 +sudo a2enmod dir
 +sudo a2enmod mime
 +</code>
 +
 +----
 +
 +===== Fin de configuration en interface WEB =====
 +
 +Se rendre sur le site du nextcloud avec : http://ip_du_serveur_nextcloud
 +
 +Remplir les champs pour la construction de la base de données avec :
 +
 +  * Définir l'identifiant administrateur de l'application Nextcloud avec son mot de passe
 +  * Laisser par défaut le stockage & de données
 +  * Remplir les champs de l'utilisateur/mot de passe et le nom de la base de données précédemment créer en ligne de commande mysql.
 +  * Enfin laisser localhost en hôte de base de données.
 +
 +{{ :wiki:nextcloud:installation_serveur_linux_nextcloud_2.png?400 |}}
 +
 +Choisir les applications souhaiter.
 +
 +{{ :wiki:nextcloud:installation_serveur_linux_nextcloud_3.png?400 |}}
 +
 +L'installation de Nextcloud est terminer !
 +
 +{{ :wiki:nextcloud:installation_serveur_linux_nextcloud_4.png?400 |}}
 +
 +
 +
 +===== Fichier de configuration config.php =====
 +
 +Afin de pouvoir mettre le serveur Nextcloud sur internet, il faudra changer des paramètres sur le fichier **config.php**
 +
 +Pour cela éditer le fichier avec :
 +
 +<code>sudo vim /var/www/nextcloud/config/config.php</code>
 +
 +Modifer la partition du domaine avec votre adresse IP source ou bien le domaine utilisé pour le serveur :
 +(Ici le nom de domaine est cloud.fr et son ip est 192.168.0.10)
 +<code>
 +'trusted_domains' => [
 +    'cloud.fr',
 +    '192.168.0.10',
 +],
 +</code>
 +
 +==== Configurer derrière un proxy ====
 +
 +Pour le bon fonctionnement derrière un reverse proxy (Exemple HAProxy), configurer également ces attributs :
 +
 +(Ici le nom de domaine est cloud.fr l'ip du proxy est 192.168.0.200 pour du https)
 +
 +<code>
 +'trusted_proxies' => [
 +    '192.168.0.200',
 +],
 +'overwritehost' => 'cloud.fr',
 +'overwriteprotocol' => 'https',
 +'overwrite.cli.url' => 'https://cloud.fr',
 +</code>
  
wiki/nextcloud/installation_nextcloud.1732832957.txt.gz · Last modified: 2024/11/28 23:29 by hmattaliano