8d3b856
nextcloud packaging notes
260614d
========================
260614d
260614d
Start
260614d
------
260614d
After installation you should be able to access the login/configuration page
260614d
at the following URL:
260614d
8d3b856
http://localhost/nextcloud/
260614d
260614d
If not, make sure your webserver is running properly.
260614d
260614d
Webserver
260614d
---------
8d3b856
Currently nextcloud in Fedora supports httpd (Apache) and nginx. You must install
8d3b856
at least one webserver subpackage (nextcloud-<webserver>). These packages
260614d
include additional configuration files for the webservers. Remote access is
8d3b856
disabled by default on httpd. To enable access from any host for Apache **AFTER** you
260614d
complete the initial setup process, do this:
260614d
8d3b856
ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf
260614d
260614d
If you wish to adjust any of the settings it is recommended that you create
8d3b856
a new configuration file that will override nextcloud.conf, rather than editing
260614d
it, so future changes to the packaged file will be respected on your server.
260614d
If you do not do this, please be careful to check for changes in the packaged
8d3b856
configuration file (especially on major nextcloud upgrades) and merge into
260614d
your modified configuration as appropriate.
260614d
260614d
Database
260614d
--------
260614d
You can choose between three databases: MySQL, PostgreSQL and SQLite.
8d3b856
For each of them there is an nextcloud subpackage (nextcloud-<database>).
260614d
You are required to install at least one of them. The packages only ensure
260614d
the necessary requirements to communicate with a database server of that type
260614d
are installed, they do not require the database server package itself, as
260614d
you may wish to use a remote database server. If you wish to use a local one,
260614d
you must ensure it is installed and configured.
260614d
260614d
For larger installs you should use MySQL or PostgreSQL.
260614d
260614d
If you choose MySQL or PostgreSQL, keep in mind that you must create a database
8d3b856
and user for nextcloud manually, before you can finish the setup process. The
260614d
README.postgresql and README.mysql files provide more details and help with
260614d
this.
260614d
260614d
In addition if using a remote database then then selinux must be configured to
260614d
allow the webserver to connect to it - see the selinux section further down.
260614d
260614d
Configuration
260614d
-------------
8d3b856
You can find the main configuration file at '/etc/nextcloud/config.php'. Until
260614d
you first access the server it will be just a small stub containing settings
260614d
that differ in this package from the upstream defaults. After you first access
8d3b856
nextcloud, the initial setup process will populate it with some more settings.
260614d
Other settings that can be provided in this file are documented at:
8d3b856
https://docs.nextcloud.com/server/10/admin_manual/configuration_server/config_sample_php_parameters.html
260614d
260614d
User Data
260614d
---------
8d3b856
The default data directory is '/var/lib/nextcloud/data'. Every file that is
8d3b856
uploaded by your users to nextcloud gets saved into this folder. Consider doing
260614d
a backup of this directory, together with the database and the main
260614d
configuration. Note that if you change this location, you must set appropriate
260614d
ownership and SELinux context attributes.
260614d
260614d
Logging
260614d
-------
8d3b856
As specified by the configuration file, nextcloud sends messages to the system
260614d
logger, which means in a standard Fedora configuration it will log to the
8d3b856
systemd journal: try "journalctl -b -t Nextcloud". You can also change the
8d3b856
loglevel or switch to the built-in log mechanism of nextcloud.
260614d
260614d
App Store
260614d
---------
260614d
If you install additional third party apps using the built-in app store, you
8d3b856
can find them in the directory '/var/lib/nextcloud/apps'. This functionality is
260614d
enabled by default. If this is moved then it's important to configure httpd/nginx
8d3b856
appropriately for the correct /nextcloud/apps-appstore path to alias to the new location.
260614d
260614d
The app store URL is coded into the core php and does not need to be listed in config.php
260614d
260614d
If there are any empty proxy entries in config.php this will prevent connectivity to the store.
260614d
If not using a proxy it is important to remove any proxy entries from config.php, not just be ""
260614d
260614d
Selinux Booleans
260614d
----------------
260614d
If you want to use external files (eg remote smb/cifs server) the httpd_can_network_connect
260614d
selinux boolean should be toggled on. If you want to use libreoffice document conversion
260614d
then the httpd_execmem should be toggled on and the unoconv package should be installed.
260614d
260614d
If not using an external file source but still using an external database then the boolean
260614d
httpd_can_network_connect_db should be toggled on for access to regular DB ports. The general
8d3b856
network connect can alternatiely be used for non-standard ports or for a broader permission
260614d
in case of future external files requirements.
260614d
260614d
Memory caching
260614d
--------------
260614d
For performance reasons a memory cache should be configured. In larger installs redis
260614d
may be required but as a basic lightweight alternative edit config.php as per upstream
260614d
documentation and install ACPu via:
260614d
260614d
dnf install 'php-pecl(apcu)'
260614d
8d3b856
For further information see http://nextcloud.org/ and http://doc.nextcloud.org/
260614d
ff74a2f
Scheduling Background Jobs
ff74a2f
--------------------------
ff74a2f
The default behaviour is to use the AJAX webcron, however this is fairly inefficient and does not scale very well.
ff74a2f
ff74a2f
It's recommended to set the option "Cron" to use the system scheduler and to enable the included systemd timer.
ff74a2f
ff74a2f
systemctl enable --now nextcloud-cron.timer
ff74a2f
8d3b856
Migration from owncloud
8d3b856
-----------------------
260614d
8d3b856
For detailed instructions on this please read MIGRATION.fedora