Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:kloud [2020/03/28 19:29] – [Nexcloud] Deedfr:kloud [2021/12/03 19:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Owncloud/Nextcloud ======+====== Nextcloud ======
 Nous avons installé une instance Nextcloud, disponible à cette adresse : [[https://kloud.khaganat.net]]. Il est actuellement nécessaire de vous créer un compte à cette adresse, et de demander à un admin l'accès au dossier partagé "Khaganat".   Nous avons installé une instance Nextcloud, disponible à cette adresse : [[https://kloud.khaganat.net]]. Il est actuellement nécessaire de vous créer un compte à cette adresse, et de demander à un admin l'accès au dossier partagé "Khaganat".  
  
Ligne 8: Ligne 8:
  
 Mais je n'ai pas changé les captures d'écran, parce que trop la flemme et en plus en dehors du nom, c'est tout pareil.  Mais je n'ai pas changé les captures d'écran, parce que trop la flemme et en plus en dehors du nom, c'est tout pareil. 
 +
 +Edit au 23/09/2020 : ça serait bien de refaire ces captures, quand même... Car Nextcloud a évolué.
 </WRAP> </WRAP>
  
-===== Installer le client Nextcloud =====+===== Côté utilisatrice ===== 
 + 
 +==== Installer le client Nextcloud ====
  
 Nextcloud est à présent dans la plupart des dépôts sur Linux. Vous trouverez aussi toutes les possibilités sur [[https://nextcloud.com/install/#install-clients|la page des clients de Nextcloud]]. Enfin, vous pouvez aussi installer le client owncloud, il est encore compatible avec nextcloud (mais pour combien de temps ?). Nextcloud est à présent dans la plupart des dépôts sur Linux. Vous trouverez aussi toutes les possibilités sur [[https://nextcloud.com/install/#install-clients|la page des clients de Nextcloud]]. Enfin, vous pouvez aussi installer le client owncloud, il est encore compatible avec nextcloud (mais pour combien de temps ?).
Ligne 18: Ligne 22:
 Pour les autres OS (**Mac**, **Windows**), rendez-vous sur https://owncloud.com/download/#desktop-clients, choisissez votre système d'exploitation et cliquez sur "Download". Installez le logiciel. Pour les autres OS (**Mac**, **Windows**), rendez-vous sur https://owncloud.com/download/#desktop-clients, choisissez votre système d'exploitation et cliquez sur "Download". Installez le logiciel.
  
-===== Connecter le client à Khaganat =====+==== Connecter le client à Khaganat ====
 Lors de la première installation, Nextcloud devrait vous demander de paramétrer un serveur auquel se connecter. Si ce n'est pas le cas, faites un clic droit sur l'icone dans le systray, sélectionnez //Paramètres// puis dans le menu déroulant //Comptes//, choisissez //Ajouter un nouveau//. Lors de la première installation, Nextcloud devrait vous demander de paramétrer un serveur auquel se connecter. Si ce n'est pas le cas, faites un clic droit sur l'icone dans le systray, sélectionnez //Paramètres// puis dans le menu déroulant //Comptes//, choisissez //Ajouter un nouveau//.
  
Ligne 32: Ligne 36:
 {{ :fr:owncloud4.png?nolink |Quel dossier va se synchroniser ?}} {{ :fr:owncloud4.png?nolink |Quel dossier va se synchroniser ?}}
  
-===== Partager un dossier =====+==== Partager un dossier ====
 Passez par l'interface web, c'est plus facile. Passez par l'interface web, c'est plus facile.
  
Ligne 39: Ligne 43:
 {{ :fr:owncloud5.png?direct&2700 | Cliquez pour agrandir}} {{ :fr:owncloud5.png?direct&2700 | Cliquez pour agrandir}}
  
-====== Installation Nexcloud ====== +===== Installation du serveur Nexcloud ===== 
-**BROUILLON** + 
-**DEBIAN 10 NEXTCLOUT 16 ** +==== LEMP ====
-===== LEMP =====+
 Installation: Installation:
   apt install nginx   apt install nginx
-  apt install php-fpm php-curl php-cli  php-gd php-iconv php-xsl php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-apcu php-memcached redis-server ffmpeg  +  apt install php php-fpm php-curl php-cli  php-gd php-iconv php-xsl php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-apcu php-memcached php-redis redis-server ffmpeg sudo php-bcmath php-gmp 
-  apt install postgresql postgresql-contrib php-pgsql+  apt install postgresql postgresql-contrib php-pgsql 
  
 Configuration: Configuration:
Ligne 74: Ligne 77:
   opcache.save_comments=1   opcache.save_comments=1
   opcache.revalidate_freq=1   opcache.revalidate_freq=1
-===== Nexcloud =====+==== Nexcloud ====
 Outils: Outils:
   apt install wget unzip p7zip p7zip-full   apt install wget unzip p7zip p7zip-full
 Téléchargement de Nextcloud Téléchargement de Nextcloud
   cd /var/www   cd /var/www
-  wget https://download.nextcloud.com/server/releases/nextcloud-18.0.3.zip +  wget https://download.nextcloud.com/server/releases/latest.zip 
-  7z x nextcloud-18.0.3.zip+  7z x latest.zip
   chown -R www-data:www-data /var/www/nextcloud/   chown -R www-data:www-data /var/www/nextcloud/
  
-{{tag>Tutoriel Outils}}+Database: 
 +  sudo -u postgres createuser -P kloud_user 
 +  sudo -u postgres createdb -O kloud_user kloud_prod 
 + 
 +==== Nginx ==== 
 +=== Conf === 
 +  nano /etc/nginx/site-available/nextcloud 
 +   
 +<code bash> 
 +upstream php-handler { 
 +    server 127.0.0.1:9000; 
 +    #server unix:/var/run/php/php7.3-fpm.sock; 
 +
 + 
 +server { 
 +    listen 80; 
 +    listen [::]:80; 
 +    server_name kloud.khaganat.net; 
 +    # enforce https 
 +    return 301 https://kloud.khaganat.net:443$request_uri; 
 +
 + 
 +server { 
 +    listen 443 ssl http2; 
 +    listen [::]:443 ssl http2; 
 +    server_name kloud.khaganat.net; 
 + 
 +    # Use Mozilla's guidelines for SSL/TLS settings 
 +    # https://mozilla.github.io/server-side-tls/ssl-config-generator/ 
 +    # NOTE: some settings below might be redundant 
 +    ssl_certificate /etc/letsencrypt/live/kloud.khaganat.net/fullchain.pem; 
 +    ssl_certificate_key /etc/letsencrypt/live/kloud.khaganat.net/privkey.pem; 
 + 
 + 
 +    # Add headers to serve security related headers 
 +    # Before enabling Strict-Transport-Security headers please read into this 
 +    # topic first. 
 +    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; 
 +    # 
 +    # WARNING: Only add the preload option once you read about 
 +    # the consequences in https://hstspreload.org/. This option 
 +    # will add the domain to a hardcoded list that is shipped 
 +    # in all major browsers and getting removed from this list 
 +    # could take several months. 
 +    add_header Referrer-Policy "no-referrer" always; 
 +    add_header X-Content-Type-Options "nosniff" always; 
 +    add_header X-Download-Options "noopen" always; 
 +    add_header X-Frame-Options "SAMEORIGIN" always; 
 +    add_header X-Permitted-Cross-Domain-Policies "none" always; 
 +    add_header X-Robots-Tag "none" always; 
 +    add_header X-XSS-Protection "1; mode=block" always; 
 + 
 +    # Remove X-Powered-By, which is an information leak 
 +    fastcgi_hide_header X-Powered-By; 
 + 
 +    # Path to the root of your installation 
 +    root /var/www/nextcloud; 
 + 
 +    location = /robots.txt { 
 +        allow all; 
 +        log_not_found off; 
 +        access_log off; 
 +    } 
 + 
 +    # The following 2 rules are only needed for the user_webfinger app. 
 +    # Uncomment it if you're planning to use this app. 
 +    #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; 
 +    #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; 
 + 
 +    # The following rule is only needed for the Social app. 
 +    # Uncomment it if you're planning to use this app. 
 +    #rewrite ^/.well-known/webfinger /public.php?service=webfinger last; 
 + 
 +    location = /.well-known/carddav { 
 +      return 301 $scheme://$host:$server_port/remote.php/dav; 
 +    } 
 +    location = /.well-known/caldav { 
 +      return 301 $scheme://$host:$server_port/remote.php/dav; 
 +    } 
 + 
 +    # set max upload size 
 +    client_max_body_size 512M; 
 +    fastcgi_buffers 64 4K; 
 + 
 +    # Enable gzip but do not remove ETag headers 
 +    gzip on; 
 +    gzip_vary on; 
 +    gzip_comp_level 4; 
 +    gzip_min_length 256; 
 +    gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; 
 +    gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; 
 + 
 +    # Uncomment if your server is build with the ngx_pagespeed module 
 +    # This module is currently not supported. 
 +    #pagespeed off; 
 + 
 +    location / { 
 +        rewrite ^ /index.php; 
 +    } 
 + 
 +    location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/
 +        deny all; 
 +    } 
 +    location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) { 
 +        deny all; 
 +    } 
 + 
 +    location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) { 
 +        fastcgi_split_path_info ^(.+?\.php)(\/.*|)$; 
 +        set $path_info $fastcgi_path_info; 
 +        try_files $fastcgi_script_name =404; 
 +        include fastcgi_params; 
 +        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
 +        fastcgi_param PATH_INFO $path_info; 
 +        fastcgi_param HTTPS on; 
 +        # Avoid sending the security headers twice 
 +        fastcgi_param modHeadersAvailable true; 
 +        # Enable pretty urls 
 +        fastcgi_param front_controller_active true; 
 +        fastcgi_pass php-handler; 
 +        fastcgi_intercept_errors on; 
 +        fastcgi_request_buffering off; 
 +    } 
 + 
 +    location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) { 
 +        try_files $uri/ =404; 
 +        index index.php; 
 +    } 
 + 
 +    # Adding the cache control header for js, css and map files 
 +    # Make sure it is BELOW the PHP block 
 +    location ~ \.(?:css|js|woff2?|svg|gif|map)$ { 
 +        try_files $uri /index.php$request_uri; 
 +        add_header Cache-Control "public, max-age=15778463"; 
 +        # Add headers to serve security related headers (It is intended to 
 +        # have those duplicated to the ones above) 
 +        # Before enabling Strict-Transport-Security headers please read into 
 +        # this topic first. 
 +        add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; 
 +        # 
 +        # WARNING: Only add the preload option once you read about 
 +        # the consequences in https://hstspreload.org/. This option 
 +        # will add the domain to a hardcoded list that is shipped 
 +        # in all major browsers and getting removed from this list 
 +        # could take several months. 
 +        add_header Referrer-Policy "no-referrer" always; 
 +        add_header X-Content-Type-Options "nosniff" always; 
 +        add_header X-Download-Options "noopen" always; 
 +        add_header X-Frame-Options "SAMEORIGIN" always; 
 +        add_header X-Permitted-Cross-Domain-Policies "none" always; 
 +        add_header X-Robots-Tag "none" always; 
 +        add_header X-XSS-Protection "1; mode=block" always; 
 + 
 +        # Optional: Don't log access to assets 
 +        access_log off; 
 +    } 
 + 
 +    location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ { 
 +        try_files $uri /index.php$request_uri; 
 +        # Optional: Don't log access to other assets 
 +        access_log off; 
 +    } 
 +
 +</code> 
 + 
 +  ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enable 
 + 
 +=== Certificat === 
 +  apt install certbot 
 +  service nginx stop 
 +  certbot certonly --standalone -d kloud.kagouille.fr 
 +  service nginx start 
 + 
 +Lancer votre Nextcloud sur votre navigateur 
 + 
 +==== Cache ==== 
 +Ajouter le cache : 
 +  nano /var/www/nextcloud/config/config.php 
 + 
 +  '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, 
 +  ), 
 + 
 +source : https://docs.nextcloud.com/server/latest/admin_manual/installation/ 
 + 
 +==== Voir aussi ==== 
 +Très bon tuto pour une super install ici : [[https://riegers.in/nextcloud-installation-guide-debian-10/]]. Malheureusement en anglais, donc en extraire les choses importantes pour nous serait un plus ? 
 + 
 +==== Personnalisation ==== 
 +=== Fichiers par défaut === 
 +Lorsqu'un nouvel utilisateur est créé, il a automatiquement certains documents dans son dossier personnel. Ces documents viennent du dossier ''core/skeleton'' et sont copiés lors de la création (ouais, c'est même pas des liens symboliques). Ils ont peu d'intérêts et prennent de la place pour rien, d'autant que la plupart des utilisateurs n'osent pas y toucher par peur de casser quelque chose. 
 + 
 +Autant changer ça !  
 + 
 +Modifier le contenu du dossier est une solution temporaire, mais ce sera remis à zéro à chaque mise à jour. Une solution plus durable consiste à changer le dossier à prendre en compte pour le squelette dans le placard. 
 + 
 +Doc officielle : https://docs.nextcloud.com/server/20/admin_manual/configuration_files/default_files_configuration.html?highlight=skeleton 
 + 
 +Résumé en français : modifiez le fichier ''config/config.php'' pour ajouter/modifier cette ligne, en indiquant le chemin de votre nouveau squelette : 
 + 
 +<code>'skeletondirectory' => '/path/to/nextcloud/core/skeleton'</code> 
 + 
 +Laissez vide si vous ne voulez pas de squelette :  
 + 
 +<code>'skeletondirectory' => ''</code> 
 + 
 +La variable ''{lang}'' peut être pour la langue de l'utilisateur, afin de lui servir des fichiers dans son langage. Si le dossier n'existe pas, il prendra alors la langue par défaut (par exemple anglais, mais ça dépend de vos paramètres généraux).  
 + 
 +<WRAP center round todo 60%> 
 +À tester ! 
 +</WRAP> 
 + 
 +<code>'skeletondirectory' => '/path/to/nextcloud/core/skeleton/en/'</code> 
 + 
 +=== Changer la langue par défaut === 
 +Source : https://docs.nextcloud.com/server/20/admin_manual/configuration_server/language_configuration.html 
 + 
 +Nextcloud devrait détecter la langue du navigateur pour décider de l'interface à utiliser, mais dans la pratique c'est très aléatoire pour les utilisateurs connectés. Si votre cloud s'adresse à une seule communauté linguistique, le mieux est de paramétrer la langue par défaut des utilisateurs, en ajoutant/changeant les ligne suivantes dans le fichier ''config/config.php''
 +<code> 
 +'default_language' => 'fr', 
 +'default_locale' => 'fr_FR', 
 +</code> 
 + 
 +{{tag>Tutoriel Outils Obsolète brouillon}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/kloud.1585420156.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact