Installing Magento 2 via the shell is not new. In the current Magento version, it was already possible using the install.php
file. The configuration looked like this:
/usr/local/bin/php -f install.php -- --license_agreement_accepted "yes" --locale "en_US" --timezone "America/Los_Angeles" --default_currency "USD" --db_host "mysql.example.com" --db_name "your_db_name" --db_user "your_db_username" --db_pass "your_db_password" --db_prefix "" --admin_frontname "admin" --url "http://www.examplesite.com/store" --use_rewrites "yes" --use_secure "no" --secure_base_url "" --use_secure_admin "no" --admin_firstname "your_first_name" --admin_lastname "your_last_name" --admin_email "[email protected]" --admin_username "your_admin_username" --admin_password "your_admin_password"
It was very easy to script and use multiple times on any given environment.
In Magento 2, the logic stayed the same but now, it's much easier to use. We will be using a composer.json
file for our setup prerequisites.
For this recipe, we will use a Droplet created in Chapter 1, Installing Magento 2 on Apache and NGINX, at DigitalOcean, https://www.digitalocean.com/. We will be using NGINX, PHP-FPM, and a Composer-based setup. No other prerequisites are required.
For the purpose of this recipe, let's assume that we need to create a Magento 2 hosting environment including sample data. The following steps will guide you through this:
/root/.composer/auth.json
file if you have a Magento of GitHub repository token, username, and password. If not, create them. Here is an example (the username and password are dummies):{ "http-basic": { "repo.magento.com": { "username": "256e8f49b66689ecf18b07bc3cc2ca2d", "password": "cb1c7ef2e14b666d8a4e99fe40c8393a" } }, "github-oauth": { "github.com": "e960f7000803e2832ce5f7a637d58a666" } }
You can create a Magento authentication key in the user section of the Magento connect portal. Go to http://www.magentocommerce.com/magento-connect/, navigate to the Developers | Secure Keys menu item, and create one. Public Key is your username and Private Key is your password.
The GitHub token can be created under the tokens section of your GitHub account. Go to https://github.com/settings/tokens and press Generate new token. Copy the token in your auth.json
file of your home or root directory.
/var/www/html
directory and use the following command:composer create-project "magento/project-community-edition" /var/www/html --prefer-dist --repository-url https://repo.magento.com/
composer.json
file.php bin/magento sampledata:deploy
You may get the following error notice; ignore this once you set up the auth.json
file:
[ComposerDownloaderTransportException] The 'https://repo.magento.com/packages.json' URL required authentication. You must be using the interactive console to authenticate
composer update
chown -R www-data:www-data /var/www/html
The easy way to continue is to visit our setup page from the browser as we did in the Installing Magento 2 sample data via GUI recipe of this chapter using the http://yourdomain.com/setup
URL.
bin/magento setup:install --db-host=localhost --db-name=<your-db-name> --db-user="<db-user>" --db-password="<db-password>" --backend-frontname=<admin-path> --base-url=http://yourdomain.com/ --admin-lastname=<your-lastname> --admin-firstname=<your-firstname> --admin-email=<your-email> --admin-user=<your-admin-user> --admin-password=<your-password>
Congratulations, you just finished the installation of Magento 2 including sample data. Now go to your browser using yourdomain.com
, and you will see the default Magento 2 layout theme called Luma.
Let's recap and find out what we did throughout this recipe. In steps 1 through 6, we installed Magento 2 via the command shell. Before we could continue, we needed to create an auth.json
file that stores our Magento and GitHub tokens. Without them, we may not be able to install the software easily due to download restrictions or dependencies.
In step 2, we used one line of code to trigger the whole download process of Magento 2. Depending on whether this is your first call, the process can take some time. Once you install Magento for the second time, the process installs much faster because of the locally stored cache files.
In step 3, we used bin/magento
to update the composer.json
file including the sample data packages. Then we needed to update Composer before we could install Magento 2 from the shell; otherwise, the sample data would not be included.
In step 6, we used the bin/magento setup:install
parameter to commit all of the database, URL admin path, domain name, and user credentials to the setup of Magento 2.
18.118.137.7