User Tools

Site Tools


computing:nextcloud

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
computing:nextcloud [2023/09/25 19:03] oemb1905computing:nextcloud [2024/04/13 21:18] (current) oemb1905
Line 13: Line 13:
 This tutorial is for a Nextcloud instance on Debian GNU/Linux.  For why one would want such a thing, read: [[https://nextcloud.com/blog/the-issue-with-public-cloud/|The issue with Public Cloud]].  This tutorial assumes you have LAMP/FEMP and TLS encryption for your site already, and if not, go here:[[https://wiki.haacksnetworking.com/doku.php?id=computing:apachesurvival|Apache Survivial]]. So we begin: This tutorial is for a Nextcloud instance on Debian GNU/Linux.  For why one would want such a thing, read: [[https://nextcloud.com/blog/the-issue-with-public-cloud/|The issue with Public Cloud]].  This tutorial assumes you have LAMP/FEMP and TLS encryption for your site already, and if not, go here:[[https://wiki.haacksnetworking.com/doku.php?id=computing:apachesurvival|Apache Survivial]]. So we begin:
  
-  sudo apt install apache2-utils php-xml php-curl php-gd php-cgi php-cli php-zip php-mysql php-mbstring php-intl php-fpm php-apcu php-gmp php-imagick php-bcmath wget unzip libapache2-mod-php+  sudo apt install apache2-utils php-xml php-curl php-gd php-cgi php-cli php-zip php-mysql php-mbstring php-intl php-fpm php-apcu php-gmp php-imagick php-bcmath php-bz2 wget unzip
      
 Or ... Or ...
      
-  sudo apt-get install php-{xml,curl,gd,cgi,zip,mysql,mbstring,intl,fpm,apcu,gmp,imagick,bcmath}+  sudo apt-get install php-{xml,curl,gd,cgi,zip,mysql,mbstring,intl,fpm,apcu,gmp,imagick,bcmath,bz2}
      
 Once these are installed, make sure you can enable them and that you have no errors in your configurations: Once these are installed, make sure you can enable them and that you have no errors in your configurations:
Line 94: Line 94:
 The first thing to do is to navigate to Settings, Overview.  Nextcloud has a built in system recommendation tool that will specify remaining set up optimizations, etc.  The first one I needed was to optimize opcache settings, so I opened the opcache file to adjust its settings: The first thing to do is to navigate to Settings, Overview.  Nextcloud has a built in system recommendation tool that will specify remaining set up optimizations, etc.  The first one I needed was to optimize opcache settings, so I opened the opcache file to adjust its settings:
  
-  sudo nano /etc/php/7.0/cli/conf.d/10-opcache.ini+  sudo nano /etc/php/8.2/cli/conf.d/10-opcache.ini
      
 I entered the following settings, currently recommended by Nextcloud.  You should always check/verify this before copying and pasting: I entered the following settings, currently recommended by Nextcloud.  You should always check/verify this before copying and pasting:
Line 144: Line 144:
 To fine tune php: To fine tune php:
  
-  sudo nano /etc/php/7.2/fpm/pool.d/www.conf+  sudo nano /etc/php/8.2/fpm/pool.d/www.conf
   https://docs.nextcloud.com/server/16/admin_manual/installation/server_tuning.html   https://docs.nextcloud.com/server/16/admin_manual/installation/server_tuning.html
      
Line 244: Line 244:
   sudo -u www-data php updater.phar   sudo -u www-data php updater.phar
      
-Use redis for everything except local memcache which uses apcu. Also, in this configuration, redis is on the same machine as nextcloud. First, install needed packages.+Use redis for everything except local memcache which uses apcu. Also, in this configuration, redis is on the same machine as nextcloud. First, install needed packages. Adjust versions to your needs. 
 + 
 +  sudo apt install  php-{apcu,redis,memcache,memcached} redis memcached redis-server 
 +  sudo apt install  php8.3-{apcu,redis,memcache,memcached} redis memcached redis-server 
 +  sudo apt-get install php-{xml,curl,gd,cgi,zip,mysql,mbstring,intl,fpm,apcu,gmp,imagick,bcmath,bz2} 
 +  sudo apt-get install php8.3-{xml,curl,gd,cgi,zip,mysql,mbstring,intl,fpm,apcu,gmp,imagick,bcmath,bz2}
  
-  sudo apt install memcached php-apcu php-redis redis-server 
-   
 Then, right underneath the '''filelocking.enabled' => true,'' line, enter the following: Then, right underneath the '''filelocking.enabled' => true,'' line, enter the following:
  
Line 268: Line 271:
   RewriteRule ^\.well-known/webfinger /index.php/.well-known/webfinger [R=301,L]   RewriteRule ^\.well-known/webfinger /index.php/.well-known/webfinger [R=301,L]
   RewriteRule ^\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L]   RewriteRule ^\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L]
 +  
 +Enable rotation of logs
 +
 +  'log_rotate_size' => 100 * 1024 * 1024,
 +
 +Delete the log contents (removes errors from admin settings GUI)
 +  
 +  sudo -u www-data truncate nextcloud.log  --size 0
 +
 +This will put the logs on a schedule and remove old errors in due time. When I put Nextcloud behind a reverse proxy, I had to change the following in the primary config:
 +
 +  sudo nano /var/www/inside.outsidebox.vip/public_html/config/config.php
 +  'trusted_domains' =>
 +    array (
 +      0 => 'inside.outsidebox.vip',
 +      1 => '10.13.13.33',
 +    ),
 +  'overwritehost' => 'inside.outsidebox.vip',
 +  'overwriteprotocol' => 'https',
 +
 +This ensures that the upstream subnet and node is trusted and that external url requests don't try to access the subnet directly. There are other notes in the proxmox tutorial since that is when I set up the reverse proxy setup. There is now a recommended maintenance window setting:
 +
 +  'maintenance_window_start' => 1,
  
- --- //[[jonathan@haacksnetworking.org|oemb1905]] 2023/07/08 18:32//+ --- //[[webmaster@haacksnetworking.org|oemb1905]] 2024/04/13 21:17//
computing/nextcloud.1695668639.txt.gz · Last modified: 2023/09/25 19:03 by oemb1905