I am working with the Drupal multisite functionality. I have been asked to implement the following architecture:
mysite is a Drupal site with several angular pages. mysite/backend is a separate site with a separate user store that mostly acts as a headless Drupal system. For political reasons, it is very important that the users in mysite/backend not be stored in the same database as the users in mysite .
Anyway, from what I have read about Drupal multi-sites, I have taken the following steps.
- I started with a working site and performed the following steps to add a second one
Create a symlink, making the /backend a symlink to the web root:
ln -s backend .
Add entries to my sites.php (because with our deployment workflow, the site name cannot always match with the domain name. Also allows us to test with xip.io).
$sites['mysite.dev'] = 'mysite'; $sites['mysite.dev.backend'] = 'mysite.backend';
I created a directory named mysite.backend .
- In mysite.backend, I created a directory corresponding to all directories in mysite.
In mysite.backend, I created the following settings.php file:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'XXXXXX', 'username' => 'XXXXXX', 'password' => 'XXXXXX', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), ); $update_free_access = FALSE; $drupal_hash_salt = 'k_vtgGjzCyq0mp0dsxDk1gILuEs6G5ODP5aJuQsAUuc'; $base_url = 'http://mysite.dev/backend'; // NO trailing slash! ini_set('session.gc_probability', 1); ini_set('session.gc_divisor', 100); ini_set('session.gc_maxlifetime', 200000); ini_set('session.cookie_lifetime', 2000000);
I go to
/backend/install.phpand go through the install process. Everything goes smoothly
- I click the link to view the new site, and enter the admin login credentials (for the new site. I made it a point to have separate logins for each site)
My problem is that when I go to the /backend directory of my test site and log in with my credentials, I get the standard authentication error behavior if I login with an invalid username or password, but when I supply the correct credentials, I get redirected to /backend/node, but I see no indication of being logged in. If I try to go to the admin pages, I get an access denied error. I still see the login block. If I click the reset password link, I get a one-time login link in my email, but when I click it, I get a message that says that the link has expired.
Forgive me if this is too verbose or missing details. This seems to be a messy problem. Has anyone run into similar issues with Drupal?