Nextcloud
Utiliser nextcloud pour permettre aux utilisateurs d'accéder à leurs partages de l'extérieur de l'établissement.
Procédure
Demander la mise en place d'une redirection
Si vous êtes derrière un serveur Amon, il vous faut demander à votre DSI la mise ne place d'une redirection depuis un domaine du type
https://nuage-CODE_UAI.ac-academie.fr
vers l'adresse IP (port 443) du serveur qui hébergera Nextcloud.Installer Debian Buster sur le serveur qui hébergera Nextcloud
Conseil
Si vos serveurs SE4 sont virtualisés, une VM supplémentaire pourra contenir l'installation de Nextcloud.
Les caractéristiques suivantes sont tout à fait suffisantes :
2 cœurs,
4G de RAM,
DD de 32G.
Par défaut, Debian Buster n'autorise pas l'accès SSH pour l'utilisateur root.
Pour y remédier, il faut ajouter dans le fichier /etc/ssh/sshd_config la ligne :
PermitRootLogin yes
Puis relancer le service :
# systemctl restart sshd
Définition du proxy⚓
Pour définir le serveur Amon du réseau comme proxy pour apt et l'ensemble du système :
Dans le fichier /etc/apt/apt.conf vérifier la présence de la ligne :
Acquire::http::Proxy "http://IP_Du_AMON:3128";
Créer le fichier /etc/environment puis y ajouter les lignes :
http_proxy=http://172.16.0.246:3128
https_proxy=http://172.16.0.246:3128
Il est nécessaire de fermer puis rouvrir la session pour la prise en compte des modifications.
Installer les paquets nécessaires
Installer les paquets suivants :
# 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-libsmbclient php-ldap php-imagick php-intl php-apcu
Configurer Apache
Activer les modules suivants :
# a2enmod ssl
# a2enmod headers
# a2enmod rewrite
# e2ensite default-ssl.conf
# systemctl restart apache2
L'appel de la page https://nuage-CODE_UAI.ac-academie.fr doit afficher la page du serveur Apache.
Configurer MySQL
Pour configurer MySQL, lancer le script :
# mysql_secure_installation
Choisir le mot de passe du compte root de MySQL, et répondre aux différentes questions en laissant les choix par défaut.
Créer la base de données
Lancer les commandes suivantes :
sudo mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword'; (à adapter !)
GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
\q
Télécharger Nextcloud
wget --no-check-certificate https://download.nextcloud.com/server/releases/nextcloud-18.0.3.zip (à adapter à la version courante)
unzip nextcloud-18.0.3.zip
mv nextcloud /var/www/
chown -R www-data:www-data /var/www/nextcloud
Réglages divers
Création du dossier Data⚓
mkdir /nextcloud-data
chown www-data:www-data /nextcloud-data
Configuration de Apache⚓
Éditer le fichier /etc/apache2/sites-enabled/default-ssl.conf
Modifier : DocumentRoot /var/www/nextcloud
Ajouter en fin de fichier :
<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>
Configuration de PHP⚓
Éditer le fichier /etc/php/7.3/apache2/php.ini
Modifier et/ou ajouter les lignes :
memory_limit = 512M
apc.enable_cli = 1
Redémarrer Apache⚓
systemctl restart apache2
Installer Nextcloud
Rendez-vous sur la page https://nuage-CODE_UAI.ac-academie.fr pour procéder à l'installation de Nextcloud.
Répondez simplement aux questions posées.
Actions post-installation
Personnaliser la configuration initiale⚓
Éditer le fichier /var/www/nextcloud/config/config.php
Ajouter les lignes suivantes :
'skeletondirectory' => '',
'proxy' => 'IP_DU_AMON:3128', // à adapter
'memcache.local' => '\OC\Memcache\APCu',
'lost_password_link' => 'disabled',
array (
0 => 'IP_DU_AMON', // à adapter
),
array (
0 => 'HTTP_X_FORWARDED_FOR',
1 => 'HTTP_FORWARDED_FOR',
),
Actions post-install⚓
cd /var/www/nextcloud
sudo -u www-data php occ db:add-missing-indices
sudo -u www-data php occ db:convert-filecache-bigint
Mise en place de la tâhe cron⚓
crontab -u www-data -e
Ajouter la ligne :
*/5 * * * * php -f /var/www/nextcloud/cron.php
Réglages dans l'interface
Pour un simple accès aux partages Samba, on pourra régler dans l'interface :
Désactiver l'API de partage
Quota par défaut de 10M
Activer les applications
Dans l'interface, activer les applications :
LDAP user and group backend
External storage support
Configurer l'accès à l'Active Directory
Configurer les partages accessibles
Partage Docs⚓
Support : SMB/CIFS
Identifiants de connexion, sauvegardés pour la session
Serveur : IP_SE4FS
Partage : Users
Sous-dossier distant : $home/Docs
Domaine : domaine
Partage Classes⚓
Support : SMB/CIFS
Identifiants de connexion, sauvegardés pour la session
Serveur : IP_SE4FS
Partage : Classes
Sous-dossier distant : laisser vide
Domaine : domaine
Autres partages⚓
Support : SMB/CIFS
Identifiants de connexion, sauvegardés pour la session
Serveur : IP_SE4FS
Partage : Docs
Sous-dossier distant : laisser vide
Domaine : domaine
On pourra restreindre ce partage à certain groupes.