Your data directory is not writable

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face:

help.nextcloud.com is for home/non-enterprise users. If you’re running a business, paid support can be accessed via portal.nextcloud.com where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:

example

Or for longer, use three backticks above and below the code snippet:

longer
example
here

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Hi all,

sorry, I’m facing a very weird problem and even after googling and reading the forums for several days, I cannot find the underlying cause.
The background: I installed nextcloud successfully on my Raspberry (Raspbian) some time ago. Everything was working fine and nothing to worry about.

A few days ago, the Raspberry run into some issues and become unresponsive. So I needed to reboot it. After the reboot, everything else (like my Davical server) works fine but Nextcloud shows the error message

Your data directory is not writable

Permissions can usually be fixed by giving the webserver write access to the root 
directory. See https://docs.nextcloud.com/server/12/go.php?to=admin-dir_permissions.

I checked the data directory, the files but all seems fine:

drwxr-xr-x 11 www-data www-data    4096 May 31 06:47 nextcloud

The Apache2 error log does not shown any errors … until it says that status.php returned 503.
The Nextcloud log is empty, aside from messages ‘share.scss compiled and successfully cached’. Weird is however that the nextcloud log is in the data folder and not in the configured /var/log folder although this folder is writable for www-data (the apache user).

Any ideas where to look further?

Nextcloud version (eg, 12.0.2): 12.0.3.3
Operating system and version (eg, Ubuntu 17.04): Raspbian GNU/Linux 9 (stretch)
Apache or nginx version (eg, Apache 2.4.25): Apache/2.4.25 (Raspbian)

PHP version (eg, 7.1): PHP Version 7.0.27-0+deb9u1

Is this the first time you’ve seen this error? (Y/N): Yes, since I restarted the Raspberry after the crash

Steps to replicate it:

  1. Access https:///nextcloud OR
  2. Retrieve https:///nextcloud/status.php (gives 503) OR
  3. use occ

The output of your Nextcloud log in Admin > Logging:
From the file

