Hi I am new to owncloud, linux and server management, so please bear with me – I will try my best to interpret and respond promptly and effectively to any response/feedback. Also I am not familiar yet with the posting standards/conventions in this forum even after browsing for several hours to troubleshoot my issue, so please let me know if I leave out any critical information that is needed.
I’m using a custom data dir and owncloud name instead of the default “owncloud” and “ownclouddata”. I’ll refer to these as “custom-owncloud-name” and “custom-datadir-name”. I hope that using custom names isn’t the root cause of my issues!!
Essentially, I am installing owncloud with an “auto-installer” (softaculous), after installing some missing php modules I completed the auto-installation dialog but was met with four (4) errors that are visible when navigating to “https://www.mydomain.net/custom-owncloud-name”.
Below I will share the 4 errors in addition to troubleshooting steps I’ve tried so far (if any).
Errors 1 + 2 i believe are related and share a root cause based on checking the forums here, but please let me know if this is not the case!
Error 1:
Your Data directory is invalid
Please check that the data directory contains a file “.ocdata” in its root.
Error 2:
Cannot create "data" directory
This can usually be fixed by <a href="https://doc.owncloud.com/server/10.11/go.php?to=admin-dir_permissions" target="_blank" rel="noreferrer">giving the webserver write access to the root directory</a>.
I have checked my data directory @ /home/admin/custom-datadir-name and I see that the .ocdata
file is present along with .htaccess
, index.html
, and an owncloud.log
(totally empty). The permissions set for all of these files is -rw-r--r--
What I understand from this code and prior research on owncloud central is that only the owner of the file has write permission, which will cause the error (Error 1) above.
I have NOT tried yet to alter the permissions on any of these files yet. Instead I heard also that the issue could have been related to an php open_basedir
parameter that prevents php from accessing directories unless they are specified (i believe in /etc/php/7.4/apache2/php.ini
). This theory is partially corroborated by the owncloud.log file at /home/admin/web/{domain}/public_html/{custom-owncloud-name}/apps/owncloud.log
:
(this appears to be the only error in the log file)
{"reqId":"36Dmfyq0Jcc6CG2zvz1X","level":3,"time":"2022-11-04T13:55:26+00:00","remoteAddr":"111.90.148.62","user":"--","app":"PHP","method":"GET","url":"\/custom-owncloud-name\/","message":"file_exists(): **open_basedir restriction in effect. File(\/home\/admin\/custom-datadir-name\/.ocdata) is not within the allowed path(s):** (\/home\/admin\/web\/domain\/public_html:\/home\/admin\/tmp) at \/home\/admin\/web\/domain\/public_html\/custom-owncloud-name\/lib\/private\/legacy\/util.php#1033"}
I’ve tried specifying the owncloud data directory in three ways (none were successful):
@ /etc/php/7.4/apache2/php.ini
, Change from ;open_basedir =
To —> open_basedir = /home/admin/custom-datadir-name/
@ /usr/local/vesta/data/templates/web/apache2/basedir.stpl
, add php_admin_value open_basedir %docroot%:%home%/%user%/custom-datadir-name/
@ /usr/local/vesta/data/templates/web/apache2/basedir.stpl
, add php_admin_value open_basedir %docroot%:%home%/%user%/custom-datadir-name/:/custom-datadir-name
(since I’m not sure about the syntax for setting this php_admin_value
I also tried to enable the php value “allow_url_fopen” in /home/admin/custom-datadir-name/.htaccess by adding:
php_value allow_url_fopen On
I saw in several tutorials/forum posts that it is necessary to change the “DocumentRoot” of the apache2 web server to point to the owncloud web app at: /var/www/owncloud/
, however there is no such directory for me at /var/www/
After any change to .htaccess, php.ini or basedir.stpl files I restarted apache2:
sudo service apache2 restart
and checked “https://www.mydomain.net/custom-owncloud-name”
However, none of the changes resulted in any change.
Error 3:
PHP module cURL not installed.
Please ask your server administrator to install the module.
Have not troubleshooted this one yet, but I imaging that it is as simple as adding the php curl extension. I am assuming that this wouldn’t be the root cause of the previous errors 1 + 2.
Error 4:
PHP modules have been installed, but they are still listed as missing?
Please ask your server administrator to restart the web server.
Like “Error 3”, above I have not taken any troubleshooting steps as I did not think it was related to the more critical issue with the owncloud data directory. But how can I check the list of missing php modules so that I may add them? Would adding the curl module (mentioned in Error 3) likely resolve the issue?
Server configuration
Operating system: Ubuntu 18.04.5 LTS – I know that the owncloud is meant to run on > Ubuntu 20, but I thought it should be possible on 18.04
Web server: Apache 2 (i think… i believe there is also nginx, but I’m not sure which of the two webservers I should indicate here)
Database: MySQL – again, like the webserver I’m not sure if there are additional databases and how to check which are installed and which is being used by owncloud
PHP version: 7.4
ownCloud version: 10.11.0
Updated from an older ownCloud or fresh install:
Where did you install ownCloud from: softaculous
Signing status (ownCloud 9.0 and above): Not sure what this value is or where to find it