Страницы

суббота, 22 октября 2011 г.

Symphony CMS справка по установке в Ubuntu 11.10

Symphony - справочная информация по системе управления содержимым (Content Management System) вебсайта,- Symphony CMS. Symphony CMS использует технологии XML, XSLT для генерации страниц вебсайта. Структура,внешний вид, взаимодействие с пользователем, сайта задается файлами xml и xslt, без необходимости написания скриптов на php.

Основы

Symphony CMS - открытая система управления содержимым вебсайта с использованием технологий XML,XSLT. Написана на языке PHP.

Сайт программы: http://www.getsymphony.com/

Ensembles - упакованная копия сайта готовая к установке.

Page - это XML, который состоит из веток, сформированных datasource
XSL шаблоны, выбирают куски из этого XML и выводят html


Системные требования

- PHP версии 5.2 и выше

- PHP's LibXML module, with the XSLT extension enabled (--with-xsl)

- MySQL версии 4.1 и выше

- Вебсервер Apache или Litespeed

- Модуль вебсервера Apache - mod_rewrite или эквивалентный



Подготовка к использованию на компьютере разработчика

Установка требуемого окружения в виде системы контроля версий git, СУБД MySQL, вебсервера Apache, языка PHP5 и разнообразных требуемых модулей. Данная установка специфична для Symphony CMS, для других CMS требуется другой набор модулей.

$ sudo apt-get install git

$ sudo apt-get install apache2

$ sudo apt-get install mysql-server

$ sudo apt-get install php5 php5-mysql php5-xsl php5-curl php5-gd

Во время установки сервера MySQL, пользователю будет предложено создать пароль для пользователя root, для доступа к СУБД.




Настройка установленного сервера Apache2
Основным конфигурационным файлом вебсервера Apache2 в Ubuntu 11.10 является /etc/apache2/httpd.conf и /etc/apache2/apache2.conf соответственно.

Минимальные правки необходимые для запуска Symphony CMS.

1. Выполнить включение rewrite:
$ sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load либо sudo a2enmod rewrite

2. Скорректировать файл 000-default, исправив строки AllowOverride none на AllowOverride all, везде где они встречаются.
 sudo nano /etc/apache2/sites-enabled/000-default

Сохранить изменения Ctrl-O и выйти из редактора Ctrl-X

4. Правильный путь - создать настройку нового сайта

5. Дополнительные необязательные,но полезные настройки вебсервера Apache2 - см. Опции

0. Перезапустить сервер Apache, выполнив
$ sudo /etc/init.d/apache2 restart
либо
$ sudo service apache2 restart

Создание базы данных в MySQL
Локализовать БД.
Быстрый способ создания - используя консольные утилиты MySQL
Выполнить
$sudo mysql -u root -p
ввести заданный на этапе инсталляции пароль, появится приглашение:
mysql>
выполнить команду (скрипт создания БД)

CREATE DATABASE testdb CHARACTER SET utf8 COLLATE utf8_unicode_ci;

где testdb - выбранное вами имя первоначальной базы данных. Далее выполнить команду exit.

Внимание!После создания базы данных в mySQL, надо установить ей свойство сравнения Unicode
если этого не сделать, то при создании разных секций в системе, при наборе русского текста появляются вопросики.

Скачивание и развертывание Symphony OS в папке /var/www
Пусть для нашей CMS выбрана папка site, c адресом в файловой системе /var/www/site

1. Выполнить в режиме root или www-data:

$ sudo git clone git://github.com/symphonycms/symphony-2.git site

$ sudo cd site

$ sudo git submodule update --init
 необязательно
$ sudo git clone git://github.com/symphonycms/workspace.git

$ sudo chmod 777 symphony .
 необязательно, если только нет папки workspace
$ sudo chmod -R 777 workspace


В результате успешного завершения будет сформирована папка site.

Запуск установочного скрипта Symphony CMS

Перед запуском установочного скрипта вы должны создать базу данных сайта в СУБД MySQL.

В адресной строке веб-броузера (например Firefox) перейти:

http://localhost/syte/install.php

Если все правильно было настроено, должна появиться форма установки, где нужно указать пароли доступа к БД, к Symphony
Должна появиться форма входа в систему Symphony CMS в административный режим.
Адрес входа в административный интерфейс:

http://localhost/site/symphony/

Если был загружен workspace, то появится страница сайта-примера и она будет доступна по адресу:

http://localhost/site/


Установка дополнительных расширений Symphony CMS и подготовка к разработке

Включение расширений в вебинтерфейсе Symphony CMS. Перейти в меню CMS: System-Extensions. Выделить включаемое расширение и нажать Apply, выбрав в выпадающем меню with selected...

Для режима отладки xml файлов надо включить расширение debug-Devkits, оно присутствует в базовой поставке.
С чего начать разрабатывать первый тестовый сайт?

Я начал с создания datasource курсов валют ЦБ РФ
Название источника данных - cbrf-ds
в формируемом xml файле он находится в ветке /data/cbrf-ds
Далее я начал с создания простой страницы (Page) с подключенным источником данных.Отредактировал автоматически созданный xsl файл, для формирования простейшего html вывода. Без минимальных знаний XSLT не обойтись.



