I changed the folder of where my NextCloud files is and got this error.
Adding the “.ocdata” dummy file there doesn’t work. The message is cryptic. I tried to run occ
at the root folder (hoping it’s some sort of management tool) by running this at the command/SSH prompt:
php ./occ
and it spits out:
Your data directory is invalid
Ensure there is a file called ".ocdata" in the root of the data directory.
An unhandled exception has been thrown:
Exception: Environment not properly prepared. in
{New Folder}/lib/private/Console/Application.php:168
Stack trace:
#0 {New Folder}/console.php(99): ...
I replaced my actual path for the new location of the NextCloud files with {New Folder}, so you get the idea.
I also noticed the old path was regenerated with just a /data
folder with two files
This means some programmer got lazy and hard-coded the path somewhere!
Line 99 of console.php
didn’t give too much hint so I looked at the code around for some sort of config-related operations before. Then I noticed this:
So I searched for config.php
and found it’s located in /config/config.php
. Bingo!
<?php
$CONFIG = array (
...
'trusted_domains' =>
array (
0 => '{Old URL}',
),
'datadirectory' => '{Old Path}/data',
...
'overwrite.cli.url' => 'https://{Old URL}',
...
);
And to my horror the SQL password is stored in plain text in config.php
! WTF! I’ll choose a password that’s dedicated to one use and not shared!
I recalled a when I rename WordPress databases, I have to manually edit the changes in wp-config.php
. Turns out nobody warned us about that for NextCloud! That config file also contain database settings, so I bet if I change the database names or database usernames, I’ll have to come back and edit it manually too.
The site is working after I made the migration changes, all in /config/config.php
.