Every now an then I am asked to install Drupal on a client's web server. Finding out if all technical requirements are OK can be quite a task. Just trying to install Drupal is often the easiest way to find out if there are problems with php settings, database permissions, rewrite rules etc. etc. However this is not always convenient.

I would really appreciate if someone (who obviously should know everything about Drupal installation, unlike myself) could write what I call the "Drupal Scout": a small, single file php script which checks if everything is in place for a succesfull Drupal installation.

I'm curious what you all think.

Comments

marcvangend’s picture

By the way, I posted this for 7.x-dev because D5 and D6 are feature complete. However I think that back-ports to D5 and D6 would be both possible (because the Drupal Scout is a stand-alone script) and welcome.

catch’s picture

I don't see a particular reason why this shouldn't be handled by a few extra system_requirements() for the installer/default profile. It already checks for clean urls at install time and enables them if available etc.

marcvangend’s picture

Catch, you're right, system_requirements() takes care of the majority of tests, so that would be a good starting point. However my idea is to have a small, single-file, stand-alone script which checks all requirements and returns the test results. You can't just run a quick test now, your only choice is to upload all files and try to install.

(BTW, as far as I know D5 does not check for clean url's during installation. You can only be sure if it works once Drupal is up and running. )

sun’s picture

system_requirements() makes sense. However, plenty of stuff needs to be checked once, so this code bloat should probably sit in a separate include file. A stand-alone script could be forked from this implementation afterwards.

dropcube’s picture

Title: Who can write the "Drupal Scout"? » "Drupal Scout": check if basic requirements are met before installing/upgrading without requiring to upload the full package

This kind of simple, standalone script also will be useful for testing if a Drupal installation can be upgraded to a new Drupal major release without requiring to upload the full package. Of course, the requirements to check at this point are basic requirements, Drupal system and Drupal profile independent requirements.

For example, for 7.x we have to check:

dropcube’s picture

Of course, this script will be included during a full Drupal installation requirements check, but will not be useful for a runtime requirements check, because Drupal will not run if those requiremets aren't met.

catch’s picture

Well, there are some things which will cause Drupal to completely blow up if not present, and which you'll only be able to fix if you've got server access. We should possibly make install.php return some very basic messages if these aren't in place with links to the handbook requirements page - if that happened, you could pretty much upload install.php and run it standalone for just these initial checks.

greggles’s picture

Title: "Drupal Scout": check if basic requirements are met before installing/upgrading without requiring to upload the full package » Check if basic requirements are met before installing/upgrading without requiring to upload the full package
Version: 7.x-dev » 8.x-dev

Updating meta data and removing proposed title for the feature.

I believe that this feature is mostly contained in some of the checks in install.php though perhaps they aren't very well separated into separate functions nor necessarily called from a centralized place.

troyer’s picture

Is there any progress on this issue? The only useful script I could find is this one http://www.seo-web-design-aberdeen.co.uk/forum/webhosting-tricks/drupal-...

marcvangend’s picture

Well, this topic is 5 years old, and you're the first one to post here in almost 2 years... that should tell you something about the progress :-)

To be honest, I'm less sure that this is a good idea than when I posted this idea. There are so many factors involved in a good server setup, just checking a few requirements (probably based on core alone, since we cannot take every contrib module into account) may only give a false sense of security.

troyer’s picture

Having something in place is better than nothing. Especially when you need to use a hosting service the client already uses. It's sometimes really hard to get any information at all. Such a script helps to get at least a basic idea what you're dealing with.

marcvangend’s picture

Sure, sometimes something is better than nothing.

But speaking from experience: I have seen several cases where a client's server easily met all requirements and recommendations from http://drupal.org/requirements, but came to a grinding halt when we actually tried using it.

I'm not saying that a requirements script would be completely worthless, but I do think it's value would be limited, because such a tool can never make guarantees. It should come with a clear warning, so people understand the limitations of the script and don't start making promises they can't keep.

troyer’s picture

It should come with a clear warning, so people understand the limitations of the script and don't start making promises they can't keep.

That's probably true for all modules too. ;-)

marcvangend’s picture

There's a big difference with modules though: a module only makes claims about itself. While a module tells you that it should work, while a requirements script (especially without a proper warning) suggests that all core and contrib Drupal code should work.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

quietone’s picture

Version: 9.5.x-dev » 11.x-dev
Issue summary: View changes
Status: Active » Closed (works as designed)

@marcvangend, thanks for the idea.

This issue has been open for 16 years with the last discussion 11 years ago. In that time no work has happened on a patch. And I see in #13 you state "I'm not saying that a requirements script would be completely worthless, but I do think it's value would be limited." The lack of interest here suggests that time is better spent on other aspects of Drupal. Plus, hosting environments have changed as well. I think it is time to close this. As always, anyone is welcome to re-open this and re-start the conversation.