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 | ||
server:free:nextcloud [2019/09/14 21:16] tfeneuil [Personnaliser l'apparence] |
server:free:nextcloud [2020/03/04 20:40] (Version actuelle) tfeneuil [Configuration du stockage primaire] |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
===== Installation des prérequis ===== | ===== Installation des prérequis ===== | ||
- | [[https://docs.nextcloud.com/server/16/admin_manual/installation/source_installation.html | + | Ressource : [[https://docs.nextcloud.com/server/16/admin_manual/installation/source_installation.html |
- | |Installation Guide]] | + | |Documentation officielle - Installation Guide]] |
==== Installation de PHP7.3 ==== | ==== Installation de PHP7.3 ==== | ||
+ | |||
+ | Ressource : [[https://tecadmin.net/install-php-debian-9-stretch/|How To Install PHP (7.3, 7.2 & 5.6) on Debian 9 Stretch]] | ||
Depuis la version 16 de NextCloud, il faut une version supérieure à PHP7.1. Actuellement, la version la plus récente de PHP est la version 7.3, donc c'est celle-ci que tu vas installer. | Depuis la version 16 de NextCloud, il faut une version supérieure à PHP7.1. Actuellement, la version la plus récente de PHP est la version 7.3, donc c'est celle-ci que tu vas installer. | ||
Ligne 21: | Ligne 23: | ||
sudo apt-get install php7.3-gd php7.3-json php7.3-mysql php7.3-curl php7.3-mbstring | sudo apt-get install php7.3-gd php7.3-json php7.3-mysql php7.3-curl php7.3-mbstring | ||
sudo apt-get install php7.3-intl php-imagick php7.3-xml php7.3-zip php7.3-ldap | sudo apt-get install php7.3-intl php-imagick php7.3-xml php7.3-zip php7.3-ldap | ||
+ | | ||
+ | ==== Préparation de l'annuaire LDAP ==== | ||
+ | |||
+ | Ressource : [[https://tylersguides.com/guides/openldap-memberof-overlay/ | OpenLDAP memberOf overlay]] | ||
+ | |||
+ | Pour faire fonctionner correctement LDAP avec NextCloud, il faut que le module ''%%memberOf%%'' soit activé. | ||
+ | |||
+ | Exécute la commande suivante pour voir s'il y a déjà des modules dans ton serveur LDAP : | ||
+ | |||
+ | slapcat -n 0 | grep olcModuleLoad | ||
+ | | ||
+ | S'il y en a (si des lignes apparaissent), charge le module de la manière suivante. | ||
+ | |||
+ | ldapmodify -Q -Y EXTERNAL -H ldapi:/// | ||
+ | dn: cn=module{0},cn=config | ||
+ | changetype: modify | ||
+ | add: olcModuleLoad | ||
+ | olcModuleLoad: memberof.la | ||
+ | | ||
+ | Et s'il y en a pas, charge le module de la manière suivante. | ||
+ | |||
+ | ldapadd -Y EXTERNAL -Q -H ldapi:/// | ||
+ | dn: cn=module,cn=config | ||
+ | cn: module | ||
+ | objectClass: olcModuleList | ||
+ | olcModulePath: /usr/lib/ldap | ||
+ | olcModuleLoad: memberof.la | ||
+ | |||
+ | Pour terminer, active le ! | ||
+ | |||
+ | ldapadd -Y EXTERNAL -H ldapi:/// | ||
+ | dn: olcOverlay=memberof,olcDatabase={1}mdb,cn=config | ||
+ | objectClass: olcOverlayConfig | ||
+ | objectClass: olcMemberOf | ||
+ | olcOverlay: memberof | ||
+ | olcMemberOfRefint: TRUE | ||
+ | | ||
+ | Pour plus d'informations, va voir ''%%man slapo-memberof%%''. | ||
==== Préparation de Apache2 ==== | ==== Préparation de Apache2 ==== | ||
Ligne 78: | Ligne 118: | ||
==== Préparation de la base de données MySQL ==== | ==== Préparation de la base de données MySQL ==== | ||
+ | |||
+ | Ressource : [[https://docs.nextcloud.com/server/15/admin_manual/configuration_database/mysql_4byte_support.html|Enabling MySQL 4-byte support]] | ||
Afin de pouvoir profiter au maximum des services que nous propose NextCloud. Il faut changer l'encodage de la base de données. La procédure suivante est valable pour MariaDB10.2 ou inférieur (ce qui était mon cas). Sinon trouve la procédure sur ... . Pour connaître ta version de Maria, exécute ''%%mysql -e "SELECT version();"%%''. | Afin de pouvoir profiter au maximum des services que nous propose NextCloud. Il faut changer l'encodage de la base de données. La procédure suivante est valable pour MariaDB10.2 ou inférieur (ce qui était mon cas). Sinon trouve la procédure sur ... . Pour connaître ta version de Maria, exécute ''%%mysql -e "SELECT version();"%%''. | ||
Ligne 124: | Ligne 166: | ||
==== Configuration du cache mémoire ==== | ==== Configuration du cache mémoire ==== | ||
+ | |||
+ | Ressource : [[https://docs.nextcloud.com/server/15/admin_manual/configuration_server/caching_configuration.html|Memory caching]] | ||
Je te propose (conseil de la documentation de NextCloud) d'utiliser APCu pour le cache local et Redis pour le cache distribué. | Je te propose (conseil de la documentation de NextCloud) d'utiliser APCu pour le cache local et Redis pour le cache distribué. | ||
Ligne 197: | Ligne 241: | ||
?> | ?> | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Si tu as déjà installé NextCloud (via l'interface graphique ou via l'API), il faut que tu rajoutes ces options directement dans le fichier ''%%/var/www/nextcloud/config/config.php%%''. | ||
+ | </WRAP> | ||
+ | |||
+ | ==== Configuration du gestion des fichiers supprimés ==== | ||
+ | |||
+ | Il est possible de configurer Nextcloud pour qu'il ait une certaine gestion des fichiers supprimés. Au bout de 6 mois d'utilisation, je me suis dit que la facture n'était pas en adéquation avec le volume des fichiers dans mon cloud. Et en fait, c'était parce que j'avais plus de 60 Go dans ma corbeille (qui s'était accumulé durant tous les mois), et que le volume dans la corbeille ne compte pas lorsque Nextcloud affiche la taille totale de tes fichiers. | ||
+ | |||
+ | Du coup, il est judicieux de configurer Nextcloud pour qu'il gère comme on le souhaite les fichiers supprimés. Il existe plusieurs options possibles (clique [[https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html#deleted-items-trash-bin|ici]] pour voir toutes les possibilités), mais j'ai choisi de configurer Nextcloud pour qu'il supprime définitivement les fichiers supprimés au bout de 30 jours (et j'autorise qu'il les supprime avant s'il a besoin de place). | ||
+ | |||
+ | |||
+ | Crée le fichier ''%%/var/www/nextcloud/config/trashbin.config.php%%'' avec le contenu suivant : | ||
+ | |||
+ | <?php | ||
+ | $CONFIG = array( | ||
+ | 'trashbin_retention_obligation' => 'auto, 30', | ||
+ | ); | ||
+ | ?> | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Ligne 203: | Ligne 266: | ||
==== Configuration du stockage primaire ==== | ==== Configuration du stockage primaire ==== | ||
+ | |||
+ | Ressource : [[https://github.com/nextcloud/server/issues/5865|Object storage as primary storage is broken in Nextcloud12]] | ||
Si tu voulais faire une installation classique où les fichiers sont sauvegardés dans un dossier du serveur (et non pas sur un Object Storage), tu peux sauter cette étape. | Si tu voulais faire une installation classique où les fichiers sont sauvegardés dans un dossier du serveur (et non pas sur un Object Storage), tu peux sauter cette étape. | ||
- | Créer le fichier ''%%/var/www/nextcloud/config/storage.config.php%%'' avec le contenu suivant : | + | Crée le fichier ''%%/var/www/nextcloud/config/storage.config.php%%'' avec le contenu suivant : |
<?php | <?php | ||
$CONFIG = array( | $CONFIG = array( | ||
+ | 'objectstore' => array( | ||
+ | 'class' => '\\OC\\Files\\ObjectStore\\Swift', | ||
+ | 'arguments' => array( | ||
+ | 'autocreate' => true, | ||
+ | 'user' => array( | ||
+ | 'name' => '************', | ||
+ | 'password' => '************', | ||
+ | 'domain' => array( | ||
+ | 'name' => 'default', | ||
+ | ), | ||
+ | ), | ||
+ | 'scope' => array( | ||
+ | 'project' => array( | ||
+ | 'name' => '************', | ||
+ | 'domain' => array( | ||
+ | 'name' => 'default', | ||
+ | ), | ||
+ | ), | ||
+ | ), | ||
+ | 'tenantName' => '************', // Same value as 'scope/project/name' | ||
+ | 'serviceName' => 'swift', | ||
+ | 'region' => 'GRA', | ||
+ | 'url' => 'https://auth.cloud.ovh.net/v3/', | ||
+ | 'bucket' => 'nextcloud', | ||
+ | ), | ||
+ | ), | ||
); | ); | ||
?> | ?> | ||
Ligne 216: | Ligne 307: | ||
Il est fortement déconseillé de changer la configuration de l'espace primaire de stockage après l'installation de NextCloud (via l'interface graphique ou l'API). En effet, cela aurait pour conséquence de rendre tous les fichiers sur le Cloud inaccessible et cela augmenterait les probabilités d'avoir une installation cassée (pendant mes tests, cela m'est arrivé plusieurs fois). | Il est fortement déconseillé de changer la configuration de l'espace primaire de stockage après l'installation de NextCloud (via l'interface graphique ou l'API). En effet, cela aurait pour conséquence de rendre tous les fichiers sur le Cloud inaccessible et cela augmenterait les probabilités d'avoir une installation cassée (pendant mes tests, cela m'est arrivé plusieurs fois). | ||
</WRAP> | </WRAP> | ||
+ | |||
==== Installation de NextCloud ==== | ==== Installation de NextCloud ==== |