Как у меня (и на локалке и на продакшене). Если будете повторять мои шаги, главное не торопитесь, вы должны понимать что вы делаете, и всё будет отлично. Линукс сделан разработчиками для людей, тут главное понимать и делать всё аккуратно.
1. Вы установили или серверную, или десктопную версию Ubuntu 16.04, или её производные. Сам сейчас на Mint 18.3. Без разницы.
После установки в терминале
Всё отлично - обновились.
2. Устанавливаем lamp server
В процессе установки попросят задать пароль для суперпользователя MySql root - задаем.
3. Настойчиво советую добавить расширение для apache - mpm-itk, подробности в гугле (запуск Apache от имени пользователя):
Код: Выделить всё
sudo apt install libapache2-mpm-itk
sudo service apache2 restart
Также не забываем выполнить
Код: Выделить всё
a2enmod rewrite
sudo service apache2 restart
4. Проверяем: в браузере вбиваем localhost, должны увидеть стандартный ответ apache c общей информацией
5. Сидим чешем репу и думаем какие библиотеки php нам нужны для работы. Например, для интернационализации приложения на yii2 требуется библиотека intl, и еще неплохо было бы установить imagick
В терминале запускаем
Т.е. синтаксис команды элементарный: php-имя-библиотеки-в-нижнем-регистре
Если каких-то библиотек не хватает, фигня вопрос - всё равно к этому вернемся при развертывании приложения на yii2.
6. OK. Апач накатили, MySql тоже, php худо-бедно тоже работает. Апач, по умолчанию работает с папкой /var/www, и перенаправить его на чтение другой папки - задача не для слабонервных. Но владелец папки /var/www - суперпользователь root, а работать под рутом не комильфо. Это очень плохо. Без комментариев.
Как я делаю (методика спорная, но мне так удобнее). Предположим вы работаете под пользователем с именем user. В терминале последовательно выполняем команды
Код: Выделить всё
sudo mkdir /var/www/user
sudo chown -R user:user /var/www/user
В результате у вас будет создана папка /var/www/user и вы будете её владельцем. При этом апач будет также работать с этой папкой.
========================
Подготовительные работы завершены.
Можно накатывать виртуальные хосты. Без разницы на yii2, или нет. Не прописывать линки, а создавать полноценные проекты в нужных папках, например:
Код: Выделить всё
mkdir /var/www/user/test.loc
cd /var/www/user/test.loc
composer create-project --prefer-dist --stability=stable yiisoft/yii2-app-basic .
В папке с установленным приложением запускаем:
Смотрим каких библиотек не хватает, устанавливаем (п. 5)
Потом прописываем виртуальный хост test.loc в апач, и в файле .hosts (если работаем локально). Но это чуть др. тема, если будет нужно - продолжу (автоматизация создания виртуального хоста, баш скрипт)
=======================