NextCloud

Prerequisites: 

  • php 8.1 or php 8.2 or php 8.3

Used ISPConfig to provision an A record and website and database/database user / shell user, set the version of PHP to 8.1 , using php-fpm.

Almost verbatim to:

https://www.howtoforge.com/how-to-install-nextcloud-with-ispconfig/

Except comment out this line

;opcache.enable=1

Used the web installer

Issues after installation:

  • sending emails from the web client

More setup:

opcache (enable opcache here)

; /etc/php/8.3/fpm/php.ini do the same for:
; /etc/php/8.1/fpm/php.ini
; opcache settings (reviewing these)
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=24
opcache.max_accelerated_files=299999
opcache.revalidate_freq=1
opcache.save_comments=1
opcache.jit_buffer_size=500000000
opcache.jit=1235

; Also put the same entry in /etc/php/8.3/cli/php.ini 
; Also put the same entry in /etc/php/8.1/cli/php.ini 

Restart php8.1-fpm (whichever version you're using)

Restart php8.3-fpm (whichever version you're using)

Restart redis-server (Oh ya I installed this also)

sudo apt install redis-server -y
service php8.1-fpm restart; service php8.3-fpm restart; service redis-server restart;

Nextcloud occ command (similar to artisan or drush):

make occ an executable

chmod 754 /path/to/nextcloud/occ

add /path/to/nextcloud/occ to your PATH variable

~/.bash_profile
PATH=/path/to/nextcloud/:$PATH

 

/path/to/nextcloud/config/config.php

<?php
$CONFIG = array (
  'instanceid' => 'xxxxxx',
  'passwordsalt' => 'xxxxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'trusted_domains' => 
  array (
    0 => 'nextcloud.w3bfactory.com',
  ),
  'redis' => [
	'host' => 'localhost', // can also be a unix domain socket: '/tmp/redis.sock'
	'port' => 6379,
	'timeout' => 0.0,
	'read_timeout' => 0.0,
	'user' =>  '', // Optional: if not defined, no password will be used.
	'password' => '', // Optional: if not defined, no password will be used.
	'dbindex' => 0, // Optional: if undefined SELECT will not run and will use Redis Server's default DB Index.
	// If redis in-transit encryption is enabled, provide certificates
	// SSL context https://www.php.net/manual/en/context.ssl.php
  ],
  'datadirectory' => '/var/www/clients/clientX/webXX/web/data',
  'dbtype' => 'mysql',
  'version' => '29.0.4.1',
  'overwrite.cli.url' => 'http://localhost',
  'dbname' => 'XXXXXXXXX',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'c1nextcloud',
  'dbpassword' => 'XXXXXXXXXX',
  'installed' => true,
  'loglevel' => 3,
  'mail_smtpdebug' => TRUE,
  'mail_smtpstreamoptions' =>
  array (
    'ssl' =>
    array (
    'allow_self_signed' => true,
    'verify_peer' => false,
    'verify_peer_name' => false,
    ),
  ),
);

There's an occ command to verify your setup:

occ setupchecks