Installation des paquet pour un serveur LAMP (Linux Apache MariaDB PHP) ainsi que les les modules php demander par nextcloud
Remplacer les X.X par la version disponible avec APT
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
Exécuter cette commande
sudo mysql_secure_installation
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 :
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.
Rentrer dans la console de mysql
sudo mysql -uroot -p
Créer l'utilisateur de la base de donnée
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
Créer la base de donnée
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Attribuer les droits a l'utilisateur
GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost';
Recharger la table des privilèges
FLUSH PRIVILEGES;
Quitter la console mysql
Quit;
Se rendre sur la 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
Se rendre dans le répertoire temporaire du système et télécharger l'archive
cd /tmp/ && wget https://download.nextcloud.com/server/releases/latest.zip
Extraire l'archive dans le dossier d'apache (/var/www)
sudo unzip latest.zip -d /var/www
Changement du propriétaire du site
sudo chown -R www-data:www-data /var/www/nextcloud/
Création du fichier de configuration du site Nextcloud
sudo vim /etc/apache2/sites-available/nextcloud.conf
Exemple de virtualhost pour Nextcloud
<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>
Désactiver la configuration par défaut + activer le nouveau fichier de conf et recharger Apache2
sudo a2dissite 000-default sudo a2ensite nextcloud.conf sudo systemctl reload apache2
Il est recommander d'activer ces modules pour le fonctionnement de Nextcloud
sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime
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 :
Choisir les applications souhaiter.
L'installation de Nextcloud est terminer !
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 :
sudo vim /var/www/nextcloud/config/config.php
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)
'trusted_domains' => [ 'cloud.fr', '192.168.0.10', ],
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)
'trusted_proxies' => [ '192.168.0.200', ], 'overwritehost' => 'cloud.fr', 'overwriteprotocol' => 'https', 'overwrite.cli.url' => 'https://cloud.fr',