jwalling's picture

I'm installing fresh Backdrop on my laptop computer running Ubuntu 16.04.

I Installed fresh Apache2, MySQL, PHP, phpMyAdmin

I downloaded and expanded Backdrop into /var/www/html web root.

During Backdrop installation I get the message

Notice: Undefined variable: config_directory in ConfigFileStorage->initializeStorage() (line 995 of /var/www/html/core/includes/config.inc).

The directory could not be created or could not be made writable. To proceed with the installation, either create the directory and modify its permissions to make it writable, or adjust the permissions on the parent directory to allow the installer to create it automatically. For more information, see the Installation Instructions page.

It would be good if the error message gave the path and filename it can't access or create.

I have tweaked permissions on directories and files using the installation instructions and I can't figure out where the problem is.

I used the settings.php names for the config files and created them but that didn't satisfy the installer.

$config_directories['active'] = './files/config_385f24349ad59b071009652666c1ec26/active';
$config_directories['staging'] = './files/config_385f24349ad59b071009652666c1ec26/staging';

I also tried using

../config/active
../config/staging

My home directory is
/home/jwalling

I used the directory created by apache2 for web root:
/var/www/html and changed directory owner and group from root:root to jwalling:jwalling

$database has the correct credentials for the database

When I get Backdrop working on my laptop I'll do an install on DigitalOcean using Ubuntu 16.04.

I'll keep plunking on directories and filenames, but if any one has a suggestion I'll jump on it.

-- John Walling

 

 

Accepted answer

John:

I'm not sure about a solution, but I thought I would let you know I have the exact same setup as you (Ubuntu 16.04, Apache, mysql, etc) and the install works fine for me.  When you find the solution I expect it will be something simple.  When you extracted Backdrop, were you root, or a sudo user?  I did my extraction and install as root.  Did you try fully opening the permissions of /var/www/html/ just to see what happens?  Perhaps that is where "The directory could not be created or could not be made writable" applies.

After I installed and tested Backdrop on my local Ubuntu machine, I followed the same basic procedure to install it on my shared hosting site, and everything worked OK there as well.  That's why I think the solution might be something simple such as permissions on one isolated folder.

Best wishes with your effort....

Comments

John:

I'm not sure about a solution, but I thought I would let you know I have the exact same setup as you (Ubuntu 16.04, Apache, mysql, etc) and the install works fine for me.  When you find the solution I expect it will be something simple.  When you extracted Backdrop, were you root, or a sudo user?  I did my extraction and install as root.  Did you try fully opening the permissions of /var/www/html/ just to see what happens?  Perhaps that is where "The directory could not be created or could not be made writable" applies.

After I installed and tested Backdrop on my local Ubuntu machine, I followed the same basic procedure to install it on my shared hosting site, and everything worked OK there as well.  That's why I think the solution might be something simple such as permissions on one isolated folder.

Best wishes with your effort....

jwalling's picture

Oops: Not basecamp! I can't edit the lead.

So far the installation is working on my laptop after reinstalling backdrop.

I sudo unzipped backdrop.zip into a new directory (/var/www/backdrop); sudo move phpMyAdmin symlink from html to backdrop; sudo renamed html to html-old; sudo renamed backdrop to html; ran install http://localhost; changed write permissions for files directory (sudo chmod -R 777 files) and settings.php (sudo chmod 777 settings.php) and completed the setup.  I then chmod settings.php to 644.

-- John

 

 

Glad to hear you got it up and running!