Установка фреймворка Yii2 на VPS от Jino

28-11-2018
post-image

Содержание:


Рассмотрю установку фреймворка на VPS от Jino «под ключ». Т.е. предполагается что ты уже зарегистрировался (если нет вот ссылка) и подключил VPS Сервер.

Сразу хочу оговорить моменты:

В статье свой адрес сайта заменил на что-то-там. Т.к. для написания этой статьи я не арендовал домен, а использовал тестовый (который Jino предоставляет при аренде сервера VPS).

Для «путешествия» по каталогам в консоле использую конструкция cd. При её помощи можно открывать каталоги (аналог двойного клика по папке).

В панели управления жмем Консоль (или можете подключиться к серверу через консоль, последовательность будет такая же). Рассматриваю вариант работы через Консоль, которую предлагает Jino, чтобы даже самые неопытные программисты справились с установкой =) Итак поехали…

Переходим в консоле в каталог где будет установлен сайт, путь к каталогу с сайтом будет таким: /var/www/domains/что-то там. Для этого используем команду cd. Домен нам арендовать необязательно, т.к. при оплате сервера VPS, Jino предоставляет нам тестовый домен.

Пример команды в консоле:

cd /var/www/domains/что-то там

т.е. нам надо открыть каталог с нашим тестовым доменом

Уставнока Composer

Перед тем, как ставить сам фреймворк Yii2, нам необходимо установить Composer, для этого в консоле пишем:

/usr/local/zend/bin/php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Сразу хочу оговориться, что /usr/local/zend/bin/php - путь где установлен php. Можно провести манипуляции и можно будет писать просто php. Но сейчас этого делать не будем - не та задача.

Дальше пишем

/usr/local/zend/bin/php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Это была подготовительная работа, теперь сама установка Comoser’a:

/usr/local/zend/bin/php composer-setup.php

Видим инфу о том что скачан файлик composer.phar (картинка 1)

Установка фреймворка Yii2 на VPS от Jino

Картинка 1.

Файлик composer-setup.php нам больше не нужен, а заучит можно его и удалить. Пишем в консоле:

/usr/local/zend/bin/php -r "unlink('composer-setup.php');"

Теперь Composer установлен, можно приступать к установке Yii2. Если что, вся официальная документация по установке Composer'a есть на оффСайте

Устанавливаем Yii2 (на примере advanced).

Пишем

/usr/local/zend/bin/php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"

Это всё по инструкции: устанавливаем плагин composer asset, который управляет зависимостями пакетов bower и npm.

В консоле должно отобразится что-то вроде такого (картинка 2):

Установка фреймворка Yii2 на VPS от Jino

Картинка 2.

Composer предупреждает нас об опасности установки от имени root (админа). Это не всегда безопасно, но если четко следовать инструкции, можно не переживать за результат =)

Ставим Yii2 Advanced, для этого в консоле пишем:

/usr/local/zend/bin/php composer.phar create-project --prefer-dist yiisoft/yii2-app-advanced mysite

где mysite - директория куда будет установлен фреймворк. У нас её нет, соответственно в текущем каталоге (где мы сейчас «находимся») будет создан этот каталог.

Пошел процесс установки (картинка 3)

Установка фреймворка Yii2 на VPS от Jino

Картинка 3

Процесс может занять некоторое время (около 2х минут), так что есть время пойти заварить кофе =)

Настройка Yii2 Advanced

Открываем каталог mysite. Для этого используя команду cd, в консоле пишем:

cd mysite

Инициализируем фреймворк:

/usr/local/zend/bin/php init

У нас спрашивают в какой среде собираемся инициализирвоать, говорим что мы девелоперы, пишем 0 и жмём Enter. После чего подтверждаем свой выбор, пишем yes. Если все правильно сделали, начался процесс инициализации (картинка 4, картинка 5)

Установка фреймворка Yii2 на VPS от Jino

Картинка 4

Когда инициализация закончится, увидим надпись initialization complited (картинка 5).

Установка фреймворка Yii2 на VPS от Jino

Картинка 5

После завершения инициализации можно проверить работоспособность фреймворка Yii2. Если открыть http://что-то-там.vps.myjino.ru/mysite/frontend/web/, увидим что мы молодцы и фреймворк установили (картинка 6).

Но путь не айс. Хотелось бы избавится от /mysite/frontend/web/.

Установка фреймворка Yii2 на VPS от Jino

Картинка 6.

Для этого возвращаемся в консоль (на данный момент ты должен быть в директории mysite) и пишем:

ln -s frontend/web public_html

Далее идем в настройки Apache для нашего домена. Для простоты можете в файловом менеджере открыть файл (/etc/httpd/conf.d/что-то-там.vps.myjino.ru.conf).

