2011-06-20

запускаем Zotonic CMS, которая на Erlang'е

Пприступим.
В данный момент под рукой оказался openSUSE версии 11.3 его и будем использовать, думаю этот небольшой мануал будет актуален как для других версий так и других дистрибутивов, единственное, изменится процедура установки пакетов. Думаю не составит труда найти инструкции по установке под Windows PostrgreSQL, ImageMagick и Erlang'а. Перед установкой рекомендую обновить систему.


1) Установим все нужные зависимости и библиотеки

Нам понадобится сервер баз данных - PostgreSQL.
пакеты: postgresql-server postgresql postgresql-devel postgresql-libs psqlODBC postgresql-docs
не уверен в необходимости последних 2, но на всякий случай поставил
в openSUSE можно все это установить командой под рутом:
zypper install postgresql-server postgresql postgresql-devel postgresql-libs psqlODBC postgresql-docs

Далее устанавливаем ImageMagick, а именно:
пакеты: ImageMagick ImageMagick-devel ImageMagick-extra libMagick++3 libMagick++-devel ImageMagick-doc
так-же под рутом:
zypper install ImageMagick ImageMagick-devel ImageMagick-extra libMagick++3 libMagick++-devel ImageMagick-doc

Теперь установим Erlang. Т.к. в подключенных по умолчанию репозитариях его нет, придется подключить тот, в котором он есть. Идем на http://software.opensuse.org/, выбираем версию дистрибутива, и вводим имя пакета erlang. В результате получим несколько ссылок на различные репозитарии с Erlang'ом, я выбрал: http://download.opensuse.org/repositories/network:/messaging:/amqp/openSUSE_11.3
Теперь нам необходимо подключить этот репозитарий, делаем это под рутом:
zypper addrepo --type rpm-md --keep-packages --refresh --name Erlang "http://download.opensuse.org/repositories/network:/messaging:/amqp/openSUSE_11.3/" Erlang
опция keep-packages не обязательная, она говорит zipper'у не удалять скачанные пакеты после установки.

И систему управления версиями - Mercurial,
это делается командой: zypper install mercurial


2) Устанавливаем и собираем Zotonic

под обычным пользователем у меня это user,
в домашней папке (/home/user):
выполняем команду: hg clone http://zotonic.googlecode.com/hg/ zotonic
ждем пока скачается

Установка завершена, теперь соберем Zotonic:
выполняем команды:
cd zotonic
make

Еще необходимо изменить доступ к файлам командой:
chmod -R +rwx /home/user/zotonic/src/scripts/*


3) Настраиваем PostgreSQL

Редактируем под рутом файл настроек PostgreSQL: /var/lib/pgsql/data/pg_hba.conf
в конце файла все параметры ident комментируем символом #
и вставляем вместо ident параметр trust.
У меня получилось примерно так:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               trust #ident
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust #ident
# IPv6 local connections:
host    all         all         ::1/128               trust #ident
(подробнее...)

И далее под рутом стартуем PestgreSQL - командой: /etc/init.d/postgresql start
или рестартуем, если служба была ранее запущена: /etc/init.d/postgresql restart

Создаем PostgreSQL базу данных для Zotonic:
под рутом запускаем клиента postgres: su - postgres -c /usr/bin/psql
в появившейся консоле выполняем команды:
CREATE USER zotonic WITH PASSWORD 'zotonic';
CREATE DATABASE zotonic WITH OWNER = zotonic ENCODING = 'UTF8';
GRANT ALL ON DATABASE zotonic TO zotonic;
\c zotonic
CREATE LANGUAGE "plpgsql";


4) Создаем новый сайт Zotonic

Находясь в папке, в которую мы установили Zatonic у меня это /home/user/zotonic
и под пользователем, под которым мы это делали в моем случае это user,
выполняем команду: ./bin/zotonic addsite my_new_site
на запрос: ">>> Hit return to proceed..."
просто нажимаем Enter и ждем


5) Запускаем zotonic

Находясь в папке с Zatonic'ом: /home/user/zotonic
запускаем сервер: ./bin/zotonic debug или ./start.sh


Готово, открываем в браузере адрес http://localhost:8000/
тут перечислены действующие сайты, их может быть несколько.
пароль в файле home/user/zotonic/priv/config
моя строчка с паролем: {password,"8cGgF6HV"}].

Далее открываем наш созданный сайт: http://my_new_site:8000/
интерфейс администратора находится: http://my_new_site:8000/admin/
пароль к нему в файле: /home/user/zotonic/priv/sites/my_new_site/config
По умолчанию пользователь:admin пароль:admin
Строки с паролем админа:
% Password for the 'admin' user.
{admin_password, "admin"},



Конфиг nginx'а для работы с Zotonic: INSTALL.nginx
находится в папке: /home/user/zotonic/doc/
там-же есть и другая полезная информация.


Ссылки на официальный мануал:
http://zotonic.com/download
http://zotonic.com/install
и неофициальный:
http://www.16pro.net/blog/ustanovka-zotonic


UPDATE:
Еще пару интересных ссылок:
http://fprog.ru/2010/issue6/dmitry-demeshchuk-node.js-vs-erlang/
http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-3


.

2 комментария:

  1. Доброго времени суток. Делаем всё по вашему тутору, но на этапе ./zotonic addsite получаем "Zotonic is not running. You need to start zotonic first to use this command.", тем не менее система запущена и работает. ЧЯДНТ?

    ОтветитьУдалить
    Ответы
    1. Скачайте последний релиз (0.8.2) или переключитесь на него в гите.

      Удалить