Quick Start Guide for Magento Commerce Cloud Sandbox

Magento Commerce Cloud sandbox is provided for Partners and Marketplace Developers to allow Partners/Developers to:

1.  Build out their Magento Commerce practice

2.  Demonstrate Magento Commerce Cloud functionality to their clients

3.  Developers to develop and test against Magento Commerce Cloud and submit for selling components to Magento Marketplace. 

Magento Commerce Cloud Sandbox Request Form for Marketplace Sellers - Please refer to 

https://docs.google.com/forms/d/e/1FAIpQLScwliujsBEspVc3JqS_CWDukgH4-P0sQEzsp7SYXn0D-q7CZQ/viewform

Differences compared to a customer's environment:

Magento Commerce Cloud has a Starter and a Pro plan. 

Sandbox environment is being with Starter Plan, please see below web for the difference between these two plans.

https://devdocs.magento.com/cloud/architecture/cloud-architecture.html

Step 1 - Sign in to Magento Commerce Cloud

1.  Browse to Magento Commerce Cloud, the url pattern is 

https://region-4.magento.cloud/projects/<project_id>

Sample Magento Cloud Sandbox Is Provisioned

Server URL: https://<region>-4.magento.cloud/projects/<project id>

Email: <your_email>

Password: You need reset password

2.  If you are first time to login and don't have Magento ID before, you may reset password

3.  After successfully logged, you are in Magento Cloud UI, in where you can:

3.1.  Get the Site URL by clicking "Access site" > "Web Access"

https://<environment>-<random_characters>-<project_id>.<region>-4.magentosite.cloud/

3.2.  Get the SSH access command by clicking "Access site" > "SSH Access" 

ssh <project id>-<enviroment>-<random characters>--mymagento@ssh.<region>-4.magento.cloud

3.3.  Get the Git repository by checking the CLI/GIT text box

CLI - magento-cloud get <project id> -e master

GIT - git clone --branch <enviroment> <project id>@git.region- 4.magento.cloud:<project id>.git <project name>

3.4.  Manage users by clicking "Configure environment"

https://<region>-4.magento.cloud/projects/<project id>/environments/master/edit

Step 2 - SSH to Backend Virtual Server

Once you has access to Magento Commerce Cloud, you should be able to SSH to its backend Server. 

Steps are:

1.  Copy your SSH public key

1.1.  In Mac, your ssh public key is at ~/.ssh/id_rsa.pub, if you can't find this file, see instructions at the end of this tutorial 

When finished, the output looks similar to:

Username@Username MINGW32 ~

$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/c/Users/Username/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /c/Users/Username/.ssh/id_rsa

Your public key has been saved in /c/Users/Username/.ssh/id_rsa.pub

The key fingerprint is:

SHA256:<key> Username@Username

The key's randomart image is:

+---[RSA 3072]----+

| +=+oo.          |

|. =o  .          |

|.= .o.           |

|o . .+           |

|o . . o S        |

| *   o o .       |

|..E.. + * o      |

|**o+.+ o.= .     |

|O++.oo..oo.      |

+----[SHA256]-----+

Username@Username MINGW32 ~

$ eval $(ssh-agent -s)

Agent pid 1830

Username@Username MINGW32 ~

$ ssh-add ~/.ssh/id_rsa

Enter passphrase for /c/Users/Username/.ssh/id_rsa:

Identity added: /c/Users/Username/.ssh/id_rsa (Username@Username)

1.2.  Copy the content of your SSH public key

$ clip < ~/.ssh/id_rsa.pub

2.  Add your SSH public key into Magento

2.1.  Log in https://accounts.magento.cloud/user 

2.2.  Click Account Settings

2.3.  Expand SSH Keys section 

2.4.  Paste your public key

Sample Email Confirmation as Below

An SSH key was added to your account

Inbox

Magento Cloud <accounts@magento.cloud> 9:33 AM (2 hours ago) to me

Magento Cloud

The following SSH key was added to your account:

<title>

<key>

Manage Keys

Have questions? Contact support >>

When Magento finishes the adding, the public SSH key appears in the list of SSH keys.

3.  Get the SSH command line

3.1.  Login Magento Commerce Cloud URL

 https://<region>-4.magento.cloud/projects/<project id>

3.2.  You should see a yellow button "Access site", click this button and check the "SSH Access" 

3.3.  Copy the SSH command

ssh <project id>-<enviroment>-<random characters>--mymagento@ssh.region-4.magento.cloud

4.  Open a terminate in your desktop or laptop

5.  Input the SSH command

6.  You should be in

$ ssh <project id>-<enviroment>-<random characters>--mymagento@ssh.<region>-4.magento.cloud

 __  __                   _          ___ _             _

|  \/  |__ _ __ _ ___ _ _| |_ ___   / __| |___ _  _ __| |

| |\/| / _` / _` / -_) ' \  _/ _ \ | (__| / _ \ || / _` |

|_|  |_\__,_\__, \___|_||_\__\___/  \___|_\___/\_,_\__,_|

            |___/

 Welcome to Magento Cloud.

 This is environment <enviroment>-<random characters>

 of project <project id>.

More details, see Enable SSH Keys - https://devdocs.magento.com/cloud/before/before-workspace-ssh.html

Step 3 - Add Users to Cloud Projects

You can add users from Magento Cloud UI; but if you want to add project Super User, you have to use CLI, see https://devdocs.magento.com/cloud/project/user-admin.html

Access Web Site

1.  Browse to Magento Commerce Cloud, the url pattern is 

https://region-4.magento.cloud/projects/<project_id>

2.  After successfully logged, you are in Magento Cloud UI, in where you can:

2.1.  Get the Site URL by clicking "Access site" > "Web Access"

