Эта статья поможет как установить фреймворк с нуля, так и разместить уже существующий проект.
1. Создайте сайт в разделе Хостинг. Подключитесь к вашему аккаунту хостинга по SSH (инструкция) и перейдите в каталог с сайтом:
cd ~/sitename.ru/
Для установки и работы с Yii необходимо наличие менеджера зависимостей Composer. Если вы ещё не установили его, воспользуйтесь нашей статьей.
2. Если вы уже загрузили файлы проекта в каталог www, то его следует переименовать:
mv www yii_project
Если сайт был только что создан, то удалить:
rm -rf www
3. Установка Yii
Если у вас уже есть готовый проект и вы не планируете выполнять установку с нуля, то этот шаг нужно пропустить.
Для установки последней стабильной basic-версии Yii воспользуйтесь следующей командой:
composer.phar create-project --prefer-dist yiisoft/yii2-app-basic yii_project
Advanced-версия устанавливается так:
composer.phar create-project --prefer-dist yiisoft/yii2-app-advanced yii_project
Команда установит фреймворк в каталог yii_project.
Вы можете выбрать имя каталога по своему желанию. Он должен быть пустой или не существовать.
Для завершения установки версии advanced необходимо выполнить скрипт init для выбора типа проекта (production или development):
php yii_project/init
4. Укажите актуальные логин, пароль и имя базы данных в конфигурационном файле.
Реквизиты MySQL автоматически отправляются на вашу почту после создания сайта. Также они доступны на странице сайта в панели управления (Хостинг - Сайт - вкладка MySQL).
Для basic:
nano yii_project/config/db.php
Для advanced:
nano yii_project/common/config/main-local.php
Для сохранения используйте комбинацию клавиш Ctrl+O, а для выхода Ctrl+X
Версию advanced можно отличить наличием каталогов frontend и backend, в basic-версии они отсутствуют.
При установке advanced-версии с нуля следует применить миграцию:
php yii_project/yii migrate
5. На нашем хостинге индексный файл сайта должен быть размещен в каталоге ~/sitename.ru/www/
Однако для Yii требуется размещение этого файла в каталоге web. Решение заключается в создании символической ссылки с именем www, которая указывает на каталог web.
Cоздайте символическую ссылку:
Для basic-версии:
ln -s yii_project/web www
Для advanced нужно создать два симлинка - для самого сайта и для административного раздела:
ln -s yii_project/frontend/web www
cd yii_project/frontend/web
ln -s ../../backend/web admin
В целях безопасности можно заменить admin на что-нибудь менее очевидное.
Если А-записи в настройках DNS уже вступили в силу, то сайт становится доступен с хостинга.