Openshift is brilliant. Mostly because it’s free, but also for it’s more advanced features like being able to deploy your website simply pushing your master branch from git.
Getting back to it being free, there are obviously limitations in the scope of the gears (I think of gears as servers). In trying to setup Magento 2 I came up to those limitations. According to How to Install Magento 2 on Openshift;
- Magento 2 requires PHP 5.5+ and OpenShift currently has official cartridges of up to PHP 5.4
- Magento 2 requires shit loads of space, and OpenShift free gears are limited to 1GB
- Magento 2 requires MySQL 5.6+ and OpenShift currently supports up to MySQL 5.5 official cartridges
After following this excellent set of instructions, we managed to launch a full fledged Magento 2 store, hosted for free here. All you’ll need is a free openshift account, and the OpenShift Client Tools.
# Create a new OpenShift app with NGINX as web server
# Replace "123" by your actual api key & secrets and
# $myapp with your preferred app name.
# Write down the “Git Remote” ssh url that will be shown once the command finishes.
rhc create-app $myapp http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-nginx API_KEY=123 API_SECRET=123
# Install PHP 5.6 cartridge into the app
rhc cartridge add -a $myapp http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-php
# Install mysql-5.5 cartridge into the app
rhc cartridge add -a $myapp mysql-5.5
# Clone our repository and push it to your app, we will take care of everything for you.
git clone https://github.com/javilumbrales/magento2-openshift
# Remember to replace $myapp by your app’s name and YOUR_GIT_REMOTE by your actual repository url, the one that you got when you created the app (ie. should be something like ssh://*******@magento2-mage2.rhcloud.com/~/git/yourappname.git/)
git remote add $myapp YOUR_GIT_REMOTE
git push $myapp master -f