Instalation et configuration de Nextcloud
Intallez les dépendances et mettez memory_limit à 512M ou lieu de 128M dans le php.ini.root@omega:~# apt install php7.3-gd php7.3-curl php7.3-intl php-imagick php-apcu root@omega:~# nano /etc/php/7.3/apache2/php.ini
; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 512M
root@omega:~# systemctl restart apache2
Créez un répertoire pour les données si vous en souhaitez un de particulier, et changer le propriétaire comme au dessus.
Créez un fichier /etc/apache2/sites-available/010-nextcloud.conf contenant (A modifier avec vos données)Activez le site et redémarez appache :<virtualhost *:80> ServerAdmin cloud@ducouet.fr ServerName mycloud.ducouet.fr ServerAlias mycloud DocumentRoot /var/www/nextcloud <IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" </IfModule> <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/\.well-known/host-meta /public.php?service=host-meta [QSA,L] RewriteRule ^/\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L] RewriteRule ^/\.well-known/webfinger /public.php?service=webfinger [QSA,L] RewriteRule ^/\.well-known/carddav /remote.php/dav/ [R=301,L] RewriteRule ^/\.well-known/caldav /remote.php/dav/ [R=301,L] </IfModule> </virtualhost>
root@omega:~# a2ensite 010-nextcloud ... root@omega:~# systemctl restart apache2Renseignez la valeur de ServerName dans votre DNS ou votre box ou le fichier hosts de votre ordinateur. Puis ouvrez l'adresse http://nextcloud.local. Vous aurez à remplir :
- le login/password de l'administrateur de nextcloud
- le login/password de l'administrateur de la base de données
- éventuellement, le repertoire où seront stockées les données
Résolution des erreurs et ajout de Let's encryt (Pour les serveurs accessibles d'internet)
Ajouter au fichier /var/www/nextcloud/config/config.php la ligne 'memcache.local' => '\OC\Memcache\APCu',root@omega:~# nano /var/www/nextcloud/config/config.phpLancez les commandes pour finaliser l'instalation de Nextcloud :
root@omega:~# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices root@omega:~# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on Maintenance mode enabled root@omega:~# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint Nextcloud is in maintenance mode - no apps have been loaded Following columns will be updated: * mounts.storage_id * mounts.root_id * mounts.mount_id This can take up to hours, depending on the number of files in your instance! Continue with the conversion (y/n)? [n] y root@omega:~# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off Maintenance mode disabled root@omega:~#Seul les sites web (et Nextcloud) accessiblent depuis internet peuvent être protégés par Let's encryt.
Depuis le serveur (pas par ssh) taper (Renseignez les informations demandées et acceptez la création les fichiers de conf ssl) :
root@omega:~# apt install certbot python-certbot-apache ... root@omega:~# cerboot --apache ... root@omega:~# systemctl restart apache2Test de Nextcloud sur https://www.ssllabs.com/ssltest Grade B editez /etc/apache2/mods-enabled/ssl.conf commentez la ligne SSLProtocol all -SSLv3 et ajoutez les 2 lignes
Vous obtenez le Grade A. (A+ si vous omettez la prochaine version de TLS : +TLSv1.3 et TLSv1.3)# The protocols to enable. # Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2 # SSL v2 is no longer supported # SSLProtocol all -SSLv3 SSLProtocol TLSv1.2 +TLSv1.3 SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2, TLSv1.3"
CRON
root@omega:~# crontab -u www-data -e */15 * * * * /usr/bin/php -f /var/www/nextcloud/cron.php
Size Upload
root@omega:~# nano /etc/php/7.3/apache2/php.ini
;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ... ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 1G