Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSSA /

Nextcloud

Page mise à jour le 08/04/2022 13:56

Vous êtes dans un espace restreint en écriture.

Installer Nextcloud sur Debian 10 buster

Installes les paquets

sudo apt install apache2 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip php-ldap

Configurer la base de données

sudo mysql_secure_installation
sudo mysql -u root -p
MariaDB [(none)]>CREATE DATABASE nextcloud;
MariaDB [(none)]>use nextcloud;
MariaDB [(none)]>GRANT ALL PRIVILEGES ON nextcloud.* TO nextcloud@localhost IDENTIFIED BY 'mot de passe';
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>\q

Configurer Apache Dans /etc/apache2/sites-enabled/000-default.conf :

<VirtualHost *:80>
ServerName nextcloud.dalembert.upmc.fr
ServerAdmin webmaster@lam.jussieu.fr
DocumentRoot /var/www/html/nextcloud

ErrorLog ${APACHE_LOG_DIR}/nextcloud-error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud-access.log combined

<IfModule mod_php7.c>
# Taille des fichiers en upload
php_value upload_max_filesize 2000M
php_value post_max_size 2010M
</IfModule>
</VirtualHost>
sudo systemctl restart apache2

Télécharger et configurer Nextcloud

Télécharger : https://nextcloud.com/install/#instructions-server
unzip nextcloud-*.zip
sudo cp -r nextcloud /var/www/html/nextcloud
sudo chown -R www-data:www-data /var/www/html/nextcloud
mkdir /home/nextcloud/data
sudo chown -R www-data:www-data /home/nextcloud/data

Aller dans http://serveur pour terminer la configuration

Le fichier /var/www/html/nextcloud/config/config.php est alors configuré

Configurer le LDAP

Administration -> Intégration LDAP/AD
Onglet Serveur
serveur : ldap.dalembert.upmc.fr
base : o=ijlrda
Onglet Utilisateurs
Seulement ces classes d'objets : inetOrgPerson (auto)
Onglet Attribut de login
Nom d'utilisateur LDAP / AD
Onglet Avancé -> Paramètres du dossier
Champ "nom d'affichage" de l'utilisateur : cn
DN racine de l'arbre utilisateurs :
ou=permanents,ou=personnels,o=ijlrda
ou=doctorants,ou=personnels,o=ijlrda
Champ "nom d'affichage" du groupe : cn (auto)
DN racine de l'arbre groupes : o=ijlrda (auto)
Onglet Avancé -> Attributs spéciaux
Quota par défaut : 200 GB
Onglet Expert
Nom d'utilisateur interne : uid

Paramètres "Vue d'ensemble"

Un message indique qu'il faut désactiver output_buffering dans php : dans /etc/php/7.3/apache2/php.ini, mettre en commentaire la ligne : output_buffering = 4096

Warning : Aucun cache mémoire n'est configuré. Si possible, configurez un "memcache" pour améliorer les performances. Le paquet php-apcu a été installé.

sudo apt-get install php-apcu

Dans /var/www/html/nextcloud/config/config.php, j'ai ajouté la ligne 'memcache.local' => '\OC\Memcache\APCu', et dans /etc/php/7.3/apache2/php.ini, apc.enable_cli=1.

Warning : Cette instance ne dispose pas de plusieurs modules PHP recommandés. Il est recommandé de les installer pour améliorer les performances, et la compatibilité. Les modules intl, bcmath, gmp et imagick ont été installés.

sudo apt-get install php7.3-intl php7.3-bcmath php7.3-gm php-imagick

Warning : Le module php-imagick n’a aucun support SVG dans cette instance. Pour une meilleure compatibilité, il est recommandé de l’installer

sudo apt-get install libmagickcore-6.q16-6-extra

Avec la version nextcloud-21.0.2, les fichiers pdf n'étaient pas lus, il a fallu changer le fichier /var/www/html/nextcloud/apps/files_pdfviewer/js/files_pdfviewer-main.js.

Installation de collabora online avec docker

La documentation : https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html

Installer docker

docker pull collabora/code
sudo docker run --name collabora -t -d -p 9980:9980 -e 'domain=nextcloud\\.dalembert\\.upmc\\.fr' --restart always --cap-add MKNOD collabora/code

Arrêter et supprimer le conteneur docker

docker ps
docker stop CONTAINER_ID
docker rm CONTAINER_ID

Voir les logs du conteneur docker

docker logs CONTAINER_ID
docker logs -f CONTAINER_ID (temps réel)

Entrer dans le conteneur et installer vim

docker exec -u root -it CONTAINER_ID bash
apt-get update
apt-get install vim

Modifier le fichier /etc/coolwsd/coolwsd.xml dans le conteneur

<server_name desc="External hostname:port of the server running coolwsd. If empty, it's derived from the request (please set it if this doesn't work). May be specified when behind a reverse-proxy or when the hostname is not reachable directly." type="string" default="collabora.dalembert.upmc.fr"></server_name>
root@zola:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
432adc905bcd collabora/code "/bin/sh -c 'bash st…" 9 minutes ago Up 9 minutes 127.0.0.1:9980->9980/tcp collabora

curl -k https://localhost:9980 doit répondre OK
Les logs :
docker logs -f collabora

Créer l'entrée du Proxy nginx sur le serveur proxy conformément à la doc, puis ajouter ou modifier dans /etc/nginx/sites-enabled/collabora.dalembert.upmc.fr.conf

server_name collabora.dalembert.upmc.fr;
ssl_certificate certs/collabora_dalembert_upmc_fr.pem;
ssl_certificate_key certs/collabora_dalembert_upmc_fr.key;
ssl_session_cache shared:collabora:50m;
Dans les différents paragraphes location, remplacer l'ip de localhost par l'ip du serveur Nextcloud et collabora ... :
proxy_pass https://134.157.43.31:9980;
À propos du site Licence Creative Commons Cooked with love in 2014-2023 by pcht
Page mise à jour le 08/04/2022 13:56