The following steps are, as of October 22, 2015, the quickest way to get a working version of Magento 2 up and running without checking out the source from GitHub. The following will install the merchant beta – which is a stable, mostly feature complete version of Magento 2. There have been changes to the Magento 2 source since this beta, but the merchant beta is the best way to get a taste of what Magento 2 is like, and how its programmatic systems work.
Once you’ve tried Magento 2 like this, you can try checking out the entire source tree from GitHub and installing Magento 2 using the stable master branch. Once you’ve done that, you can switch over to the develop branch if you’re ready and able to handle the chaos of a company shipping a major release while simultaneously detaching itself from the corporate mothership.
Also – we’re assuming you can get a system with PHP, MySQL, and composer up and running yourself.
Also also, thanks to James Cowie, Jakub Winkler, Alan Kent, and Eugene Tulika for the background information.
Git-less Magento Install via Composer
The quick version is
Run the following command to create a new Magento 2 project
composer create-project --stability="alpha" magento/project-community-edition
Then, change into your new project directory and run the following command
cd project-community-edition
composer require magento/sample-data:1.0.0-beta
Then, make the following folders web server writable via your favorite means (the following may not be suitable for your environment)
chmod 777 var/
chmod 777 pub/media/downloadable/
Then, configure a website with the project-community-edition
folder as your document root (not project-community-edition/pub
).
Finally, using the website you just configured, run through the installer at
http://your-magento-url.example.com/setup
Don’t forget to check the sample data box if you want the sample data!
Details
The next sections are completely optional, and more for the old programmers who like to know what’s going on behind the scenes.
Installing the Project, Composer Repositories
When you create a new project with the following.
composer create-project --stability="alpha" magento/project-community-edition
The magento/project-community-edition
package is a packagist hosted package that points to this Magento owned GitHub project. This composer package
- Adds the second composer repository http://packages.magento.com/ into the project
- Requires the
magento/product-community-edition
package (from packages.magento.com) to the project.
It’s this second package, magento/product-community-edition
, that contains all of Magento 2’s sub-packages. Give the following a try
composer info magento/product-community-edition
//list of packages snipped
The http://packages.magento.com
composer repository may be going away when the Magento Connect Marketplace opens for business – but for now it’s how they’re promoting the merchant beta, so it should stick around.
Beyond the Magento specific stuff – this is a nice example of how to have your own composer repository, but still allow folks to install a package without needing to worry about configuring your repository.
Sample Data
The next two commands
cd project-community-edition
composer require magento/sample-data:1.0.0-beta
download the sample data package, also hosted on packages.magento.com
$ composer info magento/sample-data
name : magento/sample-data
descrip. :
keywords :
versions : * 1.0.0-beta, 0.74.0-beta16, 0.74.0-beta15, 0.74.0-beta14, 0.74.0-beta13, 0.74.0-beta12, 0.74.0-beta11, 0.74.0-beta10, 0.74.0-beta9, 0.74.0-beta8, 0.74.0-beta7, 0.74.0-beta6, 0.74.0-beta5, 0.74.0-beta4, 0.74.0-beta3, 0.74.0-beta2, 0.74.0-beta1, 0.42.0-beta11, 0.42.0-beta10, 0.42.0-beta7, 0.42.0-beta6, 0.42.0-beta5, 0.42.0-beta2, 0.42.0-beta1, 0.1.0-alpha108
type : metapackage
source : []
dist : [zip] https://packages.magento.com/_packages/magento_sample-data-1.0.0-beta.zip
names : magento/sample-data
requires
magento/module-sample-data self.version
magento/sample-data-media ~0.42.0-beta2
Writable Folders
The first chmod
chmod 777 var/
takes care of the var
folder – the installer won’t run without this.
The next chmod
command
chmod 777 pub/media/downloadable/
takes care of a folder that the sample data installer needs write permissions, and that’s currently missing from Magento 2’s readiness check.
Setup Wizard
The setup wizard
http://your-magento-url.example.com/setup
is Magento 2’s GUI installer, and is a separate web application from the framework itself. It lives off the root folder (not pub/
), which is why your document root needs to be set here.