Установка и использование Lithium на сервере Ubuntu 12.04

Что такое Lithium?

Lithium – это полноценный PHP-фреймворк для разработки веб-приложений. Основанный на архитектуре Model-View-Controller (MVC), он разработан для PHP 5.3 + и взаимодействует с новейшими технологиями хранения данных (такими, как MongoDB или CouchDB).

Данный фреймворк позволяет удобно организовать проект, а также предоставляет возможность кодировать вне фреймворка (при создании уникального веб-приложения). Кроме того, он имеет надежную систему плагинов, которая позволяет использовать ее компоненты вне фреймворка (например, шаблонизатор Twig или Doctrine2 для ORM).

В данном руководстве речь пойдет об установке Lithium на сервер Ubuntu и о разработке простого веб-приложения.

Примечание: предполагается, что на сервер уже установлена и запущена группа программ LAMP stack. Если это не так, читайте данное руководство.

Настройка Apache

Поскольку в данном случае веб-сервером является Apache, а Lithium активно использует файл .htaccess для перезаписи URL, необходимо убедиться, что Apache позволит фреймворку использовать этот файл. Выполните следующие действия, если они не были выполнены ранее.

Отредактируйте файл виртуального хоста, отвечающий за папку, в которой будет храниться веб-приложение (в данном случае это document root каталог Apache, /var/www).

sudo nano /etc/apache2/sites-available/default

В разделе, который начинается с:

<Directory /var/www/>

нужно заменить AllowOverride None на AllowOverride All. Далее необходимо включить mod_rewrite (если он не был включен ранее). Чтобы знать, включен ли модуль mod_rewrite, используйте следующую команду:

apache2ctl -M

Если rewrite_module есть в появившемся списке, он уже включен. В противном случае используйте команду:

a2enmod rewrite

После внесения любых изменений в конфигурационные файлы виртуального хоста или после включения модулей Apache необходимо перезапустить веб-сервер:

sudo service apache2 restart

Установка Lithium

Прежде чем приступить к установке фреймворка Lithium, нужно установить Git; это позволит извлечь фреймворк с GitHub. Для установки Git используйте следующие команды:

sudo apt-get update
sudo apt-get install git-core

Далее нужно клонировать репозиторий Lithium на сервер (находясь document root каталоге веб-сервера, /var/www):

git clone git://github.com/UnionOfRAD/framework.git site

Данные команды клонируют репозиторий фреймворка и помещает его в каталог по имени site. Теперь можно установить Lithium как подмодуль.

cd site
git submodule init
git submodule update

Это также скопирует библиотеку lithium в папку libraries/lithium/. Данная библиотека понадобится для начальной загрузки приложения.

Командная строка Lithium

Lithium поставляется с утилитой командной строки (li3), которая помогает генерировать код, работать с документацией и т.д. Но, чтобы получить возможность использовать ее из любой точки, нужно добавить библиотеку console в путь оболочки. Откройте файл .bash_profile, который находится в домашнем каталоге (если такого файла не существует, создайте его):

nano ~/.bash_profile

Внесите в него запись в следующем формате:

PATH=$PATH:/путь/к/docroot/lithium/libraries/lithium/console

Убедитесь, что приведенный выше путь был заменен правильным путем, ведущим к библиотеке console, который в данном случае имеет следующий вид:

PATH=$PATH:/var/www/site/libraries/lithium/console

После выполнения подобных изменений нужно выполнить следующую команду, чтобы убедиться, что команда bash действует:

source ~/.bash_profile

Теперь протестируйте команду, запустив ее без опций (что откроет справочную информацию):

li3

Подключение к базе данных

Для работы большинства веб-приложений требуется база данных. Lithium позволяет использовать широкий спектр СУБД, таких как MySQL, MariaDB, MongoDB, CouchDB и т.д. Для создания тестового приложения в данном руководстве используется MySQL, но в целом можно использовать любую удобную СУБД.

Примечание: подробную информацию об использовании MongoDB можно найти здесь.

Для начала понадобится база данных; убедитесь, что на сервере уже установлена СУБД и создана база данных.

Чтобы установить подключение к базе данных, откройте и отредактируйте файл bootstrap.php, расположенный в папке site/app/config:

nano /var/www/site/app/config/bootstrap.php

Раскомментируйте в нем следующую строку:

require __DIR__ . '/bootstrap/connections.php';

Затем отредактируйте файл connections:

nano /var/www/site/app/config/bootstrap/connections.php

В нем нужно раскомментировать настройки базы данных в следующем разделе:

/**
* Uncomment this configuration to use MySQL as your default database.
*/

Здесь можно найти несколько подобных блоков для других баз данных.

Кроме того, нужно внести информацию о соединении MySQL.

Приложение Lithium

Теперь нужно открыть браузер и посмотреть, что имеется на данный момент. Это можно сделать, открыв ip-адрес/site. Как можно видеть, приложение Lithium уже работает и моет предоставить некоторую информацию (его состояние, а также настройки сервера, необходимые для корректной работы).

Если появилось следующее сообщение:

Magic quotes are enabled in your PHP configuration

необходимо отредактировать файл php.ini.

sudo nano /etc/php5/apache2/php.ini

Внесите в этот файл следующую строку:

magic_quotes_gpc = Off

Сохраните изменения и перезапустите Apache.

sudo service apache2 restart

Архитектура Model-View-Controller

Поскольку Lithium основан на MVC, в структуре его папок можно найти три очень важные папки: , models/ и views/.

Теперь можно быстро разработать пример контроллера и вывести на его страницу «Hello world!». В папке controllers/ создайте новый файл по имени HelloController.php со следующим содержанием:

<?php
namespace app\controllers;
class HelloController extends \lithium\action\Controller {
public function index() {
echo "Hello World!";
}
}

Сохраните файл. Так создается новый класс контроллера, расположенного в файле с соответствующим именем (на основе имени класса), что расширяет класс контроллеров Lithium. Внутри был создан индексный метод, который будет вызван в случае, если при вызове этого контроллера не было передано никаких параметров. Внутри этого метода просто введено сообщение «Hello World!».

Чтобы открыть приложение в браузере, перейдите к ip-адрес/site/hello. Должна появиться страница с сообщением Hello World.

Итоги

Данное руководство доступно объясняет, как установить PHP-фреймворк Lithium и какие конфигурации сервера необходимо выполнить, чтобы он работал. Конечно, это всего лишь основы работы с данным фреймворком.

Чтобы научиться использовать Lithium на более профессиональном уровне, ознакомьтесь с особенностями работы архитектуры MVC и ее взаимодействием с СУБД.

Tags: , , , , , , , , , , , ,

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