Установка и начало работы с Symfony 2 в Ubuntu

Symfony – это открытый PHP-фреймворк для разработки приложений, главные преимущества которого – скорость, гибкость, масштабируемость и стабильность.

Symfony является полноценным фреймворком, однако при необходимости можно устанавливать и использовать в разработке только отдельные его компоненты. Для их установки используется Composer.

Также Symfony 2 поставляется в виде дистрибутивов (связок пакетов, конфигураций и других компонентов для быстрого старта). Для начала разработки проекта рекомендуется использовать самый простой дистрибутив Standard Edition.Он содержит наиболее распространенные пакеты и использует простую систему конфигураций.

В этом руководстве показано, как становить этот дистрибутив и начать работу с ним.

Требования

Для выполнения руководства понадобится:

Установка Symfony 2

Фреймворк Symfony 2 можно установить двумя способами:

  1. Загрузить и распаковать архив в папке проекта,
  2. Или использовать Composer.

Это руководство охватывает первый способ установки. Загрузите Symfony в root-каталог сервера, /var/www. Обратите внимание: все файлы в архиве уже помещены в папку symfony, потому не нужно создавать папку для извлечённых файлов самостоятельно. Итак, перейдите в /var/www и загрузите архив:

cd /var/www
wget http://symfony.com/download?v=Symfony_Standard_Vendors_2.3.3.tgz

Примечание: Проверьте ссылку на версию на странице загрузки Symfony.

После завершения установки распакуйте архив:

tar -zxvf download?v=Symfony_Standard_Vendors_2.3.3.tgz

Теперь в каталоге появилась новая папка Symfony. Можете удалить tar-файл с сервера.

Права на файлы Symfony

Теперь нужно изменить права на некоторые каталоги и файлы, открыв веб-серверу доступ к ним. За работу веб-сервера Apache отвечает пользователь www-data, который состоит в группе www-data.

Запустите при помощи терминала следующие команды, чтобы изменить владельца этих файлов и папок:

chown -R root:www-data app/cache
chown -R root:www-data app/logs
chown -R root:www-data app/config/parameters.yml

Теперь они принадлежат root-пользователю и группе www-data. Откройте пользователям этой группы права на запись в следующих папках:

chmod -R 775 app/cache
chmod -R 775 app/logs
chmod -R 775 app/config/parameters.yml

Настройка сервера

Теперь нужно проверить настройки сервера. Symfony2 предоставляет инструмент для тестирования, доступный по адресу:

http://www.example.com/Symfony/web/config.php

Если при этом возникла ошибка:

This script is only accessible from localhost

Значит, вы пытаетесь получить доступ к файлам удалённо, но для этого нужна дополнительная отладка сервера.

Откройте файл config.php в каталоге приложения /web. Найдите следующий блок:

if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
'127.0.0.1',
'::1',
))) {

Сюда нужно внести новый массив, содержащий IP, который должен иметь доступ к Symfony. Добавьте IP-адрес:

if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
'127.0.0.1',
'::1',
'YOUR IP',
))) {

Теперь ошибка устранена, и вы можете использовать тестер конфигураций удалённо. Откройте тестер в браузере и следуйте инструкциям по настройке VPS для поддержки Symfony. Устранив основные проблемы, нажмите Bypass configuration and go to the Welcome page. На экране появится главная страница Symfony2.

Если при этом возникает ошибка:

You are not allowed to access this file. Check app_dev.php for more information.
Откройте файл app_dev.php в каталоге /web и раскомментируйте следующий блок кода:
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1'))
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

Сохраните и закройте файл. Обновите страницу, ошибка должна исчезнуть.

Глобальные настройки Symfony2

На главной странице только что созданного приложения нужно кликнуть Configure, это запустит в браузере мастер настройки. На первой странице можно настроить соединение с БД; она содержит список доступных вариантов, среди которых MySQL, SQLite, PosgreSQL, Oracle и т.д. Укажите данные, необходимые для подключения к БД, кликните Next и сгенерируйте секретный ключ для защиты от CSRF-атак.

Нажмите Next, чтобы сохранить предоставленную информацию в файл parameters.yml каталога app/config. Если ранее права на файлы и каталоги были установлены правильно, никаких ошибок сейчас не возникнет. В противном случае можно скопировать и вставить данные в файл вручную.

Вендоры и зависимости Symfony

Фреймворк Symfony зависит от некоторых внешних библиотек. Их можно найти в каталоге /vendor и загрузить при помощи менеджера зависимостей PHP под названием Composer.

Примечание: При запуске команд php composer.phar install или php composer.phar update Composer очистит кэш и установит пакеты. Кроме того, Composer изменит права на каталог app/cache; не забудьте установить необходимые права на каталог, повторив соответствующий раздел руководства.

PHP-фреймворк Symfony2 полностью готов к работе

Tags: , , ,

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