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