After trying to install drupal 8 Commerce on Google Cloud and failing, I started a research on different hosting platforms and their support of Drupal 8 commerce.

I am trying to find:
What questions would you ask in order to determine if a particular host/platform will support Drupal 8 Commerce? How to find an answer before even trying the install drupal yourself?

I have spoken to Google Cloud regarding Drupal 8 commerce support and it seems they have no idea what I am asking about, many other hosts are the same way. So what is the ultimate guide to knowing if Drupal 8 Commerce will be supported?

Thanks,
Alex

Comments

sprite’s picture

In order to run and manage Drupal 8 (D8) with commerce you need:

- Reasonably up to date LAMP stack (stick with php 5.x though)
- command line (shell) access
- install the "composer" software dependency management utility
- make sure your php.ini lets you have at least 1 gig of php memory
- make sure your php.ini has a long script timeout period (composer scripts take a long time to run)
- Drupal is disk intensive, so best the server be running on an SSD disk.
- If you are going to run a traffic intensive Drupal site, you need a VPS or full server.

It is probably best to learn how Drupal really lives on a LAMP stack server and not rely on one of the "single click" training wheels systems. In the long run, I don't believe Drupal will play well in such an environment.

-
With D8 you need to manage your site's configuration using the composer utility.
If you have a working base D8 site, add a composer.json to the Drupal root and run composer install
The composer install command will examine the site configuration install whatever it thinks the site needs.
Then run composer update, to double check that everything is current.
-
You'll need to learn how a composer.json file works and learn to tweak entries in it to define composer version requirements as needed.
-
example composer.json file with commerce support and other useful modules

{
    "name": "drupal/drupal",
    "description": "Drupal is an open source content management platform powering millions of websites and applications.",
    "type": "project",
    "license": "GPL-2.0+",
    "require": {
        "composer/installers": "^1.0.21",
        "wikimedia/composer-merge-plugin": "~1.3",
        "drupal/core": "8.3.2",

        "drupal/admin_toolbar": "^1.19",
        "drupal/ctools": "3.0.0",
        "drupal/captcha": "^1.0@beta",
        "drupal/honeypot": "^1.25",
        "drupal/imce": "1.5.0",
        "drupal/metatag": "^1.1.0",
        "drupal/paragraphs": "^1.1",
        "drupal/pathauto": "^1.0",
        "drupal/superfish": "~1.1",
        "drupal/token": "^1.0",
        "drupal/xmlsitemap": "^1.0@alpha",
        "drupal/password_policy": "^3.0@alpha",
       
        "drupal/address": "1.x-dev",
        "drupal/commerce": "2.0.0-beta7"
    },
    "replace": {
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "preferred-install": "dist",
        "autoloader-suffix": "Drupal8"
    },
    "extra": {
        "_readme": [
            "By default Drupal loads the autoloader from ./vendor/autoload.php.",
            "To change the autoloader you can edit ./autoload.php."
        ],
        "merge-plugin": {
            "include": [
                "core/composer.json"
            ],
            "recurse": false,
            "replace": false,
            "merge-extra": false
        }
    },
    "autoload": {
        "psr-4": {
            "Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer"
        }
    },
    "scripts": {
        "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
        "post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess",
        "post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
        "post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"
    },
    "repositories": {
        "drupal": {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        }
    }
}

Lastly, ask yourself why you want Drupal 8 with commerce, which currently remains somewhat unfinished, and not Drupal 7 with commerce, with is a much more mature environment with components that are more mature, ready to install and go. If you need Drupal Commerce on Drupal 7, you can even buy "Drupal7 commerce website in a box" systems that come with a theme and everything, easy to install on a proper LAMP stack in just a little while. As one of many, many examples, check out the following demo of a Drupal 7 Commerce "website in a box". You can buy the complete suite of ready to go sites from the company below for the cost of a couple hours Drupal development work. The guys below have Drupal8 ready-made sites, but even with their expertise, they have not yet published a Drupal8 read-to-go site with D8 commerce, because D8 just really isn't ready yet.

http://demo.morethanthemes.com/retailplus/commerce-default/

http://demo.morethanthemes.com/corporateplus/commerce-default/node/44

http://demo.morethanthemes.com/corporateplus/commerce-default/

Do you know enough about Drupal to make an informed decision about why you want D8 with commerce and not D7 with commerce, if not, stick with D7 and D7 commerce for now.

spritefully yours
Technical assistance provided to the Drupal community on my own time ...
Thank yous appreciated ...

sprite’s picture

The following blog by the lead developer of Drupal 8 Commerce may provide relevant information on all sorts of D8 commerce topics that may help you:

https://bojanz.wordpress.com/

spritefully yours
Technical assistance provided to the Drupal community on my own time ...
Thank yous appreciated ...

sprite’s picture

The following company is a reputable Drupal hosting provider that counts among its clients various fortune 500 corporations.

Expect to spend a minimum of $150-$200 a month for a virtual private server (VPS) with adequate resources to responsively run a busy Drupal commerce website.

https://www.liquidweb.com/

The company above offers an option called "core managed". With "core managed" they install cPanel and WHM but also provide full root SSH CLI access to the server as well. That way you can operate backend services from SSH CLI and also have the convenience of cPanel GUI for everyday file management and phpmyadmin management of SQL databases. I find this the optimal way to manage multiple, complex Drupal websites each on different domains and sub-domains, plus email, SQL databases, DNS management, SSL certs, security, and everything else required keep a public server running properly and with good security. You will need to setup SSH CLI for composer access, install composer, adjust PHP to efficient run composer so forth (I set 2000M for just PHP memory to run composer), and so on.

spritefully yours
Technical assistance provided to the Drupal community on my own time ...
Thank yous appreciated ...

sprite’s picture

If you intend to build any kind of Drupal 8 website, don't start from scratch.

Use a professional theme/profile as a base, such as zymphonies, themeforest, or morethanthemes. I use morethanthemes (MTT) products for just about every Drupal 7 and Drupal 8 site I create. The MTT guys sell their entire theme sutie for the cost of a couple hours Drupal development services. I have found it is possible to perform customizations on an MTT Drupal base site to make it unique, and sometimes even quite visually distinct from the out of the box original. If you are implementing either D7 or D8 commerce, an MTT base provides a foundation that will save you a person year or more of development time.

MTT D8 product demos, amazing ...

http://demo.morethanthemes.com/enterpriseplus8/default/boxed-slideshow

http://demo.morethanthemes.com/enterpriseplus8/default/articles

http://demo.morethanthemes.com/showcaseplus8/default/services-3-col/firs...

(main MTT d8 landing page)
http://www.morethanthemes.com/drupal-8

Many of the newer MTT D7 and D8 theme products use the bootstrap framework as a base, so if you learn boostrap, you will really be able to customize like wildfire using an MTT theme/profile as a base:

https://www.w3schools.com/bootstrap/default.asp

spritefully yours
Technical assistance provided to the Drupal community on my own time ...
Thank yous appreciated ...

tajinder.minhas’s picture

Hi alexarut,

Drupal.org has specified system requirements for d8 https://www.drupal.org/docs/user_guide/en/install-requirements.html . Make sure your hosting provider is providing you the same.

i believe d8 works good with 512mb ram as well so no need of having very high memory for apache. You can cater your hardware needs based on the traffic and content you are looking. Make sure your hosting provider offers all minimum requirements for d8 and i see there are no specific requirement for d8 commerce https://www.drupal.org/node/2763371

Regards
Tajinder Singh Minhas
Software Engineer
(SDG SIPL)