Installation de Nextcloud
Procédure
Avant toute chose, il est incontournable de disposer d'un serveur sur lequel Debian Stable (actuellement Bullseye) est installé et dont les accès et le proxy sont configurés : voir la partie précédente de cette documentation pour les détails.
Les étapes suivantes seront réalisées sur le serveur Nextcloud en utilisant un terminal et le compte root
de ce serveur.
Le serveur Apache
Installez le serveur Apache à l'aide de la commande suivante :
apt install apache2 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip sudo unzip smbclient php-ldap php-imagick imagemagick php-intl php-apcu php-bcmath php-gmp
Les modules du serveur Apache
Activez les modules du serveur Apache à l'aide des commandes :
a2enmod ssl
a2enmod headers
a2enmod rewrite
a2ensite default-ssl.conf
Relancez le service apache2 :
systemctl restart apache2
Truc & astuce
L'appel de la page
https://nuage-CODE_UAI.ac-academie.fr
doit afficher la page du serveur Apache.
Configuration du serveur MySQL
Pour configurer le serveur MySQL, lancez le script à l'aide de la commande suivante :
mysql_secure_installation
Choisir le mot de passe du compte root du serveur MySQL, puis répondre aux différentes questions en laissant les choix par défaut.
Création de la base de données
Lancez la commande suivante pour accéder au serveur MySQL :
sudo mysql -u root -p
Le mot de passe du serveur MysQL sera demandé et vous aurez une invite de commande
MariaDB
Lancez les commandes suivantes en adaptant le mot de passe yourpassword pour l'utilisateur nextclouduser :
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword'; (à adapter !)
GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
\q
Téléchargement et mise en place de l'archive Nextcloud
Téléchargez l'archive de la version stable dans sa version la plus récente (22.1.0 en janvier 2021) : adapter en fonction la commande suivante :
wget --no-check-certificate https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip
Décompressez cette archive :
unzip nextcloud-22.1.0.zip
Déplacez le répertoire obtenu :
mv nextcloud /var/www/
Modifiez le propriétaire de ce répertoire :
chown -R www-data:www-data /var/www/nextcloud
Création du répertoire contenant les données
Créez le répertoire contenant les données :
mkdir /nextcloud-data
Modifiez le propriétaire de ce répertoire :
chown www-data:www-data /nextcloud-data
Paramétrage des serveurs Apache et PHP
Éditez le fichier :
nano /etc/apache2/sites-enabled/default-ssl.conf
Modifier la ligne :
DocumentRoot /var/www/nextcloud
Ajoutez en fin de fichier les lignes suivantes :
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
Éditez le fichier :
nano /etc/php/7.3/apache2/php.ini
Modifiez les lignes :
memory_limit = 512M
date.timezone = Europe/Paris
Éditez le fichier :
/etc/php/7.4/mods-available/apcu.ini
Ajoutez la ligne :
apc.enable_cli = 1
Attention
Ne pas oublier de redémarrer le serveur Apache afin que les modifications soient prises en compte :
systemctl restart apache2
- Résultat
Le serveur Nextcloud est installé.
Il sera accessible à l'aide de l'url :
https://nuage-CODE_UAI.ac-academie.fr.