Простая установка Yii2 на Ubuntu 18.04

Простая установка Yii2 на Ubuntu 18.04 1

Yii – это высокопроизводительный компонентный PHP фреймворк, предназначенный для быстрой разработки современных веб-приложений. Слово Yii (произносится как Йи [ji:]) в китайском языке означает «простой и эволюционирующий». Также Yii может расшифровываться как акроним Yes It Is!
Yii – это универсальный фреймворк и может быть задействован во всех типах веб-приложений. Благодаря его компонентной структуре и отличной поддержке кэширования, фреймворк особенно подходит для разработки таких крупных проектов, как порталы, форумы, CMS, магазины или RESTful-приложения.

https://www.yiiframework.com/doc/guide/2.0/ru/intro-yii

Сам процесс установки Ubuntu 18.04 Server, ввиду своей тривиальности, тут рассматриваться не будет. Скачать дистрибутив можно с официального сайта: https://ubuntu.com/download/server. Установка на десктопные версии не должна отличаться от серверной, но на практике не проверялась.

После установки, как всегда желательно сначала обновить все пакеты до последних версий.

Теперь, собственно, сам процесс установки необходимых пакетов.

Установка LAMP (Linux, Apache, MySQL, PHP):

Первый вариант — установка при помощи tasksel ( Tasksel — это инструмент Debian / Ubuntu, который позволяет устанавливать сразу несколько пакетов, объединённых в одну задачу, при помощи одной команды):

Сначала убедимся, что tasksel установлен сам по себе и, при необходимости, установим его:

$ sudo apt-get install tasksel

После этого можно выполнить установку всего стека LAMP с помощью одной команды:

$ sudo tasksel install lamp-server

Результатом выполнения будет установка вебсервера apache, базы данных MySQL и языка программирования PHP.

Второй вариант — «вручную», прописав все необходимые пакеты:

$ sudo apt-get install apache2 mysql-server php libapache2-mod-php php-mysql

Если всё прошло без ошибок, значит веб-сервер установлен. Можно это проверить, открыв в браузере URL с адресом сервера, на который происходит установка. Результатом должна служить приветственная страница веб-сервера apache

Теперь надо подключить модуль Rewrite веб-сервера apache

Модуль mod_rewrite использует механизм перезаписи на основе правил, основанный на синтаксическом анализаторе регулярных выражений PCRE, для перезаписи запрошенных URL-адресов на лету. По умолчанию mod_rewrite отображает URL-адрес в путь файловой системы. Однако его также можно использовать для перенаправления одного URL-адреса на другой URL-адрес или для вызова внутренней прокси-выборки.

https://httpd.apache.org/docs/current/mod/mod_rewrite.html
$ sudo a2enmod rewrite

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

Теперь перейдём к установке самого фреймворка. Для этого понадобится composer

Composer — это пакетный менеджер уровня приложений для языка программирования PHP, который предоставляет средства по управлению зависимостями в PHP-приложении

https://ru.wikipedia.org/wiki/Composer

Устанавливаем сам composer и сразу же некоторые необходимые для установки библиотеки:

$ sudo apt-get install composer php-mbstring php-curl php7.2-xml php-gd php-imagick

Переходим в корневой каталог документов веб-сервера apache (по умолчанию /var/www/html) и запускаем установку фреймворка Yii2 и его первого демо-приложения, в данном примере «basic»:

$ cd /var/www/html
$ composer create-project --prefer-dist yiisoft/yii2-app-basic basic

Проверка установки:

$ cd ./basic
$ php yii serve 0:8080

Данная команда в интерактивном режиме запустит встроенный PHP-вебсервер на порту 8080 и демо-шаблон фреймворка. По умолчанию, без указания параметра хост:порт, сервер запускается на 127.0.0.1:8080

Yii2 PHP framework default template

Настройка apache на работу с проектом «по умолчанию»

Для настройки веб-сервера apache на работу с созданным ранее проектом «по умолчанию», создаём файл конфигурации /etc/apache2/sites-available/sitename.conf :

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/basic/web
<Directory "/var/www/html/basic/web">
     # use mod_rewrite for pretty URL support
     RewriteEngine on
     # if $showScriptName is false in UrlManager, do not allow accessing URLs with script name
     RewriteRule ^index.php/ - [L,R=404]
     # If a directory or a file exists, use the request directly
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     # Otherwise forward the request to index.php
     RewriteRule . index.php
     # ...other settings...
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Где sitename — название нашего сайта, /var/www/html/basic/web — путь к проекту фреймворка.

Осталось только заменить сайт apache «по умолчанию» на наш, проверить правильность конфигурации и перезагрузить apache:

$ sudo a2dissite 000-default
$ sudo a2ensite sitename
$ sudo apachectl configtest
$ sudo systemctl reload apache2

На этом всё. Сервер с установленным фреймворком Yii2 готов.

Все настройки тут указаны для варианта «по умолчанию», для простого первого запуска и тестирования PHP фреймворка Yii2, без рассмотрения вопросов безопасности, тонкой настройки веб-сервера apache, баз данных и т.д. и не предназначены для «боевого» сервера.

Полезные ссылки:

https://www.yiiframework.com/doc/guide/2.0/en/start-installation
https://help.ubuntu.ru/wiki/web-server
https://help.ubuntu.ru/wiki/lamp
https://httpd.apache.org

Добавить комментарий