{"reqId":"nqjIrMiFCxyo3pU1Kn6k","level":0,"time":"2018-05-31T07:05:21+10:00","remoteAddr":"192.168.1.3","user":"--","app":"core","method":"GET","url":"\/nextcloud\/status.php","message":"Scss is disabled for \/var\/churros\/web\/nextcloud\/core\/css\/share.scss, ignoring","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}
{"reqId":"WrMgjOGlkiwMRBOb9ahQ","level":0,"time":"2018-05-31T07:05:53+10:00","remoteAddr":"192.168.1.3","user":"--","app":"core","method":"GET","url":"\/nextcloud\/status.php","message":"Scss is disabled for \/var\/churros\/web\/nextcloud\/core\/css\/server.scss, ignoring","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}
{"reqId":"WrMgjOGlkiwMRBOb9ahQ","level":0,"time":"2018-05-31T07:05:53+10:00","remoteAddr":"192.168.1.3","user":"--","app":"core","method":"GET","url":"\/nextcloud\/status.php","message":"Scss is disabled for \/var\/churros\/web\/nextcloud\/core\/css\/share.scss, ignoring","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}
{"reqId":"r2wHWOWYuV7QykA25lSs","level":0,"time":"2018-05-31T07:06:25+10:00","remoteAddr":"192.168.1.3","user":"--","app":"core","method":"GET","url":"\/nextcloud\/status.php","message":"Scss is disabled for \/var\/churros\/web\/nextcloud\/core\/css\/server.scss, ignoring","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}
{"reqId":"r2wHWOWYuV7QykA25lSs","level":0,"time":"2018-05-31T07:06:25+10:00","remoteAddr":"192.168.1.3","user":"--","app":"core","method":"GET","url":"\/nextcloud\/status.php","message":"Scss is disabled for \/var\/churros\/web\/nextcloud\/core\/css\/share.scss, ignoring","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}
{"reqId":"8xErr62FlJnMjnsJyu3A","level":0,"time":"2018-05-31T07:06:57+10:00","remoteAddr":"192.168.1.3","user":"--","app":"core","method":"GET","url":"\/nextcloud\/status.php","message":"Scss is disabled for \/var\/churros\/web\/nextcloud\/core\/css\/server.scss, ignoring","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}
{"reqId":"8xErr62FlJnMjnsJyu3A","level":0,"time":"2018-05-31T07:06:57+10:00","remoteAddr":"192.168.1.3","user":"--","app":"core","method":"GET","url":"\/nextcloud\/status.php","message":"Scss is disabled for \/var\/churros\/web\/nextcloud\/core\/css\/share.scss, ignoring","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}
{"reqId":"Hoc10pWkXCUyuZPjjwYx","level":0,"time":"2018-05-31T07:07:29+10:00","remoteAddr":"192.168.1.3","user":"--","app":"core","method":"GET","url":"\/nextcloud\/status.php","message":"Scss is disabled for \/var\/churros\/web\/nextcloud\/core\/css\/server.scss, ignoring","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}
{"reqId":"Hoc10pWkXCUyuZPjjwYx","level":0,"time":"2018-05-31T07:07:29+10:00","remoteAddr":"192.168.1.3","user":"--","app":"core","method":"GET","url":"\/nextcloud\/status.php","message":"Scss is disabled for \/var\/churros\/web\/nextcloud\/core\/css\/share.scss, ignoring","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

$CONFIG = array (
  'passwordsalt' => '...',
  'secret' => '...',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'donut',
    2 => '192.168.1.103',
    3 => '<external>',
  ),
  'datadirectory' => '/var/churros/data/nextcloud/',
  'dbtype' => 'pgsql',
  'version' => '12.0.3.3',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => '...',
  'dbpassword' => '...',
  'installed' => true,
  'defaultapp' => 'contacts',
  'log_type' => 'owncloud',
  'loglevel' => 0,
  'logfile' => '/var/churros/log/nextcloud.log',
  'logtimezone' => 'Australia/Sydney',
  'log_rotate_size' => 104857600,
  'enable_previews' => false,
  'knowledgebaseenabled' => true,
  'trashbin_retention_obligation' => 'disabled',
  'versions_retention_obligation' => '28,auto',
  'instanceid' => 'ocm0jmunbzk4',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'mail_from_address' => '...',
  'mail_smtpmode' => 'smtp',
  'mail_smtpauthtype' => 'PLAIN',
  'mail_domain' => '...',
  'mail_smtpauth' => 1,
  'mail_smtphost' => '...',
  'mail_smtpport' => '465',
  'mail_smtpname' => '...',
  'mail_smtppassword' => '...',
  'mail_smtpsecure' => 'ssl',

The output of your Apache/nginx/system log in /var/log/____:

[Thu May 31 19:33:30.742315 2018] [rewrite:trace3] [pid 27990] mod_rewrite.c(477): [client 192.168.1.254:60186] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c29058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^\\.well-known/caldav' to uri 'status.php'
[Thu May 31 19:33:30.742351 2018] [rewrite:trace3] [pid 27990] mod_rewrite.c(477): [client 192.168.1.254:60186] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c29058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:33:30.742384 2018] [rewrite:trace3] [pid 27990] mod_rewrite.c(477): [client 192.168.1.254:60186] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c29058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^remote/(.*)' to uri 'status.php'
[Thu May 31 19:33:30.742421 2018] [rewrite:trace3] [pid 27990] mod_rewrite.c(477): [client 192.168.1.254:60186] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c29058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:33:30.742457 2018] [rewrite:trace3] [pid 27990] mod_rewrite.c(477): [client 192.168.1.254:60186] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c29058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^(?:build|tests|config|lib|3rdparty|templates)/.*' to uri 'status.php'
[Thu May 31 19:33:30.742495 2018] [rewrite:trace3] [pid 27990] mod_rewrite.c(477): [client 192.168.1.254:60186] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c29058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:33:30.742530 2018] [rewrite:trace3] [pid 27990] mod_rewrite.c(477): [client 192.168.1.254:60186] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c29058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^(?:\\.|autotest|occ|issue|indie|db_|console).*' to uri 'status.php'
[Thu May 31 19:33:30.742567 2018] [rewrite:trace1] [pid 27990] mod_rewrite.c(477): [client 192.168.1.254:60186] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c29058/initial] [perdir /var/churros/web/nextcloud/] pass through /var/churros/web/nextcloud/status.php
[Thu May 31 19:33:31.069600 2018] [headers:trace2] [pid 27990] mod_headers.c(875): AH01502: headers: ap_headers_output_filter()
[Thu May 31 19:33:31.069913 2018] [http:trace3] [pid 27990] http_filters.c(1089): [client 192.168.1.254:60186] Response sent with status 503
[Thu May 31 19:34:02.727366 2018] [socache_shmcb:debug] [pid 23243] mod_socache_shmcb.c(495): AH00831: socache_shmcb_store (0xf2 -> subcache 18)
[Thu May 31 19:34:02.727585 2018] [socache_shmcb:debug] [pid 23243] mod_socache_shmcb.c(849): AH00847: insert happened at idx=3, data=(621:653)
[Thu May 31 19:34:02.727634 2018] [socache_shmcb:debug] [pid 23243] mod_socache_shmcb.c(854): AH00848: finished insert, subcache: idx_pos/idx_used=2/2, data_pos/data_used=414/414
[Thu May 31 19:34:02.727673 2018] [socache_shmcb:debug] [pid 23243] mod_socache_shmcb.c(516): AH00834: leaving socache_shmcb_store successfully
[Thu May 31 19:34:02.736248 2018] [core:trace3] [pid 23243] request.c(315): [client 192.168.1.254:60194] request authorized without authentication by access_checker hook and 'Satisfy any': /nextcloud/status.php
[Thu May 31 19:34:02.736424 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:34:02.736486 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^$' to uri 'status.php'
[Thu May 31 19:34:02.736548 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:34:02.736601 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^\\.well-known/host-meta' to uri 'status.php'
[Thu May 31 19:34:02.736658 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:34:02.736714 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^\\.well-known/host-meta\\.json' to uri 'status.php'
[Thu May 31 19:34:02.736771 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:34:02.736826 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^\\.well-known/carddav' to uri 'status.php'
[Thu May 31 19:34:02.736881 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:34:02.736935 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^\\.well-known/caldav' to uri 'status.php'
[Thu May 31 19:34:02.736989 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:34:02.737095 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^remote/(.*)' to uri 'status.php'
[Thu May 31 19:34:02.737154 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:34:02.737214 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^(?:build|tests|config|lib|3rdparty|templates)/.*' to uri 'status.php'
[Thu May 31 19:34:02.737274 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] strip per-dir prefix: /var/churros/web/nextcloud/status.php -> status.php
[Thu May 31 19:34:02.737360 2018] [rewrite:trace3] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] applying pattern '^(?:\\.|autotest|occ|issue|indie|db_|console).*' to uri 'status.php'
[Thu May 31 19:34:02.737446 2018] [rewrite:trace1] [pid 23243] mod_rewrite.c(477): [client 192.168.1.254:60194] 192.168.1.254 - - [monstabakery.dscloud.me/sid#741bdf80][rid#67c2c058/initial] [perdir /var/churros/web/nextcloud/] pass through /var/churros/web/nextcloud/status.php
[Thu May 31 19:34:03.070387 2018] [headers:trace2] [pid 23243] mod_headers.c(875): AH01502: headers: ap_headers_output_filter()
[Thu May 31 19:34:03.070646 2018] [http:trace3] [pid 23243] http_filters.c(1089): [client 192.168.1.254:60194] Response sent with status 503

Hi,

What is the output of:
ls -al /var/churros/data/nextcloud/ | awk '{print $1 " " $3 " " $4}'

Thanks Schmu. Looks alright to me. I slightly changed the command line to include the filename:

pi@donut:~ $ ls -al /var/churros/data/nextcloud/ | awk '{print $1 " " $3 " " $4 " " $9 }'
total
drwxr-xr-x www-data www-data .
drwxr-xr-x root root ..
drwxr-xr-x www-data www-data appdata_ocm0jmunbzk4
drwxr-xr-x www-data www-data churros
drwxr-xr-x www-data www-data diejungs
drwxr-xr-x www-data www-data enpass
drwxr-xr-x www-data www-data files_external
drwxr-xr-x www-data www-data frank
drwxr-xr-x www-data www-data __groupfolders
-rw-r--r-- www-data www-data .htaccess
-rw-r--r-- www-data www-data index.html
drwxr-xr-x www-data www-data klaus
drwxr-xr-x www-data www-data monsta
-rw-r----- www-data www-data nextcloud.log
-rw-r--r-- www-data www-data .ocdata

and for completeness:

pi@donut:~ $ ls -al /var/churros/data/ | grep next
drwxr-xr-x 11 www-data www-data    4096 May 31 06:47 nextcloud

Actually all looking fine. Strange.

This message is benign by the way.

I think that’s because of this setting:

If I remember correctly the value needs to be “system” in ordner to write the log to /var/log, but that’s written in the documentation. Just don’t have the time to check right now.

Well … what are you’re suggestions to either find some more info or to get it working?
Reinstall / Install the newest version? If so, how can I get the old data to the new deployment? Simply copy the config.php/copy the DB/data dir settings from the old config.php?

Or is there any chance to identify why I get the 503 error? Might not even be a Nextcloud but a Apache issue (though Davical works fine again).

Hi,

I would try to fix that rather than re-installing and probably run into the same issue, when backing up the config files and use them again afterwards :slight_smile:

Looks like it’s an issue with your mod_filter for apache. I suggest you check your configuration of the filter and find out, what is sending the status 503.

Ok, thanks.

I isolated the issue and it’s not nextcloud related. Sorry for the noise.

Just for reference: For an unknown reason php (7.0) is_writable() returns false although the directory is writable (as seen) and even touch(…) of a file inside the directory is successful.
Not sure why this happens. It seems to be related to NFS because the is_writable works fine on the local drive.

Anyway, thanks for your help!

2 Likes

hello,
same problem here.
How to change the is_writable behavoir?

thanks