Differences between revisions 2 and 3
Revision 2 as of 2020-03-19 15:49:19
Size: 938
Comment:
Revision 3 as of 2020-03-19 16:33:03
Size: 2004
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
Fetch the latest version of the software package.

{{{
wget https://download.nextcloud.com/server/releases/nextcloud-18.0.2.zip
}}}

Create an installation directory that can be owned by the web server's user (typically www-data).

{{{
mkdir /var/www/nextcloud
unzip nextcloud-18.0.2.zip -d /var/www/nextcloud
chown www-data:www-data /var/www/nextcloud
chmod 755 /var/www/nextcloud
}}}

Also, create a data directory.

{{{
mkdir /var/nextcloud
chown www-data:www-data /var/nextcloud
chmod 755 /var/nextcloud
}}}


Line 12: Line 37:

If the site is encrypted, additional settings must be applied.

{{{
location ~ \.php(?:$|/) {
  # ...
  fastcgi_param modHeadersAvailable true;
  # ...
}
}}}

Line 30: Line 67:
PHP-FPM must be explicitly allowed to access the key program and data directories. With `systemd`, this would be done as `systemctl edit php-fpm.service`.

{{{
[Service]
ReadWritePaths = /usr/share/webapps/nextcloud/apps
ReadWritePaths = /usr/share/webapps/nextcloud/data

# Path to the data directory
ReadWritePaths = /var/www/nextcloud
}}}

Nextcloud


Installation

Fetch the latest version of the software package.

wget https://download.nextcloud.com/server/releases/nextcloud-18.0.2.zip

Create an installation directory that can be owned by the web server's user (typically www-data).

mkdir /var/www/nextcloud
unzip nextcloud-18.0.2.zip -d /var/www/nextcloud
chown www-data:www-data /var/www/nextcloud
chmod 755 /var/www/nextcloud

Also, create a data directory.

mkdir /var/nextcloud
chown www-data:www-data /var/nextcloud
chmod 755 /var/nextcloud

Web Server

If the site is encrypted, additional settings must be applied.

location ~ \.php(?:$|/) {
  # ...
  fastcgi_param modHeadersAvailable true;
  # ...
}

PHP

There are several steps beyond a standard FastCGI configuration.

In /etc/php/php-fpm.d/www.conf, uncomment env[PATH] OR set clear_env = no.

Enable the opcache module and tune it. The defaults are typically enough.

opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

PHP-FPM must be explicitly allowed to access the key program and data directories. With systemd, this would be done as systemctl edit php-fpm.service.

[Service]
ReadWritePaths = /usr/share/webapps/nextcloud/apps
ReadWritePaths = /usr/share/webapps/nextcloud/data

# Path to the data directory
ReadWritePaths = /var/www/nextcloud

Back-end

Setup the MariaDB back-end to use actual UTF-8 encoding.

mysql -u root -p
mysql> CREATE DATABASE nextcloud DEFAULT CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
mysql> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> \q


CategoryRicottone

PHP/Nextcloud (last edited 2023-04-22 20:23:04 by DominicRicottone)