Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:lagrenouille:tutos:nextcloud-v.17 [25/10/2019 11:52] lagrenouille [Installation] |
utilisateurs:lagrenouille:tutos:nextcloud-v.17 [01/11/2019 09:03] lagrenouille [Installation] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== installation et configuration de nextcloud====== | ====== installation et configuration de nextcloud====== | ||
- | * Objet : tuto nextcloud | + | * Objet : tuto nextcloud par lagrenouille |
* Niveau requis : {{tag>débutant avisé}} | * Niveau requis : {{tag>débutant avisé}} | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
Ligne 12: | Ligne 12: | ||
===== Installation ===== | ===== Installation ===== | ||
- | pour le téléchargement, je suis allé dans var/www/html/ | + | Pour le téléchargement, |
- | en user | + | <code user>wget https://download.nextcloud.com/server/releases/nextcloud-17.0.0.zip</code> |
- | $ <code user>wget https://download.nextcloud.com/server/releases/nextcloud-17.0.0.zip</code> | + | Puis, pour une installation dans ''/var/www/html/'' |
- | + | <code root>cd /var/www/html | |
- | en root | + | unzip /home/lagrenouille/nextcloud-17.0.0.zip</code> |
- | # <code root>unzip nextcloud-17.0.0.zip | + | |
- | </code> | + | |
Pour l’installation, j’ai suivi la doc du site de nextcloud | Pour l’installation, j’ai suivi la doc du site de nextcloud | ||
+ | === le premier vhost nextcloud.conf === | ||
+ | |||
+ | <code><VirtualHost *:80> | ||
+ | ServerAdmin lagrenouille@localhost | ||
+ | ServerName funambule.org | ||
+ | ServerAlias www.funambule.org | ||
+ | ServerAlias cumulus | ||
+ | |||
+ | DocumentRoot /var/www/html/nextcloud/ | ||
+ | |||
+ | <Directory /var/www/html/nextcloud/> | ||
+ | Options +FollowSymLinks | ||
+ | AllowOverride all | ||
+ | Require all granted | ||
+ | <IfModule mod_dav.c> | ||
+ | Dav off | ||
+ | </IfModule> | ||
+ | SetEnv HOME /var/www/html/nextcloud/ | ||
+ | SetEnv HTTP_HOME /var/www/html/nextcloud/ | ||
+ | </Directory> | ||
+ | |||
+ | ErrorLog /var/log/apache2/nextcloud/error.log | ||
+ | LogLevel warn | ||
+ | CustomLog /var/log/apache2/nextcloud/access.log combined | ||
+ | <ifModule mod_rewrite.c> | ||
+ | RewriteEngine On | ||
+ | </ifModule> | ||
+ | </VirtualHost></code> | ||
+ | | ||
j’ai eu quelques erreurs qui me demandait d’installer les paquets suivant : | j’ai eu quelques erreurs qui me demandait d’installer les paquets suivant : | ||
{{https://debian-facile.org/images/file-R1501c103de40a0a47de866e12ebf1095.png}} | {{https://debian-facile.org/images/file-R1501c103de40a0a47de866e12ebf1095.png}} | ||
. | . | ||
- | # <code root>apt-get install php5-curl php7.3-xml php-mbstring php7.3-xml php-dom | + | <code root>apt-get install php5-curl php7.3-xml php-mbstring php7.3-xml php-dom</code> |
- | </code> | + | |
Puis j’ai l’affichage dans le navigateur : | Puis j’ai l’affichage dans le navigateur : | ||
- | |||
{{https://debian-facile.org/images/file-R96293f6f6f9fb75669700b7658d6b1f2.png}} | {{https://debian-facile.org/images/file-R96293f6f6f9fb75669700b7658d6b1f2.png}} | ||
nextcloud vous demande un login et un pass plus le login et le pass de la BDD (mysql) | nextcloud vous demande un login et un pass plus le login et le pass de la BDD (mysql) | ||
- | |||
une fois entrée, j’ai changé l’image d’accueil et mis mon logo | une fois entrée, j’ai changé l’image d’accueil et mis mon logo | ||
Ligne 39: | Ligne 64: | ||
{{https://debian-facile.org/images/file-Rf45f56dbec3dd8159bcaff48a6aed477.png}} | {{https://debian-facile.org/images/file-Rf45f56dbec3dd8159bcaff48a6aed477.png}} | ||
- | # <code root>adduser lagrenouille www-data</code> | + | <code root>adduser lagrenouille www-data |
- | + | chown -R www-data:lagrenouille /var/www/html/nextcloud | |
- | # <code root>chown -R www-data:lagrenouille /var/www/html/nextcloud</code> | + | chmod -R 755 nextcloud/ # (ou 770)</code> |
- | # <code root>chmod -R 755nextcloud/ (ou 770)</code> | + | |
- | + | ||
- | __pour que tout le monde puisse renommer les fichiers ou les supprimer, j'ai mis les data à 755 | + | |
- | __ | + | __pour que tous les utilisateurs du serveur puisse lire, supprimer et renommer fichiers, j'ai mis les data à 755__ |
- | ==== **créer la BDD** ==== | + | ==== Créer la BDD ==== |
- | $ <code user>mysql -u root -p</code> | + | <code user>mysql -u root -p</code> |
- | Enter password: | + | <code>Enter password: |
Welcome to the MariaDB monitor. Commands end with ; or \g. | Welcome to the MariaDB monitor. Commands end with ; or \g. | ||
Your MariaDB connection id is 39 | Your MariaDB connection id is 39 | ||
Ligne 61: | Ligne 83: | ||
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. | Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. | ||
- | MariaDB [(none)]> CREATE DATABASE nextcloud ; | + | MariaDB [(none)]></code> |
- | Query OK, 1 row affected (0.001 sec) | + | <code sql>CREATE DATABASE nextcloud;</code> |
+ | <code>Query OK, 1 row affected (0.001 sec)</code> | ||
- | $<code user> mysql -u lagrenouille -p -e "show databases";</code> | + | <code user> mysql -u lagrenouille -p -e "show databases";</code> |
- | Enter password: | + | <code>Enter password: |
+--------------------+ | +--------------------+ | ||
+--------------------+ | +--------------------+ | ||
Ligne 74: | Ligne 97: | ||
| nextcloud | | | nextcloud | | ||
| performance_schema | | | performance_schema | | ||
- | +--------------------+ | + | +--------------------+</code> |
- | la base est bien créer | + | la base est bien créée |
- | ====** voici un listing de ce j’ai installé **==== | + | ==== Voici un listing de ce j’ai installé ==== |
- | // | + | |
- | dpkg -l | grep php | + | |
- | + | ||
- | ii libapache2-mod-php7.3 7.3.9-1~deb10u1 amd64 server-side, HTML-embedded scripting language (Apache 2 module) | + | |
+ | <code user>dpkg -l | grep php</code> | ||
+ | <code>ii libapache2-mod-php7.3 7.3.9-1~deb10u1 amd64 server-side, HTML-embedded scripting language (Apache 2 module) | ||
ii php 2:7.3+69 all server-side, HTML-embedded scripting language (default) | ii php 2:7.3+69 all server-side, HTML-embedded scripting language (default) | ||
- | |||
ii php-common 2:69 all Common files for PHP packages | ii php-common 2:69 all Common files for PHP packages | ||
- | |||
ii php-curl 2:7.3+69 all CURL module for PHP [default] | ii php-curl 2:7.3+69 all CURL module for PHP [default] | ||
- | |||
ii php-mbstring 2:7.3+69 all MBSTRING module for PHP [default] | ii php-mbstring 2:7.3+69 all MBSTRING module for PHP [default] | ||
- | |||
ii php-mysql 2:7.3+69 all MySQL module for PHP [default] | ii php-mysql 2:7.3+69 all MySQL module for PHP [default] | ||
- | |||
ii php-pear 1:1.10.6+submodules+notgz-1.1 all PEAR Base System | ii php-pear 1:1.10.6+submodules+notgz-1.1 all PEAR Base System | ||
- | |||
ii php-xml 2:7.3+69 all DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default] | ii php-xml 2:7.3+69 all DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default] | ||
- | |||
ii php7.3 7.3.9-1~deb10u1 all server-side, HTML-embedded scripting language (metapackage) | ii php7.3 7.3.9-1~deb10u1 all server-side, HTML-embedded scripting language (metapackage) | ||
- | |||
ii php7.3-cli 7.3.9-1~deb10u1 amd64 command-line interpreter for the PHP scripting language | ii php7.3-cli 7.3.9-1~deb10u1 amd64 command-line interpreter for the PHP scripting language | ||
- | |||
ii php7.3-common 7.3.9-1~deb10u1 amd64 documentation, examples and common module for PHP | ii php7.3-common 7.3.9-1~deb10u1 amd64 documentation, examples and common module for PHP | ||
- | |||
ii php7.3-curl 7.3.9-1~deb10u1 amd64 CURL module for PHP | ii php7.3-curl 7.3.9-1~deb10u1 amd64 CURL module for PHP | ||
- | |||
ii php7.3-gd 7.3.9-1~deb10u1 amd64 GD module for PHP | ii php7.3-gd 7.3.9-1~deb10u1 amd64 GD module for PHP | ||
- | |||
- | |||
ii php7.3-json 7.3.9-1~deb10u1 amd64 JSON module for PHP | ii php7.3-json 7.3.9-1~deb10u1 amd64 JSON module for PHP | ||
- | |||
ii php7.3-mbstring 7.3.9-1~deb10u1 amd64 MBSTRING module for PHP | ii php7.3-mbstring 7.3.9-1~deb10u1 amd64 MBSTRING module for PHP | ||
- | |||
ii php7.3-mysql 7.3.9-1~deb10u1 amd64 MySQL module for PHP | ii php7.3-mysql 7.3.9-1~deb10u1 amd64 MySQL module for PHP | ||
- | |||
ii php7.3-opcache 7.3.9-1~deb10u1 amd64 Zend OpCache module for PHP | ii php7.3-opcache 7.3.9-1~deb10u1 amd64 Zend OpCache module for PHP | ||
- | |||
ii php7.3-readline 7.3.9-1~deb10u1 amd64 readline module for PHP | ii php7.3-readline 7.3.9-1~deb10u1 amd64 readline module for PHP | ||
- | |||
ii php7.3-sqlite3 7.3.9-1~deb10u1 amd64 SQLite3 module for PHP | ii php7.3-sqlite3 7.3.9-1~deb10u1 amd64 SQLite3 module for PHP | ||
- | |||
ii php7.3-xml 7.3.9-1~deb10u1 amd64 DOM, SimpleXML, WDDX, XML, and XSL module for PHP | ii php7.3-xml 7.3.9-1~deb10u1 amd64 DOM, SimpleXML, WDDX, XML, and XSL module for PHP | ||
- | + | ii php7.3-zip 7.3.9-1~deb10u1 amd64 Zip module for PHP php7.3-fpm</code> | |
- | ii php7.3-zip 7.3.9-1~deb10u1 amd64 Zip module for PHP php7.3-fpm | + | |
<code user>dpkg -l | grep apache</code> | <code user>dpkg -l | grep apache</code> | ||
- | + | <code>ii apache2 2.4.38-3+deb10u1 amd64 Apache HTTP Server | |
- | ii apache2 2.4.38-3+deb10u1 amd64 Apache HTTP Server | + | |
ii apache2-bin 2.4.38-3+deb10u1 amd64 Apache HTTP Server (modules and other binary files) | ii apache2-bin 2.4.38-3+deb10u1 amd64 Apache HTTP Server (modules and other binary files) | ||
ii apache2-data 2.4.38-3+deb10u1 all Apache HTTP Server (common files) | ii apache2-data 2.4.38-3+deb10u1 all Apache HTTP Server (common files) | ||
Ligne 137: | Ligne 136: | ||
ii libapache2-mod-php 2:7.3+69 all server-side, HTML-embedded scripting language (Apache 2 module) (default) | ii libapache2-mod-php 2:7.3+69 all server-side, HTML-embedded scripting language (Apache 2 module) (default) | ||
ii libapache2-mod-evasive 1.10.1-3 amd64 evasive module to minimize HTTP DoS or brute force attacks | ii libapache2-mod-evasive 1.10.1-3 amd64 evasive module to minimize HTTP DoS or brute force attacks | ||
- | ii apache2-ssl-dev 2.4.38-3+deb10u1 amd64 Apache HTTP Server (mod_ssl development headers) | + | ii apache2-ssl-dev 2.4.38-3+deb10u1 amd64 Apache HTTP Server (mod_ssl development headers)</code> |
<code user>dpkg -l | grep mysql</code> | <code user>dpkg -l | grep mysql</code> | ||
- | + | <code>ii libdbd-mysql-perl:amd64 4.050-2 amd64 Perl5 database interface to the MariaDB/MySQL database | |
- | ii libdbd-mysql-perl:amd64 4.050-2 amd64 Perl5 database interface to the MariaDB/MySQL database | + | |
ii mysql-common 5.8+1.0.5 all MySQL database common files, e.g. /etc/mysql/my.cnf | ii mysql-common 5.8+1.0.5 all MySQL database common files, e.g. /etc/mysql/my.cnf | ||
ii php-mysql 2:7.3+69 all MySQL module for PHP [default] | ii php-mysql 2:7.3+69 all MySQL module for PHP [default] | ||
ii php7.3-mysql 7.3.9-1~deb10u1 amd64 MySQL module for PHP | ii php7.3-mysql 7.3.9-1~deb10u1 amd64 MySQL module for PHP | ||
- | ii python3-pymysql 0.9.3-1 all Pure-Python MySQL Driver - Python 3.x | + | ii python3-pymysql 0.9.3-1 all Pure-Python MySQL Driver - Python 3.x</code> |
<code user>dpkg -l | grep mariadb</code> | <code user>dpkg -l | grep mariadb</code> | ||
- | + | <code>ii libmariadb3:amd64 1:10.3.17-0+deb10u1 amd64 MariaDB database client library | |
- | ii libmariadb3:amd64 1:10.3.17-0+deb10u1 amd64 MariaDB database client library | + | |
ii mariadb-client-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database client binaries | ii mariadb-client-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database client binaries | ||
ii mariadb-client-core-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database core client binaries | ii mariadb-client-core-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database core client binaries | ||
Ligne 157: | Ligne 153: | ||
ii mariadb-server 1:10.3.17-0+deb10u1 all MariaDB database server (metapackage depending on the latest version) | ii mariadb-server 1:10.3.17-0+deb10u1 all MariaDB database server (metapackage depending on the latest version) | ||
ii mariadb-server-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database server binaries | ii mariadb-server-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database server binaries | ||
- | ii mariadb-server-core-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database core server files | + | ii mariadb-server-core-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database core server files</code> |
- | // | + | ==== IP Dynamique et DNS ==== |
- | + | Vu que ma box m’attribue des IP dynamique. | |
- | Vu que ma box m’attribue des IP en DHCP | + | |
Je suis allé récupérer mon apikey chez gandi : | Je suis allé récupérer mon apikey chez gandi : | ||
- | un copain m’a fait un script python qui récupère mon ip public et qui la place dans ma zone DNS chez Gandi | + | Un copain m’a fait un script python qui récupère mon IP publique et qui la place dans ma zone DNS chez Gandi. |
=== Le script === | === Le script === | ||
- | <file python nom.py> | + | <file python nom.py>#!/usr/local/bin/python3 |
- | //#!/usr/local/bin/python3 | + | |
# -*- coding: UTF-8 -*- | # -*- coding: UTF-8 -*- | ||
- | |||
- | |||
import pycurl | import pycurl | ||
- | |||
from io import BytesIO | from io import BytesIO | ||
- | |||
import json | import json | ||
- | |||
import pprint | import pprint | ||
- | |||
import urllib.parse | import urllib.parse | ||
- | |||
apikey = 'sxxxxxxxxxxxxx' | apikey = 'sxxxxxxxxxxxxx' | ||
- | |||
buffer = BytesIO() | buffer = BytesIO() | ||
- | |||
buffer1 = BytesIO() | buffer1 = BytesIO() | ||
- | |||
curl = pycurl.Curl() | curl = pycurl.Curl() | ||
- | |||
# Requete chez Gandi pour avoir l'ip du DNS | # Requete chez Gandi pour avoir l'ip du DNS | ||
- | |||
curl.setopt(pycurl.HTTPHEADER, [ "X-Api-Key: " + apikey ]); | curl.setopt(pycurl.HTTPHEADER, [ "X-Api-Key: " + apikey ]); | ||
- | |||
curl.setopt(pycurl.WRITEDATA, buffer) | curl.setopt(pycurl.WRITEDATA, buffer) | ||
- | |||
curl.setopt(pycurl.URL, "https://dns.api.gandi.net/api/v5/domains/funambule.org/records/@/A") | curl.setopt(pycurl.URL, "https://dns.api.gandi.net/api/v5/domains/funambule.org/records/@/A") | ||
- | |||
curl.perform() | curl.perform() | ||
- | |||
data = buffer.getvalue().decode('utf-8') | data = buffer.getvalue().decode('utf-8') | ||
- | |||
datajs = json.loads(data) | datajs = json.loads(data) | ||
- | |||
old_ip = datajs['rrset_values'][0] | old_ip = datajs['rrset_values'][0] | ||
# Requete chez ifconfig pour avoir l'ip, la vraie | # Requete chez ifconfig pour avoir l'ip, la vraie | ||
- | |||
curl.setopt(pycurl.URL, "https://ifconfig.me/all.json") | curl.setopt(pycurl.URL, "https://ifconfig.me/all.json") | ||
- | |||
curl.setopt(pycurl.HTTPHEADER, [ "X-Api-Key: " + apikey ]); | curl.setopt(pycurl.HTTPHEADER, [ "X-Api-Key: " + apikey ]); | ||
- | |||
curl.setopt(pycurl.WRITEDATA, buffer1) | curl.setopt(pycurl.WRITEDATA, buffer1) | ||
- | |||
curl.perform() | curl.perform() | ||
- | |||
data1js = json.loads(buffer1.getvalue().decode('utf-8')) | data1js = json.loads(buffer1.getvalue().decode('utf-8')) | ||
- | |||
new_ip = data1js['ip_addr'] | new_ip = data1js['ip_addr'] | ||
- | |||
# Les deux sont-elles les memes ? | # Les deux sont-elles les memes ? | ||
- | |||
if old_ip != new_ip: | if old_ip != new_ip: | ||
- | |||
- | |||
# NON - Je supprime l'ancienne adresse | # NON - Je supprime l'ancienne adresse | ||
- | | ||
buffer2 = BytesIO() | buffer2 = BytesIO() | ||
- | | ||
curl.setopt(pycurl.HTTPHEADER, [ "Content-Type: application/json", "X-Api-Key: " + apikey ]) | curl.setopt(pycurl.HTTPHEADER, [ "Content-Type: application/json", "X-Api-Key: " + apikey ]) | ||
- | | ||
curl.setopt(pycurl.CUSTOMREQUEST,'DELETE') | curl.setopt(pycurl.CUSTOMREQUEST,'DELETE') | ||
- | | ||
curl.setopt(pycurl.WRITEDATA, buffer2) | curl.setopt(pycurl.WRITEDATA, buffer2) | ||
- | | ||
curl.setopt(pycurl.URL, "https://dns.api.gandi.net/api/v5/domains/funambule.org/records/@/A") | curl.setopt(pycurl.URL, "https://dns.api.gandi.net/api/v5/domains/funambule.org/records/@/A") | ||
- | | ||
curl.perform() | curl.perform() | ||
- | | ||
print("DELETE -> " + buffer2.getvalue().decode('utf-8')) | print("DELETE -> " + buffer2.getvalue().decode('utf-8')) | ||
- | | ||
| | ||
# Je remets new_ip | # Je remets new_ip | ||
- | | ||
post_data = {} | post_data = {} | ||
- | | ||
post_data["rrset_ttl"] = 10800 | post_data["rrset_ttl"] = 10800 | ||
- | | ||
post_data["rrset_values"] = [ new_ip ] | post_data["rrset_values"] = [ new_ip ] | ||
- | | ||
postfields = json.dumps(post_data) | postfields = json.dumps(post_data) | ||
- | | ||
buffer3 = BytesIO() | buffer3 = BytesIO() | ||
- | |||
curl.setopt(pycurl.HTTPHEADER, [ "Content-Type: application/json", "X-Api-Key: " + apikey ]) | curl.setopt(pycurl.HTTPHEADER, [ "Content-Type: application/json", "X-Api-Key: " + apikey ]) | ||
- | | ||
curl.setopt(pycurl.CUSTOMREQUEST,'PUT') | curl.setopt(pycurl.CUSTOMREQUEST,'PUT') | ||
- | | ||
curl.setopt(pycurl.POSTFIELDS, postfields) | curl.setopt(pycurl.POSTFIELDS, postfields) | ||
- | | ||
curl.setopt(pycurl.WRITEDATA, buffer3) | curl.setopt(pycurl.WRITEDATA, buffer3) | ||
- | | ||
curl.setopt(pycurl.URL, "https://dns.api.gandi.net/api/v5/domains/funambule.org/records/@/A") | curl.setopt(pycurl.URL, "https://dns.api.gandi.net/api/v5/domains/funambule.org/records/@/A") | ||
- | | ||
curl.perform() | curl.perform() | ||
- | | ||
print("PUT -> " + buffer3.getvalue().decode('utf-8'))// | print("PUT -> " + buffer3.getvalue().decode('utf-8'))// | ||
| | ||
</file> | </file> | ||
- | == le cron == | + | |
+ | |||
+ | === le cron === | ||
- | 14 * * * * python3 /etc/dnsnew/manu_update.py | + | Pour lancer le script de manière régulière : |
+ | <code cron>14 * * * * python3 /etc/dnsnew/manu_update.py</code> | ||
+ | |||
+ | ==== Déplacement de mes data dans un DD de stockage ==== | ||
+ | |||
+ | <code root>mv nextcloud/data/ /home/cumulus/</code> | ||
+ | |||
+ | et correction du fichier configconfig.php de nextcloud (il y en aura d’autres plus loin) | ||
+ | je remplace | ||
+ | |||
+ | <code php> 'datadirectory' => '/var/www/html/nextcloud/data',</code> | ||
+ | par | ||
+ | <code php> 'datadirectory' => '/home/cumulus/data',</code> | ||
+ | |||
+ | <note>dans le cloud, j’ai dans | ||
+ | |||
+ | > Avertissements de sécurité & configuration : | ||
+ | > | ||
+ | > Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous > aider, votre instance Nextcloud effectue des vérifications automatiques. Pour de plus amples informations, veuillez consulter la documentation liée. | ||
+ | > Il y a quelques erreurs concernant votre configuration. | ||
+ | > | ||
+ | > Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou de le déplacer hors de la racine du serveur web. | ||
+ | > | ||
+ | > SQLite est actuellement utilisé comme système de gestion de base de données. Pour des installations plus volumineuses, nous vous recommandons de migrer vers un autre système de gestion de base de données. C'est particulièrement recommandé lorsque l'on utilise un client bureau pour la synchronisation des fichiers. Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la documentation ↗. | ||
+ | > La limite de mémoire PHP est inférieure à la valeur recommandée de 512 Mo. | ||
+ | > Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS, comme expliqué dans nos conseils de sécurisation ↗. | ||
+ | </note> | ||
+ | |||
+ | ==== Correction des avertissements ==== | ||
+ | |||
+ | === 1) la redirection https === | ||
+ | |||
+ | <note>Pour que ''dehydrated -c'' fonctionne, il faut qu'apache2 fonctionne sur le port 80. il faut donc désactivé nextcloud-ssl | ||
+ | (heureusement qu’une girafe me l’a soufflé à l’oreille, je comprenais pas l’erreur) | ||
+ | </note> | ||
+ | |||
+ | <code root>apt update | ||
+ | apt install dehydrated dehydrated-apache2</code> | ||
+ | |||
+ | Paramétrage de dehydrated : | ||
+ | <code root>echo "funambule.org www.funambule.org" >> /etc/dehydrated/domains.txt</code> | ||
+ | <code user>cat /etc/dehydrated/domains.txt | ||
+ | funambule.org www.funambule.org | ||
+ | </code> | ||
+ | |||
+ | <code root>dehydrated --register | ||
+ | dehydrated -c</code> | ||
+ | |||
+ | |||
+ | **mes clés privées et publiques ainsi que mon certificat seront disponibles dans le répertoire /var/lib/dehydrated/certs/funambule.org** | ||
+ | |||
+ | <code user>ls -lha /var/lib/dehydrated/certs/funambule.org/</code> | ||
+ | <code>cert-1571438695.csr cert.pem privkey-1571438695.pem | ||
+ | cert-1571438695.pem chain-1571439065.pem privkey-1571439065.pem | ||
+ | cert-1571439065.csr chain.pem privkey.pem | ||
+ | cert-1571439065.pem fullchain-1571439065.pem | ||
+ | cert.csr fullchain.pem | ||
+ | </code> | ||
+ | |||
+ | |||
+ | **Réactivé nextcloud-ssl et relancé apache2** | ||
+ | <code root> | ||
+ | systemctl restart apache2</code> | ||
+ | |||
+ | === le vhost nextcloud.conf modifié et simplifié, juste pour la redirection === | ||
+ | <code><VirtualHost *:80> | ||
+ | ServerName funambule.org | ||
+ | ServerAlias www.funambule.org | ||
+ | RedirectMatch ^(.*)$ https://funambule.org/$1 | ||
+ | </VirtualHost> | ||
+ | </code> | ||
+ | |||
+ | |||
+ | == le vhost https dans /etc/apache2/sites-available/nextcloud-ssl.conf == | ||
+ | <code><VirtualHost *:443> | ||
+ | ServerAdmin lagrenouille@localhost | ||
+ | ServerName funambule.org | ||
+ | ServerAlias www.funambule.org | ||
+ | ServerAlias cumulus | ||
+ | |||
+ | <IfModule mod_ssl.c> | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile /var/lib/dehydrated/certs/funambule.org/fullchain.pem | ||
+ | SSLCertificateKeyFile /var/lib/dehydrated/certs/funambule.org/privkey.pem | ||
+ | </IfModule> | ||
+ | |||
+ | DocumentRoot /var/www/html/nextcloud/ | ||
+ | |||
+ | <Directory /var/www/html/nextcloud/> | ||
+ | Options +FollowSymLinks | ||
+ | AllowOverride all | ||
+ | Require all granted | ||
+ | <IfModule mod_dav.c> | ||
+ | Dav off | ||
+ | </IfModule> | ||
+ | SetEnv HOME /var/www/html/nextcloud/ | ||
+ | SetEnv HTTP_HOME /var/www/html/nextcloud/ | ||
+ | </Directory> | ||
+ | |||
+ | ErrorLog /var/log/apache2/nextcloud/error.log | ||
+ | LogLevel warn | ||
+ | CustomLog /var/log/apache2/nextcloud/access.log combined | ||
+ | <ifModule mod_rewrite.c> | ||
+ | RewriteEngine On | ||
+ | </ifModule> | ||
+ | </VirtualHost></code> | ||
+ | |||
+ | === 2) Augmentation de la mémoire allouée à PHP === | ||
+ | ** Vous aurez probablement un message concernant la mémoire du cache trop faible. | ||
+ | Configurez votre fichier /etc/php/7.3/fpm/php.ini . | ||
+ | ** | ||
+ | |||
+ | <code ini>Memory-limit 512</code> | ||
+ | |||
+ | pendant que vous y êtes, augmentez aussi l’upload à votre goût : | ||
+ | |||
+ | <code ini>upload_max_size 5000M</code> | ||
+ | |||
+ | |||
+ | === 3) Le cache avec redis === | ||
+ | <code root>apt install redis-server php-redis</code> | ||
+ | |||
+ | **Éditer le fichier: /var/www/chemin_de_votre_serveur/config/config.php | ||
+ | et ajouter:** | ||
+ | <code php>array(..., | ||
+ | 'memcache.local' => '\\OC\\Memcache\\Redis', /* contient les scripts php précompilés */ | ||
+ | 'filelocking.enabled' => 'true', | ||
+ | 'memcache.distributed' => '\\OC\\Memcache\\Redis', | ||
+ | 'memcache.locking' => '\\OC\\Memcache\\Redis', | ||
+ | 'redis' => | ||
+ | array ( | ||
+ | 'host' => 'localhost', | ||
+ | 'port' => 6379, | ||
+ | 'timeout' => 0, | ||
+ | 'dbindex' => 0, | ||
+ | ), | ||
+ | ... | ||
+ | );</code> | ||
+ | |||
+ | |||
+ | === 4) Installation des modules recommandés === | ||
+ | <note>Pour le message « 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é. | ||
+ | Intl et imagick | ||
+ | </note> | ||
+ | |||
+ | <code root> apt install php-intl php-imagick </code> | ||
+ | |||
+ | === 5) Migration de SQLite vers MariaDB === | ||
+ | **Pour le message : » SQLite est actuellement utilisé comme système de gestion de base de données. Pour des installations plus volumineuses, nous vous recommandons de migrer vers un autre système de gestion de base de données. » | ||
+ | xxxxxxx étant votre mot de passe mysql | ||
+ | ** | ||
+ | |||
+ | <code root>sudo -u www-data php occ db:convert-type --password="xxxxxxx" --all-apps mysql lagrenouille 127.0.0.1 nextcloud | ||
+ | |||
+ | </code> | ||
+ | |||
+ | **Vous aurez un truc comme ça, mais plus long, je mets juste le début et la fin** | ||
+ | |||
+ | <code>Creating schema in new database | ||
+ | oc_accounts | ||
+ | 6/6 [============================] 100%oc_activity | ||
+ | chunked query, 5 chunks | ||
+ | 4329/4329 [============================] 100%oc_activity_mq | ||
+ | 0 [>---------------------------]oc_addressbookchanges | ||
+ | 87/87 [============================] 100%oc_addressbooks | ||
+ | 1/1 [============================] 100%oc_appconfig | ||
+ | 193/193 [============================] 100%oc_authtoken | ||
+ | 8/8 [============================] 100%oc_bruteforce_attempts | ||
+ | 25/25 [============================] 100%oc_calendar_invitations | ||
+ | 0 [>---------------------------]oc_calendar_resources | ||
+ | |||
+ | ***etc***etc*****etc**************etc********etc******** | ||
+ | |||
+ | 8/8 [============================] 100%oc_systemtag | ||
+ | 0 [>---------------------------]oc_systemtag_group | ||
+ | 0 [>---------------------------]oc_systemtag_object_mapping | ||
+ | 0 [>---------------------------]oc_trusted_servers | ||
+ | 0 [>---------------------------]oc_twofactor_backupcodes | ||
+ | 0 [>---------------------------]oc_twofactor_providers | ||
+ | 5/5 [============================] 100%oc_users | ||
+ | 6/6 [============================] 100%oc_users_external | ||
+ | 0 [>---------------------------]oc_vcategory | ||
+ | 0 [>---------------------------]oc_vcategory_to_object | ||
+ | 0 [>---------------------------]oc_whats_new | ||
+ | 0 [>---------------------------]root@lebug:/var/www/html/nextcloud#</code> | ||
+ | |||
+ | |||
+ | Pour avoir accès en ssh de l’extérieur, j’ai mis dans ma box à la configuration avancée/NAT/PAT | ||
+ | <code>ssh interne 22 externe 2222</code> | ||
+ | |||
+ | ==== le fichier config.php ==== | ||
+ | |||
+ | <file php nom.php> | ||
+ | <?php | ||
+ | $CONFIG = array ( | ||
+ | 'instanceid' => 'xxxxxxxx', | ||
+ | 'passwordsalt' => 'xxxxxxxxxxxxxxxxx', | ||
+ | 'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', | ||
+ | 'trusted_domains' => | ||
+ | array ( | ||
+ | 0 => 'funambule.org', | ||
+ | ), | ||
+ | 'datadirectory' => '/home/cumulus/data', | ||
+ | 'dbtype' => 'mysql', | ||
+ | 'version' => '16.0.5.1', | ||
+ | 'overwrite.cli.url' => 'http://www.funambule.org/nextcloud', | ||
+ | 'dbname' => 'nextcloud', | ||
+ | 'dbhost' => '127.0.0.1', | ||
+ | 'dbport' => '', | ||
+ | 'dbtableprefix' => 'oc_', | ||
+ | 'mysql.utf8mb4' => true, | ||
+ | 'dbuser' => 'lagrenouille', | ||
+ | 'dbpassword' => 'XXXXXXXXX', | ||
+ | 'installed' => true, | ||
+ | 'has_rebuilt_cache' => true, | ||
+ | 'maintenance' => false, | ||
+ | 'mail_from_address' => 'lagrenouille', | ||
+ | 'mail_smtpmode' => 'smtp', | ||
+ | 'mail_sendmailmode' => 'smtp', | ||
+ | 'mail_domain' => 'chezlagrenouille.fr', | ||
+ | 'mail_smtpauthtype' => 'LOGIN', | ||
+ | 'memcache.local' => '\\OC\\Memcache\\Redis', | ||
+ | 'filelocking.enabled' => 'true', | ||
+ | 'memcache.distributed' => '\\OC\\Memcache\\Redis', | ||
+ | 'memcache.locking' => '\\OC\\Memcache\\Redis', | ||
+ | 'redis' => | ||
+ | array ( | ||
+ | 'host' => 'localhost', | ||
+ | 'port' => 6379, | ||
+ | 'timeout' => 0, | ||
+ | 'dbindex' => 0, | ||
+ | ), | ||
+ | ); | ||
+ | </file> | ||
+ | |||
+ | |||
+ | ==== Ajout d'une page de portail ==== | ||
+ | mon nom de domaine est funambule.org | ||
+ | donc | ||
+ | Création d’un répertoire « funambule » | ||
+ | |||
+ | je déplace l’index de ma page d’accueil dans ce répertoire | ||
+ | |||
+ | <code user>ls -lha funambule/</code> | ||
+ | <code>total 20K | ||
+ | drwxr-xr-x 3 www-data lagrenouille 4,0K oct. 21 10:47 . | ||
+ | drwxr-xr-x 4 root root 4,0K oct. 21 10:44 .. | ||
+ | drwxr-xr-x 2 www-data lagrenouille 4,0K oct. 5 11:56 images | ||
+ | -rwxr-xr-x 1 www-data lagrenouille 4,6K oct. 21 10:47 index.html</code> | ||
+ | |||
+ | j’appartiens au groupe www-data, c’est pourquoi j’ai fait un : | ||
+ | <code root>chown -R www-data lagrenouille</code> | ||
+ | |||
+ | === Modification du vhost -ssl === | ||
+ | <code><VirtualHost *:443> | ||
+ | ServerAdmin lagrenouille@localhost | ||
+ | ServerName funambule.org | ||
+ | ServerAlias www.funambule.org | ||
+ | ServerAlias cumulus | ||
+ | |||
+ | <IfModule mod_ssl.c> | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile /var/lib/dehydrated/certs/funambule.org/fullchain.pem | ||
+ | SSLCertificateKeyFile /var/lib/dehydrated/certs/funambule.org/privkey.pem | ||
+ | </IfModule> | ||
+ | |||
+ | DocumentRoot /var/www/html/funambule/ | ||
+ | <Directory /var/www/html/funambule/> | ||
+ | Require all granted | ||
+ | </Directory> | ||
+ | |||
+ | Alias /nextcloud /var/www/html/nextcloud | ||
+ | <Directory /var/www/html/nextcloud/> | ||
+ | Options +FollowSymLinks | ||
+ | AllowOverride all | ||
+ | Require all granted | ||
+ | <IfModule mod_dav.c> | ||
+ | Dav off | ||
+ | </IfModule> | ||
+ | SetEnv HOME /var/www/html/nextcloud/ | ||
+ | SetEnv HTTP_HOME /var/www/html/nextcloud/ | ||
+ | </Directory> | ||
+ | |||
+ | ErrorLog /var/log/apache2/nextcloud/error.log | ||
+ | LogLevel warn | ||
+ | CustomLog /var/log/apache2/nextcloud/access.log combined | ||
+ | <ifModule mod_rewrite.c> | ||
+ | RewriteEngine On | ||
+ | </ifModule> | ||
+ | </VirtualHost></code> | ||
+ | |||
+ | ** Notes :** | ||
+ | |||
+ | à chaque création ou modification d’un vhost | ||
+ | n’oubliez pas : | ||
+ | <code root>a2ensite votre.conf </code> | ||
+ | |||
+ | et relancer le serveur apache | ||
+ | |||
+ | <code root>systemctl reload apache2</code> | ||
+ | ** | ||
+ | PS :** merci à captnfab pour ses aides et à Manu pour son script python.. | ||
+ | |||
+ | |||
+ | =====les commandes occ de nextcloud===== | ||
+ | La commande occ de Nextcloud (provenant de "ownCloud Console") est l'interface de ligne de commande de Nextcloud. Vous pouvez effectuer de nombreuses opérations de serveur courantes avec occ, telles que l'installation et la mise à niveau de Nextcloud, la gestion des utilisateurs, le cryptage, les mots de passe, les paramètres LDAP, etc. | ||
+ | |||
+ | occ est dans le répertoire nextcloud/ | ||
+ | Exécuter occ en tant qu'utilisateur HTTP (www-data pour debian) | ||
+ | |||
+ | Rajoutez vous au groupe sudo si ce n'est pas fait: | ||
+ | <code root>adduser popol sudo</code> | ||
+ | <code>Ajout de l'utilisateur « popol » au groupe « sudo »... | ||
+ | Adding user popol to group sudo</code> | ||
+ | |||
+ | **Les commandes occ** | ||
+ | |||
+ | elles sont réservés a root | ||
+ | |||
+ | <code root>sudo -u www-data php occ list</code> | ||
+ | <code>cumulus 16.0.5 | ||
+ | |||
+ | Usage: | ||
+ | command [options] [arguments] | ||
+ | |||
+ | Options: | ||
+ | -h, --help Display this help message | ||
+ | -q, --quiet Do not output any message | ||
+ | -V, --version Display this application version | ||
+ | --ansi Force ANSI output | ||
+ | --no-ansi Disable ANSI output | ||
+ | -n, --no-interaction Do not ask any interactive question | ||
+ | --no-warnings Skip global warnings, show command output only | ||
+ | -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug | ||
+ | |||
+ | Available commands: | ||
+ | check check dependencies of the server environment | ||
+ | help Displays help for a command | ||
+ | list Lists commands | ||
+ | status show some status information | ||
+ | upgrade run upgrade routines after installation of a new release. The release has to be installed before. | ||
+ | activity | ||
+ | activity:send-mails Sends the activity notification mails | ||
+ | app | ||
+ | app:check-code check code to be compliant | ||
+ | app:disable disable an app | ||
+ | app:enable enable an app | ||
+ | app:getpath Get an absolute path to the app directory | ||
+ | app:install install an app | ||
+ | app:list List all available apps | ||
+ | app:remove remove an app | ||
+ | app:update update an app or all apps | ||
+ | background | ||
+ | background:ajax Use ajax to run background jobs | ||
+ | background:cron Use cron to run background jobs | ||
+ | background:webcron Use webcron to run background jobs | ||
+ | config | ||
+ | config:app:delete Delete an app config value | ||
+ | config:app:get Get an app config value | ||
+ | config:app:set Set an app config value | ||
+ | config:import Import a list of configs | ||
+ | config:list List all configs | ||
+ | config:system:delete Delete a system config value | ||
+ | config:system:get Get a system config value | ||
+ | config:system:set Set a system config value | ||
+ | dav | ||
+ | dav:create-addressbook Create a dav addressbook | ||
+ | dav:create-calendar Create a dav calendar | ||
+ | dav:list-calendars List all calendars of a user | ||
+ | dav:move-calendar Move a calendar from an user to another | ||
+ | dav:remove-invalid-shares Remove invalid dav shares | ||
+ | dav:sync-birthday-calendar Synchronizes the birthday calendar | ||
+ | dav:sync-system-addressbook Synchronizes users to the system addressbook | ||
+ | db | ||
+ | db:add-missing-indices Add missing indices to the database tables | ||
+ | db:convert-filecache-bigint Convert the ID columns of the filecache to BigInt | ||
+ | db:convert-mysql-charset Convert charset of MySQL/MariaDB to use utf8mb4 | ||
+ | db:convert-type Convert the Nextcloud database to the newly configured one | ||
+ | deck | ||
+ | deck:export Export a JSON dump of user data | ||
+ | encryption | ||
+ | encryption:change-key-storage-root Change key storage root | ||
+ | encryption:decrypt-all Disable server-side encryption and decrypt all files | ||
+ | encryption:disable Disable encryption | ||
+ | encryption:enable Enable encryption | ||
+ | encryption:encrypt-all Encrypt all files for all users | ||
+ | encryption:list-modules List all available encryption modules | ||
+ | encryption:set-default-module Set the encryption default module | ||
+ | encryption:show-key-storage-root Show current key storage root | ||
+ | encryption:status Lists the current status of encryption | ||
+ | federation | ||
+ | federation:sync-addressbooks Synchronizes addressbooks of all federated clouds | ||
+ | files | ||
+ | files:cleanup cleanup filecache | ||
+ | files:recommendations:recommend | ||
+ | files:scan rescan filesystem | ||
+ | files:scan-app-data rescan the AppData folder | ||
+ | files:transfer-ownership All files and folders are moved to another user - shares are moved as well. | ||
+ | files_external | ||
+ | files_external:applicable Manage applicable users and groups for a mount | ||
+ | files_external:backends Show available authentication and storage backends | ||
+ | files_external:config Manage backend configuration for a mount | ||
+ | files_external:create Create a new mount configuration | ||
+ | files_external:delete Delete an external mount | ||
+ | files_external:export Export mount configurations | ||
+ | files_external:import Import mount configurations | ||
+ | files_external:list List configured admin or personal mounts | ||
+ | files_external:notify Listen for active update notifications for a configured external mount | ||
+ | files_external:option Manage mount options for a mount | ||
+ | files_external:verify Verify mount configuration | ||
+ | group | ||
+ | group:add Add a group | ||
+ | group:adduser add a user to a group | ||
+ | group:delete Remove a group | ||
+ | group:list list configured groups | ||
+ | group:removeuser remove a user from a group | ||
+ | integrity | ||
+ | integrity:check-app Check integrity of an app using a signature. | ||
+ | integrity:check-core Check integrity of core code using a signature. | ||
+ | integrity:sign-app Signs an app using a private key. | ||
+ | integrity:sign-core Sign core using a private key. | ||
+ | l10n | ||
+ | l10n:createjs Create javascript translation files for a given app | ||
+ | log | ||
+ | log:file manipulate logging backend | ||
+ | log:manage manage logging configuration | ||
+ | log:tail Tail the nextcloud logfile | ||
+ | log:watch Watch the nextcloud logfile | ||
+ | |||
+ | mail:account:create creates IMAP account | ||
+ | mail:account:export Exports a user's IMAP account(s) | ||
+ | maintenance | ||
+ | maintenance:data-fingerprint update the systems data-fingerprint after a backup is restored | ||
+ | maintenance:mimetype:update-db Update database mimetypes and update filecache | ||
+ | maintenance:mimetype:update-js Update mimetypelist.js | ||
+ | maintenance:mode set maintenance mode | ||
+ | maintenance:repair repair this installation | ||
+ | maintenance:theme:update Apply custom theme changes | ||
+ | maintenance:update:htaccess Updates the .htaccess file | ||
+ | maps | ||
+ | maps:scan-photos Rescan photos GPS exif data | ||
+ | maps:scan-tracks Rescan track files | ||
+ | migrations | ||
+ | migrations:execute Execute a single migration version manually. | ||
+ | migrations:generate | ||
+ | migrations:generate-from-schema | ||
+ | migrations:migrate Execute a migration to a specified version or the latest available version. | ||
+ | migrations:status View the status of a set of migrations. | ||
+ | music | ||
+ | music:cleanup clean up orphaned DB entries (this happens also periodically on the background) | ||
+ | music:reset-cache drop data cached by the music app for performance reasons | ||
+ | music:reset-database drop metadata indexed by the music app (artists, albums, tracks, playlists) | ||
+ | music:scan scan and index any unindexed audio files | ||
+ | notification | ||
+ | notification:generate Generate a notification for the given user | ||
+ | security | ||
+ | security:certificates list trusted certificates | ||
+ | security:certificates:import import trusted certificate | ||
+ | security:certificates:remove remove trusted certificate | ||
+ | sharing | ||
+ | sharing:cleanup-remote-storages Cleanup shared storage entries that have no matching entry in the shares_external table | ||
+ | trashbin | ||
+ | trashbin:cleanup Remove deleted files | ||
+ | trashbin:expire Expires the users trashbin | ||
+ | twofactorauth | ||
+ | twofactorauth:cleanup Clean up the two-factor user-provider association of an uninstalled/removed provider | ||
+ | twofactorauth:disable Disable two-factor authentication for a user | ||
+ | twofactorauth:enable Enable two-factor authentication for a user | ||
+ | twofactorauth:enforce Enabled/disable enforced two-factor authentication | ||
+ | twofactorauth:state Get the two-factor authentication (2FA) state of a user | ||
+ | update | ||
+ | update:check Check for server and app updates | ||
+ | user | ||
+ | user:add adds a user | ||
+ | user:delete deletes the specified user | ||
+ | user:disable disables the specified user | ||
+ | user:enable enables the specified user | ||
+ | user:info show user info | ||
+ | user:lastseen shows when the user was logged in last time | ||
+ | user:list list configured users | ||
+ | user:report shows how many users have access | ||
+ | user:resetpassword Resets the password of the named user | ||
+ | user:setting Read and modify user settings | ||
+ | versions | ||
+ | versions:cleanup Delete versions | ||
+ | versions:expire Expires the users file versions</code> | ||
+ | |||
+ | **Voir les applications ouvertes ou non** | ||
+ | |||
+ | <code root>sudo -u www-data php occ app:list</code> | ||
+ | |||
+ | <code>Enabled: | ||
+ | - accessibility: 1.2.0 | ||
+ | - activity: 2.9.1 | ||
+ | - bruteforcesettings: 1.4.0 | ||
+ | - calendar: 1.7.1 | ||
+ | - cloud_federation_api: 0.2.0 | ||
+ | - comments: 1.6.0 | ||
+ | - contacts: 3.1.6 | ||
+ | - dav: 1.9.2 | ||
+ | - deck: 0.6.6 | ||
+ | - external: 3.3.1 | ||
+ | - federatedfilesharing: 1.6.0 | ||
+ | - federation: 1.6.0 | ||
+ | - files: 1.11.0 | ||
+ | - files_external: 1.7.0 | ||
+ | - files_pdfviewer: 1.5.0 | ||
+ | - files_photospheres: 1.0.5 | ||
+ | - files_rightclick: 0.13.0 | ||
+ | - files_sharing: 1.8.0 | ||
+ | - files_texteditor: 2.8.0 | ||
+ | - files_trashbin: 1.6.0 | ||
+ | - files_versions: 1.9.0 | ||
+ | - files_videoplayer: 1.5.0 | ||
+ | - firstrunwizard: 2.5.0 | ||
+ | - gallery: 18.3.0 | ||
+ | - logreader: 2.1.0 | ||
+ | - lookup_server_connector: 1.4.0 | ||
+ | - mail: 0.17.0 | ||
+ | - maps: 0.1.2 | ||
+ | - music: 0.11.0 | ||
+ | - nextcloud_announcements: 1.5.0 | ||
+ | - notifications: 2.4.1 | ||
+ | - oauth2: 1.4.2 | ||
+ | - ocr: 4.4.13 | ||
+ | - onlyoffice: 3.0.2 | ||
+ | - ownpad: 0.6.13 | ||
+ | - password_policy: 1.6.0 | ||
+ | - privacy: 1.0.0 | ||
+ | - provisioning_api: 1.6.0 | ||
+ | - recommendations: 0.4.0 | ||
+ | - richdocuments: 3.4.2 | ||
+ | - serverinfo: 1.6.0 | ||
+ | - sharebymail: 1.6.0 | ||
+ | - support: 1.0.0 | ||
+ | - survey_client: 1.4.0 | ||
+ | - systemtags: 1.6.0 | ||
+ | - theming: 1.7.0 | ||
+ | - twofactor_backupcodes: 1.5.0 | ||
+ | - updatenotification: 1.6.0 | ||
+ | - user_external: 0.7.0 | ||
+ | - viewer: 1.1.0 | ||
+ | - workflowengine: 1.6.0 | ||
+ | Disabled: | ||
+ | - admin_audit | ||
+ | - carnet | ||
+ | - encryption | ||
+ | - event_update_notification | ||
+ | - files_markdown | ||
+ | - gpxmotion | ||
+ | - user_ldap</code> | ||
+ | |||
+ | |||
+ | ====synchronisez votre cloud sur votre bureau==== | ||
+ | |||
+ | <code root> | ||
+ | apt installe nextcloud-desktop</code> | ||
+ | |||
+ | {{https://debian-facile.org/images/file-R3a37098d2eb9ff4b09bc7817138e6766.png}} | ||
+ | |||
+ | {{https://debian-facile.org/images/file-Rb0ad4b0c42a602ad7dc72cce899ae11e.png}} | ||
- | ===== Utilisation ===== | ||