Убедитесь, что установлен PHP5.6 и проверьте другие требования

  1. Установка Composer:
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php -r "if (hash_file('SHA384', 'composer-setup.php') === 'bf16ac69bd8b807bc6e4499b28968ee87456e29a3894767b60c2d4dafa3d10d045ffef2aeb2e78827fa5f024fbe93ca2') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"
    mv composer.phar /usr/local/bin/composer
    Хэш файла может измениться, здесь можно найти актуальную версию.
  2. Получаем Magento CE metapackage:
    Для этого переходим в директорию куда будем устанавливать Magento и делаем
    composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <installation directory name>
    При этом будут запрошены ключи для аутентификации, которые нужно сгенерировать (если не существовало до этого) в своем аккаунте на magentocommerce на вкладке Connect > Developers > Secure Keys.
    public key вводим в username, private key - в password.
  3. После скачивания Composer'ом переходим в папку (если не указывать её в пункте 2, то по-умолчанию она будет называться project-community-edition). Настраиваем пермишены. Если вкратце, то делаем следующее:
    sudo usermod -g www-data <username>
    где <username> - текущий юзер
    Перегружаем apache
    sudo service apache2 restart
    Меняем права и владельца
    find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;
    find var vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \;
    chown -R : .
    chmod u+x bin/magento
  4. Устанавливаем Sample Data
    php bin/magento sampledata:deploy
    На всякий случай меням опять права и владельца как в пункте 3.
  5. Устанавливаем Magento (например через коммандную строку)
    php bin/magento setup:install --base-url=http://base.url/ --db-host=DB_HOST --db-name=DB_NAME --db-user=DB_USER --db-password=DB_PASSWORD --admin-firstname=Firstname --admin-lastname=Lastname --admin-email=admin@email.com --admin-user=username --admin-password=password --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1 --backend-frontname=admin --use-sample-data
    Делаем upgrade
    php bin/magento setup:upgrade
    Компилируем (это долгий процесс)
    php bin/magento setup:di:compile
    После этого может быть ошибка при заходе в админку, мне помогло следующее (возможно что-то другое отсюда тоже поможет):
    php bin/magento sampledata:deploy
    composer update
    php bin/magento setup:upgrade
    sudo chown -R :www-data .
    sudo find . -type d -exec chmod 770 {} \; && sudo find . -type f -exec chmod 660 {} \; && sudo chmod u+x bin/magento
  6. После этого нормально работает и фронт и админка.
  7. Для включения автоподсказок для xml файлов в PHPStorm:
    php bin/magento dev:urn-catalog:generate .idea/misc.xml