PHP Fatal error on installation

#1

Hello,

i’am trying a Nextcloud installation with the Fedora Repository Packages. My data dictionary should be /raid/nextcloud

I installed the packages, created the database, configured selinux and now i want to start the installation with the following command:

sudo -u apache php occ maintenance:install --data-dir /raid/nextcloud/ --database "mysql" --database-name "nextcloud"  --database-user "nextcloud" --database-pass "<password>" --admin-user "nextcloud_admin" --admin-pass "<password>"

SeLinux output:

semanage fcontext -l | grep httpd | grep nextcloud
/etc/nextcloud                                     all files          system_u:object_r:httpd_sys_rw_content_t:s0 
/etc/nextcloud(/.*)?                               all files          system_u:object_r:httpd_sys_rw_content_t:s0 
/etc/nextcloud/config.php                          all files          system_u:object_r:httpd_sys_rw_content_t:s0 
/raid/nextcloud(/.*)?                              all files          system_u:object_r:httpd_sys_rw_content_t:s0 
/var/lib/nextcloud(/.*)?                           all files          system_u:object_r:httpd_sys_rw_content_t:s0 
/var/www/html/nextcloud/data(/.*)?                 all files          system_u:object_r:httpd_sys_rw_content_t:s0

I tried as user apache to write to the directory and it works. Then i write a short php snipped that writes in the directory and it works to!

<?php
$inhalt = "0";
$handle = fopen ("/raid/nextcloud/test.txt", w);
fwrite ($handle, $inhalt);
fclose ($handle);

sudo -u apache php ./test.php

ls -la
-rw-r--r--. 1 apache apache    1 21. Apr 16:10 test.txt

When i start the installation the following error comes:

Nextcloud is not installed - only a limited number of commands are available
PHP Fatal error:  Declaration of OC\Files\Storage\Local::copyFromStorage(OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath) must be compatible with OC\Files\Storage\Common::copyFromStorage(OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = false) in /usr/share/nextcloud/lib/private/Files/Storage/Local.php on line 43

Has anybody an idea?

Thanks for your support!

Regards,
Andreas

#2

I found the solution.

In /usr/share/nextcloud/lib/private/Files/Storage/Local.php

changed

public function copyFromStorage(\OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath) {

into

public function copyFromStorage(\OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = false) {

Then changed the admin name and restart installation. And now the installation finished successfully!