Строку

DocumentRoot    /var/www/domains/что-то-там.vps.myjino.ru

Меняем на

DocumentRoot    /var/www/domains/что-то-там.vps.myjino.ru/mysite/frontend/web

Т.е. добавили /mysite/frontend/web.

Идем в настройки веб-сервера и перезагружаем его (картинка 7)

Установка фреймворка Yii2 на VPS от Jino

Картинка 7.

Теперь сайт доступен по норм адресу http://что-то-там.vps.myjino.ru/

Настраиваем админку сайта

Для этого возвращаемся в консоль и открываем каталог frontend/web, для этого используем уже полюбившуюся конструкцию cd:

cd frontend/web

И создаем ссылку, на каталог с бэкендом (находится тут backend/web), для этого пишем:

ln -s ../../backend/web admin

Теперь админка доступна по адресу http://что-то-там.vps.myjino.ru/admin,

Но после чего добавляется некрасивые параметры и получается адресная строка похожая на эту: http://что-то-там.vps.myjino.ru/admin/index.php?r=site%2Flogin . Та же история если переходить по страницам фронтенда

Согласись, не очень красиво. Будем исправлять!

При помощи файлового менеджера создаем в каталоге /frontend/web файлик с названием .htaccess (да, да, это файл без названия, но с точкой и расширением. Этот файл отвечает за дополнительные настройки к Apache). Открываем его на редактирование и пишем туда:

Options +FollowSymLinks
IndexIgnore */*

RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

В конфиге /frontend/config/main.php прописываем код как на картинке. Скорее всего этот код уже написан, его надо просто раскомментировать (картинка 8)

Установка фреймворка Yii2 на VPS от Jino

Картинка 8.

Это мы настроили фронтэнд. В директории backend проводим толе самое, а именно:

  1. Создаём файл .htaccess (с таким же содержимым, как и в frontend)
  2. Редактируем файл конфига (/backend/config/main.php)

Подключаем БД

Идем в common/config/main-local.php, там указываем настройки подключения к БД: Логин, пароль пользователя, имя БД (картинка 9)

Установка фреймворка Yii2 на VPS от Jino

Картинка 9.

Стоять. Мы же не создавали никакой БД…

Создаем БД

В панели управления сервером переходим Управление -> Управление MySQL. Там жмем кнопку Создать базу данных (картинка 10).

Установка фреймворка Yii2 на VPS от Jino

Картинка 10.

Указываем имя БД, логин, пароль (их потом указываем в main-local.php)

Возвращаемся в консоль и пишем:

cd ../../

Напомню. Мы находились в папке backend/web, а нам надо вернуться на два каталога выше (в корень сайта).

В фреймворке Yii2 работа со структурой БД происходит при помощи миграций. Одна миграция уже заготовлена «в коробке», нам её надо лишь выполнить. Для этого пишем:

/usr/local/zend/bin/php yii migrate

Нам говорят что есть одна миграция (там самая, из коробки) и предлагают применить, говорим yes (картинка 11)

Установка фреймворка Yii2 на VPS от Jino

Картинка 11.

Нам сообщают что наша миграция успешно применилась (картинка 12) (если конечно создали и подключили БД корректно)

Установка фреймворка Yii2 на VPS от Jino

Картинка 12.

На странице Управление MySQL открываем phpMyAdmin под тем пользователем, которого создали (картинка 13)

Установка фреймворка Yii2 на VPS от Jino

Картинка 13.

Видим что у нас создалось две таблицы: user и migrate (картинка 14)

Установка фреймворка Yii2 на VPS от Jino

Картинка 14.

Проверяем работоспособность. Открываем сайт по адресу http://что-то-там

Переходим в Signup (Регистрация)

Заполняем форму регистрации (картинка 15)

Установка фреймворка Yii2 на VPS от Jino

Картинка 15.

Поздравляю! Мы зарегистрировались на нашем же сайте =) Если не верите, то в правом верхнем углу должен отображается наш логин, рядом с кнопкой Logout (картинка 16)

Установка фреймворка Yii2 на VPS от Jino

Картинка 16.

Не веришь что реально с этим справился? Открываем phpMyAdmin под нашим пользователем БД, и смотрим что хранится в таблице user (картинка 17)

Установка фреймворка Yii2 на VPS от Jino

Картинка 17.

Вот это поворот! Реально добавилась запись в таблицу user с теми данными, которые мы указали =) Если что-то не понятно, задавайте вопросы в комментариях. И пишите о чем ещё написать ;)


Поделился? Читай дальше =)

Есть что сказать? Давай:

Комментарии:

Нет комментариев =( Так быть не должно!
Напиши что-нибудь хорошее =)

Будь в курсе