Опции
Несколько установок Symphony CMS
Вполне разумно сделать несколько установок Symphony CMS в иные каталоги вебсервера, чтобы иметь возможность тестировать расширения и сторонние утилиты, перед тем, как переносить их в основную девелоперскую версию. Можно также скачать и установить Ensambles - готовые настроенные копии Symphony CMS.

Установка Symphony CMS в домашней директории пользователя
Установка Symphony CMS в папку /var/www создает некоторые трудности в изменениях сайта, его надо редактировать с системной учетной записью root. Чтобы упростить себе жизнь, надо разместить сайт в домашней директории. Также домашняя директория доступна для многих программ архивирования по-умолчанию.

Создадим в домашней директории пользователя папку webdev и перейдем в нее:
$ mkdir webdev

$ cd webdev

Выполним скачивание Symphony CMS

$ git clone git://github.com/symphonycms/symphony-2.git site

$ cd site

$ git submodule update --init

$ git clone git://github.com/symphonycms/workspace.git

Теперь надо настройть виртуальные сайты (virtual hosts) вебсервера Apache2.
$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site

Отредактировать /etc/apache2/sites-available/site, заменить /var/www на /home/USERNAME/webdev

Отредактировать файл /etc/hosts, внести запись вида:
 127.0.0.1 site

Перезапустить сервер Apache2
$ sudo service apache2 restart

Если все правильно сделано, то сервер будет доступен в броузере, по адресу: http://site

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

Дополнительная настройка вебсервера Apache2
В конфигурационный файл свежеустановленного web-сервера можно внести некоторые косметические исправления. Для этого среди многочисленных (и полезных) комментариев находим и раскомментируем директивы

 ServerAdmin admin@site  # почтовый адрес администратора

 ServerName site:80      # имя сервера
в строке LanguagePriority переставляем ru на первое место
LanguagePriority ru en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl...

Конфигурационный файл .htaccess

Файл .htaccess (от. англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache, позволяет задавать дополнительные параметры и разрешения для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.

Файл .htaccess является подобием httpd.conf с той разницей, что действует только на каталог, в котором располагается, и на его дочерние каталоги. Возможность использования .htaccess в том или ином каталоге указывается в httpd.conf (директива AllowOverride).

Файл .htaccess может быть размещён в любом каталоге. Директивы этого файла действуют на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess). Для того чтобы эти файлы .htaccess можно было использовать, необходимы соответствующие настройки главного конфигурационного файла (значение директивы AllowOverride должно быть установлено All). Как правило, подавляющее большинство хостеров разрешают использовать свои файлы .htaccess.

Пути к файлам и каталогам должны указываться от корня сервера, например, /var/www/domain.com/htdocs/

Более подробно разбор содержимого файла .htaccess см. в http://www.htaccess.net.ru/ и официальной документации Apache

Опции. WEBDAV
Установка
$ sudo a2enmod dav
$ sudo a2enmod dav_fs
$ sudo a2enmod auth_digest

Создание пользователей получающих доступ webdav
$ sudo htdigest -c /etc/apache2/webdav-passwd webdav username1
$ sudo htdigest /etc/apache2/webdav-passwd webdav username2



Псевдонимы для сайтов

Иногда полезно задать несколько псевдонимов для сайтов в /etc/hosts
для удобного доступа по проектам.

Например:

 http://siteforsale/

http://siteforus/

http://siteforme/

Примерное содержимое /etc/hosts

127.0.0.1       siteforsale

127.0.0.1       siteforsale.local

127.0.0.1       siteforus

127.0.0.1       siteforus.local

127.0.0.1       siteforme

127.0.0.1       siteforme.local

Система присвоения имен
Для упрощения понимания структуры и ориентации среди многих разрабатываемых сайтов с использованием Symphony CMS, рекомендуется принять какую-либо систему именования каталога сайта, БД сайта, таблиц БД (префикс специфичный), а также какую-либо структуру размещения сайтов в файловой системе. Например, пусть имя сайта будет siteforus, тогда папка размещения - /var/www/siteforus, база данных сайта - siteforus, имя административного пользователя - siteforus, префикс таблиц sfr.

Установка phpMyAdmin
phpMyAdmin - вебинтерфейс администрирования СУБД MySQL
$ sudo apt-get install libapache2-mod-auth-mysql phpMyAdmin
После установки phpMyAdmin будет доступен по адресу:
http://localhost/phpmyadmin/
с именем и паролем введенным при установке.

Права доступа
нет пока и скорее не будет, чем будет

Публикация сайта
Проверка хостинга на соответствие требованиям
Выбрать хостинг устойчивый к большому наплыву посетителей
Перенос данных сайта на хостинг


Замеченное. Проблемы и решения

1. После добавления шаблонов, в папку workspace
надо сделать обновление прав на локальном компьютере
$ sudo chmod -R 777 .
на удаленном сервере 775 или 755


2. Установка sympony cms конфликтовала с установленным web-интерфейсом
mythtv
более менее пролечилось удалением mythtv, а также правкой файла
/etc/apache2/sites-available/default.

Переключением строки AllowOverride c none на All.
Это фича Ubuntu, которая запрещает .htaccess

DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

После установки так называемого "ensambles" designadmin возникала xslt ошибка.
Причина, в исходной загрузки из git отсутствовала папка расширения.
Для ее получения выполнить git submodule update --init
После переустановить систему


Все.

※※※

Ресурсы


1. Официальный сайт. http://www.getsymphony.com/

※※※

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