Islandora-Collaboration-Group / ISLE

Islandora Enterprise (ISLE) is a community project that addresses two of the most significant pain-points in Islandora: installation and maintenance.
https://Islandora-Collaboration-Group.github.io/ISLE/
GNU General Public License v3.0
32 stars 34 forks source link

resetting passwords in .env breaks drupal #202

Open bookishgirl opened 5 years ago

bookishgirl commented 5 years ago

Issue description

At initial build of my ISLE stack I used simple passwords. Recently, I went back in to the .env to update the passwords to something more secure.

Steps to reproduce error

In my .env, I changed the values for:

  1. MYSQL_ROOT_PASSWORD
  2. DRUPAL_DB_USER
  3. DRUPAL_DB_PASS

After making these changes and saving the .env file, I ran docker-compose up -d

The new values are showing up in my filter-drupal.xml on the fedora container.

The new values are showing up in /utility-scripts/isle_drupal_build_tools/isle-drush_make/settings.php on the apache container. I have overwritten the copy of settings.php located in my Drupal folder (sites/default/settings.php) with the copy generated by the drupal build tools scripts.

Expected result

That when I access the site in the browser, it seamlessly takes my back to the fully functional site.

Actual result

When I try to access the site in the browser I get the following error message:

screen shot 2019-02-14 at 9 37 51 am

Additional details

I am on ISLE 1.1

SummittDweller commented 5 years ago

OK, perhaps what I've seen in my migration (#2) is NOT related here? I've found/tagged the following 5 files in the FGS and Solr configs that require password sync with the .env. Those 5 files are:

/usr/local/tomcat/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFina/fedoragsearch.properties    
/usr/local/tomcat/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/fgsconfigObjects.properties   
/usr/local/fedora/server/config/fedora-users.xml   
/usr/local/fedora/server/config/fedora.fcfg  
/usr/local/fedora/server/config/filter-drupal.xml 
shorock commented 5 years ago

I've had this same basic scenario from half a dozen other Docker projects. In a system with data already, the mainline Docker Hub mysql:5.7 image will never look at MYSQL_ROOT_PASSWORD again. Every use of that envvar is within this 'if': https://github.com/docker-library/mysql/blob/a7a737f1eb44db467c85c8229df9d886dd63460e/5.7/docker-entrypoint.sh#L98

If you want to reset MYSQL_ROOT_PASSWORD on startup, you either bake your own MySQL container totally, or maybe (have looked at) do some SystemD unit magic (an ExecStartPre=xxx script).