2

Platform.sh is a managed hosting service & devops infrastructure with support for Drupal and Symfony (and apparently any arbitrary php application).

  • What additional considerations are there for hosting CiviCRM on Platform.sh?
  • Are there any specific configurations or patches required?
  • Is there any functionality which differs from hosting CiviCRM on a "standard" LAMP stack?
5

In effect Platform.sh supports any PHP application, though it does have some specific magic for Drupal, but you can run any PHP application unmodified.

All you need is to know is how to inject the correct configuration for the infrastructure dependencies (MySQL, and possibly Redis or Solr in this case).

The specific "Drupal Magic" brings support for installation profiles and "drush make files". So it shouldn't be complicated to setup CiviCRM with Drupal. There is an example Git repository on GitHub for CiviCRM with Drupal 8.

This basically allows you to only commit your own custom code to the repository and let Platform.sh build the whole thing. This is nice because it keeps your Git repository lean, and allows you to benefit "for free" from security updates. Platform.sh also "magically" injects to Drupal the database settings, so you really have nothing to do. So that best way to go is to figure out how to have your CiviCRM installation based on a project.make file.

To host a normal CiviCRM application (without Drupal), there is nothing specific to do. The main thing to understand, is that Platform.sh is Git driven. You can't just go around hacking your production server. The only way to get code to your server is to commit it to Git. Because anything else is evil and no good at all.

For other PHP applications you will need to edit their settings file.

Platform.sh will expose in its environment everything you need to configure your application.

For example, this command will give you all the relationships of your application (and specifically the database configuration).:

$relationships = json_decode(base64_decode($_ENV['PLATFORM_RELATIONSHIPS']), TRUE);

I hope this help.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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