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 12:20] lagrenouille [Installation] |
utilisateurs:lagrenouille:tutos:nextcloud-v.17 [04/11/2019 07:08] lagrenouille [les commandes occ de nextcloud] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== installation et configuration de nextcloud====== | ====== installation et configuration de nextcloud====== | ||
- | * Objet : tuto nextcloud | + | * Objet : tuto nextcloud et collabora online : par lagrenouille et Manu |
* 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> |
<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. | ||
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> | + | <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> |
<code>Enter password: | <code>Enter password: | ||
+--------------------+ | +--------------------+ | ||
Ligne 75: | Ligne 98: | ||
| performance_schema | | | performance_schema | | ||
+--------------------+</code> | +--------------------+</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é ==== |
<code user>dpkg -l | grep php</code> | <code user>dpkg -l | grep php</code> | ||
Ligne 132: | Ligne 155: | ||
ii mariadb-server-core-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database core server files</code> | ii mariadb-server-core-10.3 1:10.3.17-0+deb10u1 amd64 MariaDB database core server files</code> | ||
- | Vu que ma box m’attribue des IP en DHCP | + | ==== IP Dynamique et DNS ==== |
+ | Vu que ma box m’attribue des IP dynamique. | ||
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 === | ||
Ligne 197: | Ligne 221: | ||
</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> |
- | redirection de mes data dans un DD de stockage == | + | |
- | <code root>mv nextcloud/data/ /home/cumulus/ | + | ==== Déplacement de mes data dans un DD de stockage ==== |
- | </code> | + | |
+ | <code root>mv nextcloud/data/ /home/cumulus/</code> | ||
et correction du fichier configconfig.php de nextcloud (il y en aura d’autres plus loin) | et correction du fichier configconfig.php de nextcloud (il y en aura d’autres plus loin) | ||
je remplace | je remplace | ||
- | <code> 'datadirectory' => '/var/www/html/nextcloud/data', | + | <code php> 'datadirectory' => '/var/www/html/nextcloud/data',</code> |
par | par | ||
- | 'datadirectory' => '/home/cumulus/data',</code> | + | <code php> 'datadirectory' => '/home/cumulus/data',</code> |
<note>dans le cloud, j’ai dans | <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. | + | > Avertissements de sécurité & configuration : |
- | Il y a quelques erreurs concernant votre 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> | ||
- | 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. | + | ==== Correction des avertissements ==== |
- | 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 ↗. | + | === 1) la redirection https === |
- | 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> | + | |
- | == | + | |
- | Nous allons corriger ça : | + | |
- | == | + | |
- | **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 user>echo "funambule.org" >>/etc/dehydrated/domains.txt</code> | + | <code root>apt update |
- | <code>cat /etc/dehydrated/domains.txt | + | 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 | funambule.org www.funambule.org | ||
</code> | </code> | ||
- | <note>Pour que l’installation de dehydrated -c » s’installe, il faut qu'apache2 fonctionne sur le port 80. il faut donc désactivé nextcloud-ssl | + | <code root>dehydrated --register |
- | (heureusement qu’une girafe me l’a soufflé à l’oreille, je comprenais pas l’erreur) | + | dehydrated -c</code> |
- | </note> | + | |
+ | |||
+ | **mes clés privées et publiques ainsi que mon certificat seront disponibles dans le répertoire /var/lib/dehydrated/certs/funambule.org** | ||
- | <code root>#apt update</code> | + | <code user>ls -lha /var/lib/dehydrated/certs/funambule.org/</code> |
- | <code root>apt instal dehydrated dehydrated-apache2</code> | + | <code>cert-1571438695.csr cert.pem privkey-1571438695.pem |
- | <code root>dehydrated --register</code> | + | cert-1571438695.pem chain-1571439065.pem privkey-1571439065.pem |
- | <code root>dehydrated -c</code> | + | cert-1571439065.csr chain.pem privkey.pem |
- | <code root>apt install redis-server php-redis</code> | + | cert-1571439065.pem fullchain-1571439065.pem |
+ | cert.csr fullchain.pem | ||
+ | </code> | ||
- | **Éditer le fichier: /var/www/chemin_de_votre_serveur/config/config.php | ||
- | et ajouter:** | ||
- | <code> | ||
- | '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> | ||
- | | ||
| | ||
**Réactivé nextcloud-ssl et relancé apache2** | **Réactivé nextcloud-ssl et relancé apache2** | ||
Ligne 266: | Ligne 289: | ||
systemctl restart apache2</code> | systemctl restart apache2</code> | ||
- | == le vhost https dans /etc/apache2/sites-available/nextcloud-ssl.conf == | + | === 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> | ||
- | <code> <VirtualHost *:443> | + | |
+ | == le vhost https dans /etc/apache2/sites-available/nextcloud-ssl.conf == | ||
+ | <code><VirtualHost *:443> | ||
ServerAdmin lagrenouille@localhost | ServerAdmin lagrenouille@localhost | ||
ServerName funambule.org | ServerName funambule.org | ||
Ligne 280: | Ligne 311: | ||
</IfModule> | </IfModule> | ||
- | DocumentRoot /var/www/html/funambule/ | + | DocumentRoot /var/www/html/nextcloud/ |
- | <Directory /var/www/html/funambule/> | + | |
- | Require all granted | + | |
- | </Directory> | + | |
- | Alias /nextcloud /var/www/html/nextcloud | ||
<Directory /var/www/html/nextcloud/> | <Directory /var/www/html/nextcloud/> | ||
Options +FollowSymLinks | Options +FollowSymLinks | ||
Ligne 305: | Ligne 332: | ||
</VirtualHost></code> | </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> | ||
| | ||
- | == le fichier config.php == | + | |
+ | 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> | <file php nom.php> | ||
<?php | <?php | ||
$CONFIG = array ( | $CONFIG = array ( | ||
- | 'instanceid' => 'xxxqgcDSQQxxxxxz', | + | 'instanceid' => 'xxxxxxxx', |
- | 'passwordsalt' => '4Y8+xxxxxxxxxxxxxxxxx5Xr+P48dw2Ja1', | + | 'passwordsalt' => 'xxxxxxxxxxxxxxxxx', |
- | 'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxAkcesdtexxxxxY', | + | 'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
'trusted_domains' => | 'trusted_domains' => | ||
array ( | array ( | ||
Ligne 321: | Ligne 430: | ||
'dbtype' => 'mysql', | 'dbtype' => 'mysql', | ||
'version' => '16.0.5.1', | 'version' => '16.0.5.1', | ||
- | 'overwrite.cli.url' => 'http://www.funambule.orgX/nextcloud', | + | 'overwrite.cli.url' => 'http://www.funambule.org/nextcloud', |
'dbname' => 'nextcloud', | 'dbname' => 'nextcloud', | ||
'dbhost' => '127.0.0.1', | 'dbhost' => '127.0.0.1', | ||
Ligne 352: | Ligne 461: | ||
- | == le premier vhost nextcloud.conf == | + | ==== Ajout d'une page de portail ==== |
+ | mon nom de domaine est funambule.org | ||
+ | donc | ||
+ | Création d’un répertoire « funambule » | ||
- | <code><VirtualHost *:80> | + | 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 | ServerAdmin lagrenouille@localhost | ||
ServerName funambule.org | ServerName funambule.org | ||
ServerAlias www.funambule.org | ServerAlias www.funambule.org | ||
ServerAlias cumulus | 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/ | DocumentRoot /var/www/html/funambule/ | ||
Ligne 384: | Ligne 515: | ||
</ifModule> | </ifModule> | ||
</VirtualHost></code> | </VirtualHost></code> | ||
- | | + | |
- | + | ** Notes :** | |
- | == le vhost nextcloud.conf modifié et simplifié, juste pour la redirection == | + | |
- | <code> | + | à chaque création ou modification d’un vhost |
- | <VirtualHost *:80> | + | n’oubliez pas : |
- | ServerName funambule.org | + | <code root>a2ensite votre.conf </code> |
- | ServerAlias www.funambule.org | + | |
- | RedirectMatch ^(.*)$ https://funambule.org/$1 | + | et relancer le serveur apache |
- | </VirtualHost> | + | |
+ | <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** | ||
+ | |||
+ | |||
+ | <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> | ||
+ | |||
+ | **Une fois dans nextcloud, vous allez dans "applications" et vous activez la console, le prompt est occ | ||
+ | vous reste plus qu'a mettre la commande** | ||
+ | |||
+ | |||
+ | ====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}} | ||
+ | |||
+ | |||
+ | ====collabora online ==== | ||
+ | |||
+ | Toujours pareil, je donne ici la solution sur mon serveur . | ||
+ | |||
+ | <code user>wget https://github.com/nextcloud/richdocuments/releases/download/v3.4.2/richdocuments.tar.gz</code> | ||
+ | <code user>tar xzf richdocuments.tgz</code> | ||
+ | |||
+ | <code root>echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE ./' >> /etc/apt/sources.list.d/collabora.conf</code> | ||
+ | <code user> | ||
+ | cat /etc/apt/sources.list.d/collabora.list</code> | ||
+ | <code>deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian10 ./ | ||
</code> | </code> | ||
+ | <code root> | ||
+ | apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0CXXXXXXXXXXXX4D</code> | ||
+ | <code user>apt search loolwsd</code> | ||
+ | <code>En train de trier... Fait | ||
+ | Recherche en texte intégral... Fait | ||
+ | loolwsd/inconnu,now 4.0.8-2 amd64 [installé] | ||
+ | LibreOffice Online WebSocket Daemon | ||
+ | loolwsd-dbgsym/inconnu 4.0.8-2 amd64 | ||
+ | debug symbols for loolwsd</code> | ||
+ | <code user> | ||
+ | apt search code-brand</code> | ||
+ | <code>En train de trier... Fait | ||
+ | Recherche en texte intégral... Fait | ||
+ | code-brand/inconnu,now 4.0-2 all [installé] | ||
+ | Collabora Online Development Edition (CODE) branding | ||
+ | </code> | ||
+ | <code root>apt install loolwsd code-brand</code> | ||
+ | Création d'un sous domaine (cnam) chez gandi | ||
+ | cname collabora.funambule.org | ||
+ | |||
+ | <code root>openssl req -new -x509 -days 365 -nodes -out /etc/loolwsd/ca-chain.cert.pem -keyout /etc/loolwsd/key.pem</code> | ||
+ | |||
+ | <code root>cd /etc/loolwsd/; ln -s ca-chain.cert.pem cert.pem</code> | ||
+ | |||
+ | <code root>ls -lha /etc/loolwsd/</code> | ||
+ | <code>total 60K | ||
+ | drwxr-xr-x 2 root root 4,0K nov. 2 11:11 . | ||
+ | drwxr-xr-x 141 root root 12K nov. 1 14:05 .. | ||
+ | -rw-r--r-- 1 root root 1,3K nov. 1 14:18 ca-chain.cert.pem | ||
+ | lrwxrwxrwx 1 root root 17 nov. 1 14:20 cert.pem -> ca-chain.cert.pem | ||
+ | -rw------- 1 lool lool 1,7K nov. 1 14:18 key.pem | ||
+ | -rw-r--r-- 1 root root 1,7K oct. 23 09:00 loolkitconfig.xcu | ||
+ | -rw-r----- 1 lool lool 13K nov. 1 15:32 loolwsd.xml | ||
+ | -rw-r----- 1 root root 13K nov. 1 14:47 loolwsd.xml.orig | ||
+ | </code> | ||
+ | |||
+ | |||
+ | **le nouveau vhost 000-proxy-ssl.conf ** | ||
+ | |||
+ | |||
+ | <code> | ||
+ | " | ||
+ | <VirtualHost *:443> | ||
+ | ServerName collabora.funambule.org | ||
+ | Options -Indexes | ||
+ | |||
+ | # SSL configuration, you may want to take the easy route instead and use Lets Encrypt! | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile /var/lib/dehydrated/certs/funambule.org/fullchain.pem | ||
+ | SSLCertificateKeyFile /var/lib/dehydrated/certs/funambule.org/privkey.pem | ||
+ | #SSLCertificateChainFile /path/to/intermediate_certificate | ||
+ | SSLProtocol all -SSLv2 -SSLv3 | ||
+ | SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:....je raccourcis.......-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS | ||
+ | SSLHonorCipherOrder on | ||
+ | | ||
+ | # Manu rajoute par la suite | ||
+ | TimeOut 6000 | ||
+ | | ||
+ | # Encoded slashes need to be allowed | ||
+ | AllowEncodedSlashes NoDecode | ||
+ | | ||
+ | # Container uses a unique non-signed certificate | ||
+ | SSLProxyEngine On | ||
+ | SSLProxyVerify None | ||
+ | SSLProxyCheckPeerCN Off | ||
+ | SSLProxyCheckPeerName Off | ||
+ | | ||
+ | # keep the host | ||
+ | ProxyPreserveHost On | ||
+ | | ||
+ | # static html, js, images, etc. served from loolwsd | ||
+ | # loleaflet is the client part of Collabora Online | ||
+ | ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0 | ||
+ | ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet | ||
+ | | ||
+ | # WOPI discovery URL | ||
+ | ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0 | ||
+ | ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery | ||
+ | | ||
+ | # Capabilities | ||
+ | ProxyPass /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0 | ||
+ | ProxyPassReverse /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities | ||
+ | | ||
+ | # Main websocket | ||
+ | ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon | ||
+ | | ||
+ | # Admin Console websocket | ||
+ | ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws | ||
+ | # Download as, Fullscreen presentation and Image upload operations | ||
+ | ProxyPass /lool https://127.0.0.1:9980/lool | ||
+ | ProxyPassReverse /lool https://127.0.0.1:9980/lool | ||
+ | |||
+ | </VirtualHost>" | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Rajout de l'alias collabora dans nextcloud/config.config.php à la suite de funambule.org | ||
+ | |||
+ | <code>'trusted_domains' => | ||
+ | array ( | ||
+ | 0 => 'funambule.org', | ||
+ | 1 => 'collabora.funambule.org', | ||
+ | </code> | ||
+ | |||
+ | |||
+ | <code root> | ||
+ | systemctl restart loolwsd</code> | ||
+ | <code root>systemctl restart apache2</code> | ||
+ | |||
+ | J'ai du ouvrir les ports dans ma box, 22 interne et 2222 externe pour ssh, 80 et 443 puis 9980 | ||
+ | j'ai aussi ouvert le port de redis,6379, mais je pense que ça sert à rien.. | ||
+ | |||
+ | La création d'un document office ouvre instantanément collabora | ||
+ | |||
+ | {{https://debian-facile.org/images/file-Reed34f4fccb1ea3f63adb221acf4664d.png}} | ||
+ | |||
+ | **Maintenant, voila la seule procédure que j'ai trouvé pour collaborer à plusieurs à l'écriture d'un texte.** | ||
+ | |||
+ | Procedez comme pour un lien normal, mais coller l'adresse d'un des utilisateurs enregistrés, ou de la personne avec qui vous voulez travailler votre texte | ||
+ | cliquez sur l'icone "partagez le lien", collez le dans votre courrier et envoyez leur ce lien, et c'est bon. | ||
- | |||
- | ===== Utilisation ===== | ||