I'm highly experienced with Joomla, cPanel, and reasonably experienced with SSL/command-line. I know PHP and MySql enough to figure out how not to break code and do minor changes, and find stuff I need to remove/comment-out.

I installed DruStack 8.3.1 with composer create-project, and then drush site-install with --db-url=mysql info correctly done.
Both were done via SSL with the correct user (no root) and both went fine (no errors, etc). The database was filled.

The site is located at the root of a subdomain (not at a /dupal subfolder).

After those two steps, there is no index.php or .htacces at the root (which I expect for an installed site). Those are located into the /web folder, and I'm at a loss on what to do next.

When I try to access /install.php I get a 404.
If I try to access /web/install.php I'm directed to /web/core/install.php with a 500 internal server error.

I did a good search on install.php + 404 error, without any result that would help me.

Any help is much appreciated.

  • Some Composer projects for Drupal install the index.php in web, and the redirect to core/install.php is normal, since the install.php file is there. You need to read the logs to understand what is causing the 500 error, which is normally a PHP runtime error.
    – apaderno
    Jun 6, 2017 at 5:10
  • Thanks Kiamlaluno. But, my logic says, without any index.php or .htaccess at the root, what is going to tell my browser that what I need is really at /web? It really doesn't make sense to me. Do I need to copy something to root? Jun 6, 2017 at 13:40

1 Answer 1


Please see Usage page of drustack-standard project at GitHub:

  • Drupal will be installed in the web-directory.
  • Autoloader is implemented to use the generated composer autoloader in vendor/autoload.php, instead of the one provided by Drupal (web/vendor/autoload.php).
  • Modules (packages of type drupal-module) will be placed in web/modules/contrib/
  • Theme (packages of type drupal-theme) will be placed in web/themes/contrib/
  • Profiles (packages of type drupal-profile) will be placed in web/profiles/
  • Creates default writable versions of settings.php and services.yml.
  • Creates sites/default/files-directory.
  • Latest version of drush is installed locally for use at vendor/bin/drush.
  • Latest version of DrupalConsole is installed locally for use at vendor/bin/drupal.

Therefore setup your web server for DruStack if:

  • You are running with Apache2, point your DocumentRoot to the web folder
  • You are running with PHP internal web server, execute php -S -t web

Then access the core/install.php directly to kickstart the installation ;-)

  • Hi Wong. Thank you for the info and help. Unfortunately, I can't proceed with the install.php. After finishing drush and pointing documentroot to the web folder, I get a 404 on install.php. I know the folder is there, because a direct access to domain.com/install.php will redirect me to core/install.php (so the .htaccess inside /web is being read). What do you think could be wrong? Jun 20, 2017 at 15:09
  • OK, I managed to install it, but only after I moved it to its own domain. I couldn't, for the life of me, install it on a subdomain. One thing I didn't know is that after drush, I don't need to run install.php. Thanks for all the help so far, Wong. Really appreciated. Cheers! Jun 20, 2017 at 17:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.