Step 4 - Sign in to Store Admin

The Web Site admin console URL is like

https://<environment>-<random_characters>-<project_id>.<region>-4.magentosite.cloud/admin/

1.  Add my user account via the UI and add the SSH Public Key

2.  Once the step 1 is completed. SSH to the instance. SSH URL can be retrieved from the UI

3.  Once the SSH access is success. Use the following command to create an admin user account

web@mymagento.0:~$ php bin/magento admin:user:create --admin-user="<your_username>" --admin-password="<your_password>" --admin-email="<your_email>" --admin-firstname="<your_first_name>" --admin-lastname="<your_last_name>"

5.  Once the command is successful. You can login via the created admin user account.

Username: <your_email>

Password: <your_password>

6.  In the first time to login, you will be asked to enable 2FA, which will immediately trigger an notification email titled "2FA configuration required for Main Website Store" to your inputed email address. In few cases, your company firewall will treat it as a spam and block it. The alternative solution is to set with your personal email address or ask IT to unblock this email.

Magento Admin Panel

Logout

You need to configure Two-Factor Authorization in order to proceed to your store's admin area

An E-mail was sent to you with further instructions

7.  In the notification email (for 2FA enablement), click the link to set up 2FA.

2FA configuration required for Truong Bui

Inbox

Owner owner@example.com via magentosite.cloud 10:16 AM (1 hour ago) to me

Truong Bui,

You are required to configure personal Two-Factor Authorization in order to login to Main Website Store

To do that please Click here

Thank you, Main Website Store

8.  After you set up, go back and re-login.

Reference: https://support.magento.com/hc/en-us/articles/115005021914

Magento Commerce Cloud

Step 5 - Import Sample data

The init web site has no product data, you may need to import sample data into the website. Please refer to https://devdocs.magento.com/cloud/howtos/sample-data.html 

1.  Clone your code to local

1.1.  In the Magento Cloud UI, select proper environment, such as Master

1.2.  Click the Git, you will see the command to get source codes, in my case the git command is:

GIT - git clone --branch <enviroment> <project id>@git.<region>-4.magento.cloud:<project id>.git <project name>

or

CLI - magento-cloud get <project id> -e master

1.3.  Copy git command and run locally to download codes to local 

Magento Code to Local


1.4.  cd to source folder

1.5.  Build code by issuing command: 

composer update

Note: Composer A Dependency Manager for PHP - please refer to https://getcomposer.org/download/

1.6.  it will take some minutes to download all depended packages.

2.  In the local environment, issue below command to install sample data a.  

php -dmemory_limit=6G bin/magento sampledata:deploy

3.  Push to Magento Cloud

3.1.  git add -A && git commit -m "Install sample data" 

3.2.  git remote -v //this is to get the remote repository 

3.3.  git push <repository> <branch>

3.4.  You will see in Magento Cloud UI the deployment is running, it will take minutes 

3.5.  After deployment complete, visit the site again, you will see the samples.

Frequently Asked Questions

Q: I can't modify the composer.json file after SSH to Virtual Server

A: Magento cloud environments are strictly read-only, for security purposes so you will need to have a local development environment with access to a terminal so that you can issue changes via the composer framework and push the changes into your cloud environment.

Q: How to enable B2B?

A: Please refer to https://devdocs.magento.com/cloud/configure/setup-b2b.html, Note that you have to set up in local development and then push to Git, for local environment setup, please refer to  https://devdocs.magento.com/cloud/setup/first-time-setup.html

Q: Don't have enough disk space in Environment

A: See Regarding the disk space, as this is a development instance you have control to manage the disk space, see https://devdocs.magento.com/cloud/project/manage-disk-space.html

Q: How to generate an SSH key pair in Mac OS?

You can generate an SSH key pair in Mac OS following these steps:

Open up the Terminal by going to Applications > Utilities > Terminal

In the terminal, use the following command to start the key generation

ssh-keygen -t rsa

Next, you will be prompted to provide the location where you want to create the private key file:

Enter file in which to save the key (/home/youruser/.ssh/id_rsa):

Leave this empty to create the key in the default location, which is /home/youruser/.ssh/id_rsa. The public key file will be created in the very same location, and with the same name, but with the .PUB extension.

Afterwards you will be prompted to choose a password. This is the password required to use the private key.

Enter passphrase (empty for no passphrase):

That completes the key generation. Below is an example of the entire process:

Mac_user: ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/user/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in id_rsa.

Your public key has been saved in id_rsa.pub.

The key fingerprint is:

16:8e:e8:f2:1d:c9:b9:cf:43:9a:b3:3c:c1:1f:95:93 Mac_user

This will create a private key written to /home/user/.ssh/id_rsa and a public key written to /home/user/.ssh/id_rsa.pub.

Learning Resources

Magento Support will deliver commonly used resources/links:

  • https://support.magento.com/hc/en-us 
  • https://devdocs.magento.com/#/individual-contributors 
  • https://docs.magento.com/user-guide/getting-started.html

Magento U Courses recommended

  • https://u.magento.com/fundamentals-of-magento-2-development 
  • https://u.magento.com/free-intro-to-magento-commerce-cloud 
  • https://u.magento.com/magento-b2b-for-business-users-on-demand 
  • https://u.magento.com/magento-commerce-cloud-for-developers-on-demand

Create New Key Pair

  • https://devdocs.magento.com/cloud/before/before-workspace-ssh.html#ssh-create-new-key-pair

Support channel

Contact support@magento.cloud for your issues and they will create a ticket for Support Services owns sandbox provisioning and support.

Comments

Let's connect. A great way to get my attention is to comment on one of my posts.

Get In Touch

Send