Zope / Plone - быстрый старт

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 11:17, 15 апреля 2010 (править)
Renton (Обсуждение | вклад)
(Создание сайта Plone)
← К предыдущему изменению
Версия 17:03, 5 апреля 2011 (править) (отменить)
Renton (Обсуждение | вклад)

К следующему изменению →
Строка 1: Строка 1:
== Общие сведения == == Общие сведения ==
-Статья представляет собой пошаговое руководство, позволяющие быстро развернуть CMS [http://plone.org/ Plone] с использованием хостинга [http://www.1gb.ru 1Gb.ru].+Статья представляет собой пошаговое руководство, позволяющие быстро развернуть CMS [http://plone.org/ Plone] с использованием хостинга [http://www.1gb.ru 1Gb.ru]. Возможны два варианта развертывания приложения: с использованием версий уже установленных на хостинге и самостоятельная сборка и установка компонентов.<br />
-== Подготовка ==+Фактически, оба способа похожи друг на друга и требуют одинакового уровня понимания процесса установки. Главное отличие второго способа, это возможность использования любых версий приложений и более полный над ними контроль.
 + 
 +== Вариант 1: Использование предустановленных компонентов Zope/Plone ==
 +=== Установка сервера Zope ===
* В разделе личного кабинета /Хостинг HTTP служб/ нужно переключить сайт в режим хостинга Zope. Через 1-3 часа проверить, открыв сайт в обозревателе. Если все в порядке, вы увидите примерно такую страницу: * В разделе личного кабинета /Хостинг HTTP служб/ нужно переключить сайт в режим хостинга Zope. Через 1-3 часа проверить, открыв сайт в обозревателе. Если все в порядке, вы увидите примерно такую страницу:
[[Изображение:Zope.jpg|480px|thumb|center|Zope - страница по-умолчанию]]<br clear="both" /> [[Изображение:Zope.jpg|480px|thumb|center|Zope - страница по-умолчанию]]<br clear="both" />
Строка 45: Строка 48:
easy_install python-openid easy_install python-openid
-== Установка Plone ==+=== Установка Plone ===
-Можно установить свою любую версию Plone (в том числе и Zope), либо использовать версию, предустановленную на сервере (рекомендуется).+
-=== Собственная версия === 
-{в процессе написания} 
- 
-=== Предустановленная версия === 
* Скопируйте файлы Plone в свой <code>instance</code> командой: * Скопируйте файлы Plone в свой <code>instance</code> командой:
/usr/sbin/zprod-manager add /usr/share/zproduct/plone-3.* ~/http /usr/sbin/zprod-manager add /usr/share/zproduct/plone-3.* ~/http
Строка 57: Строка 55:
~/init.d/zopectl restart ~/init.d/zopectl restart
-== Создание сайта Plone ==+=== Создание сайта Plone ===
* Заходим в панель управления Zope: <nowiki>http://</nowiki>'''название_вашего_сайта''':'''zope_порт'''/manage, используя для авторизации параметры доступа по FTP. * Заходим в панель управления Zope: <nowiki>http://</nowiki>'''название_вашего_сайта''':'''zope_порт'''/manage, используя для авторизации параметры доступа по FTP.
'''zope_порт''' - порт, на котором работает Zope-даемон, указан в разделе кабинета /Хостинг HTTP служб/ '''zope_порт''' - порт, на котором работает Zope-даемон, указан в разделе кабинета /Хостинг HTTP служб/
Строка 71: Строка 69:
Установка завершена, Plone сайт должен быть доступен по вашему основному URL адресу.<br /> Установка завершена, Plone сайт должен быть доступен по вашему основному URL адресу.<br />
Демо версия доступна по адресу http://test-l13-zope.1gb.ru/ Демо версия доступна по адресу http://test-l13-zope.1gb.ru/
 +
 +== Вариант 2: Самостоятельная установка компонентов Zope/Plone ==
 +=== Установка сервера Zope ===
 +Аналогично варианту 1. По сути, этот пункт нам нужен только для того, чтобы в среде хостинга 1Gb.ru сайт был сконфигурирован в режим службы Zope (выделен порт, включен мониторинг).
 +
 +=== Подготовка окружения, установка вспомогательных программ ===
 +
 +* Создаем в корне домашнего каталога файл <code>.pydistutils.cfg</code> для настройки путей инсталляции модулей:
 + [install]
 + prefix = $HOME/python
 +
 + [easy_install]
 + install_dir = $HOME/python/lib64/'''python2.6'''/site-packages
 +* Для настройки переменных <code>PATH</code>, <code>PYTHONPATH</code> добавьте строки:
 + export PATH=$PATH:$HOME/python/bin:$HOME/python/lib64/'''python2.6'''/site-packages
 + export PYTHONPATH=$PYTHONPATH:$HOME/python/lib64/'''python2.6'''/site-packages
 +в ваш <code>~/.bashrc '''в начало файла'''.</code>
 +
 +* Выполняем команду:
 + source ~/.bashrc
 +для того, чтобы сделанные изменения вступили в силу.
 +
 +* Создаем различные каталоги:
 + mkdir -p ~/src ~/python/lib64/'''python2.6'''/site-packages
 +* Симлинк:
 + cd ~/python; ln -s lib64 lib; cd
 +
 +=== Установка Plone ===
 +Процесс установки будет описан на основе использования unified-установщика, но, безусловно, все то же самое можно установить по отдельности из исходных текстов.
 +
 +* Из автоматически установленного Zope берем сетевые настройки:
 + awk '/address 81\./ {print $2}' ~/http/etc/zope.conf
 +результатом команды должен быть '''IP:PORT''', например, '''81.176.228.2:48014''', и запоминаем их где-нибудь.
 +И затем очищаем каталог http:
 + rm -rfv ~/http && mkdir ~/http
 +
 +* С сайта http://plone.org скачиваем unified архив Plone для Linux/BSD/Unix:
 + cd ~/src; wget http://launchpad.net/plone/4.0/4.0.4/+download/Plone-4.0.4-UnifiedInstaller.tgz
 +распаковываем его:
 + tar xvfz Plone-*.tgz
 +
 +* Конфигурируем и устанавливаем Plone:
 + cd Plone-*
 + ./install.sh --password='''ВАШ_ПАРОЛЬ''' --user='''FTP_ПОЛЬЗОВАТЕЛЬ''' --with-python=/usr/bin/python2.6 --target=$HOME/http '''zeo'''
 +
 +- '''ВАШ_ПАРОЛЬ''' - пароль в администратора Zope/Plone, может быть любым<br />
 +- '''FTP_ПОЛЬЗОВАТЕЛЬ''' - ftp пользователь, вида w_..., например, <code>w_test-l19-plone4_050c3c3c</code><br />
 +- '''zeo''' - установка в режиме клиент-сервер, подробнее см. [http://plone.org/documentation/manual/installing-plone/installing-on-linux-unix-bsd/to-zeo-or-not-to-zeo тут]<br />
 +Установка занимает несколько минут, надо дождаться.
 +
 +Сообщение об успешной установке будет примерно таким:
 + #####################################################################
 + ###################### Installation Complete ######################
 +
 + Plone successfully installed at ...
 + ...
 + Use the account information below to log into the Zope Management Interface
 + The account has full 'Manager' privileges.
 +
 + Username: admin
 + Password: '''ВАШ_ПАРОЛЬ'''
 +
 +=== Настройка Plone ===
 +* Редактируем файл <code>~/http/zeocluster/buildout.cfg</code> с помощью команды:
 + sed -i 's/^zeo-address .*$/zeo-address = 127.0.0.1:'''ВАШ_ПОРТ'''/;s/http-address .*$/http-address = '''ВАШ_IP''':'''ВАШ_ПОРТ'''/;/client2/d' ~/http/zeocluster/buildout.cfg
 +
 +'''либо''' с помощью вашего любимого текствого редактора, в файле <code>buildout.cfg</code> нужно изменить директивы:
 +
 + # ZEO Server
 + zeo-address = 127.0.0.1:'''PORT'''
 + # Zope client 1
 + http-address = '''IP''':'''PORT'''
 +на то, что вы сохранили ранее.
 +
 +Закомментировать строку <code>client2-address</code>:
 + # Zope client 2
 + # '''client2-address = 8081'''
 +
 +И строку <code>client2</code> из секции <code>parts</code>:
 +
 + parts =
 + zeoserver
 + client1
 + '''client2'''
 + zopepy
 + zopeskel
 + unifiedinstaller
 + backup
 + chown-zeo
 +
 +* Файл <code>~/http/zeocluster/base.cfg</code> отредактировать командой:
 + sed -i '/\[client2\]/,/^$/s/^/# /' base.cfg
 +
 +'''либо''' с помощью редактора закомментировать строки:
 +[client2]
 + # a copy of client1, except adjusted address and var location
 + <= client1
 + http-address = ${buildout:client2-address}
 + event-log = ${buildout:directory}/var/client2/event.log
 + z2-log = ${buildout:directory}/var/client2/Z2.log
 + pid-file = ${buildout:directory}/var/client2/client2.pid
 + lock-file = ${buildout:directory}/var/client2/client2.lock
 +
 +* Сохраняем конфигурацию:
 + cd ~/http/zeocluster && ./bin/buildout
 +
 +* Создаем симлинк для автозапуска Plone:
 + cd ~/init.d && ln -sf ../http/zeocluster/bin/plonectl zopectl
 +
 +Через минуту приложение запустится автоматически, либо можно сразу запустить его вручную:
 + ~/init.d/zopectl start
 + zeoserver: .
 + daemon process started, pid=32576
 + client1: .
 + daemon process started, pid=788
 +
 +* Можно зайти на сайт <nowiki>http://ваш_сайт</nowiki>:'''ВАШ_ПОРТ'''
 +[[Изображение:Plone4 default.jpg|600px|thumb|center|Plone - стартовая страница]]<br clear="both" />
 +
 +=== Создание сайта Plone ===
 +* Откройте сайт <nowiki>http://ваш_сайт</nowiki>:'''ВАШ_ПОРТ''' и нажмите кнопку "Создать новый Плон сайт"
 +[[Изображение:Plone4 default add.jpg|600px|thumb|center|Plone - создание сайта]]<br clear="both" />
 +
 +* Установите параметры сайта:
 +[[Изображение:Plone4 default create.jpg|600px|thumb|center|Plone - параметры]]<br clear="both" />
 +
 +'''ВАЖНО''': '''идентификатор пути''' - '''URL вашего сайта, без http, без www'''. Например, '''test-l19-plone4.1gb.ru'''
 +Все остальное - произвольно.
 +
 +* После нажатия кнопки, вы перейдете на главную страницу вашего сайта:
 +[[Изображение:Plone4 default done.jpg|600px|thumb|center|Plone - сайт готов к работе]]<br clear="both" />
 +
 +Также на сайт можно зайти по нормальному адресу (без указания порта). Демо версия доступна тут: http://test-l19-plone4.1gb.ru/
== Если ничего не работает == == Если ничего не работает ==

Версия 17:03, 5 апреля 2011

Содержание

Общие сведения

Статья представляет собой пошаговое руководство, позволяющие быстро развернуть CMS Plone с использованием хостинга 1Gb.ru. Возможны два варианта развертывания приложения: с использованием версий уже установленных на хостинге и самостоятельная сборка и установка компонентов.

Фактически, оба способа похожи друг на друга и требуют одинакового уровня понимания процесса установки. Главное отличие второго способа, это возможность использования любых версий приложений и более полный над ними контроль.

Вариант 1: Использование предустановленных компонентов Zope/Plone

Установка сервера Zope

  • В разделе личного кабинета /Хостинг HTTP служб/ нужно переключить сайт в режим хостинга Zope. Через 1-3 часа проверить, открыв сайт в обозревателе. Если все в порядке, вы увидите примерно такую страницу:
Zope - страница по-умолчанию
Zope - страница по-умолчанию

Zope готов к работе.

Подготовка окружения, установка вспомогательных программ

Т.к. Zope/Plone требуют наличия языка Python версии 2.4, то все дополнительные модули необходимо будет установить именно с учетом этой версии в свой домашний каталог.

  • Создаем в корне домашнего каталога файл .pydistutils.cfg для настройки путей инсталляции модулей:
[install]
prefix = $HOME/python

[easy_install]
install_dir = $HOME/python/lib64/python2.4/site-packages
  • Для настройки переменных PATH, PYTHONPATH добавьте строки:
export PATH=$PATH:$HOME/python/bin:$HOME/python/lib64/python2.4/site-packages
export PYTHONPATH=$PYTHONPATH:$HOME/python/lib64/python2.4/site-packages

в ваш ~/.bashrc в начало файла.

  • Выполняем команду:
source ~/.bashrc

для того, чтобы сделанные изменения вступили в силу.

  • Создаем различные каталоги:
mkdir -p ~/src ~/python/lib64/python2.4/site-packages
  • Симлинк:
cd ~/python; ln -s lib64 lib; cd
  • Устанавливаем Setuptools

С сайта http://pypi.python.org/pypi/setuptools#downloads скачиваем egg пакет для версии Python 2.4,

cd ~/src && wget http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg#md5=bd639f9b0eac4c42497034dec2ec0c2b

установка:

/bin/bash setuptools-0.6c11-py2.4.egg --prefix=$HOME/python

Для того, чтобы запускался наш easy_install, добавляем псевдоним команды в .bashrc:

echo 'alias easy_install="$HOME/python/bin/easy_install"' >> ~/.bashrc && source ~/.bashrc
  • Установка дополнительных модулей необходимых для запуска Plone в стандартной конфигурации:

PIL:

cd ~/src && wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
cd Imaging-1.1.7 && python2.4 setup.py install

OpenID:

easy_install python-openid

Установка Plone

  • Скопируйте файлы Plone в свой instance командой:
/usr/sbin/zprod-manager add /usr/share/zproduct/plone-3.* ~/http
  • Перезапустите Zope:
~/init.d/zopectl restart

Создание сайта Plone

  • Заходим в панель управления Zope: http://название_вашего_сайта:zope_порт/manage, используя для авторизации параметры доступа по FTP.

zope_порт - порт, на котором работает Zope-даемон, указан в разделе кабинета /Хостинг HTTP служб/

Параметры службы
Параметры службы

  • Из выпадающего меню выбираем "Plone site" -> ADD
Добавление Plone сайта
Добавление Plone сайта

  • Поля конфигурации Plone заполняем следующим образом:
ID - название_вашего_сайта
Title - любой текст (это то, что будет отображаться в HTML тэге title)

-> ADD Plone site

Параметры Plone сайта
Параметры Plone сайта

Установка завершена, Plone сайт должен быть доступен по вашему основному URL адресу.
Демо версия доступна по адресу http://test-l13-zope.1gb.ru/

Вариант 2: Самостоятельная установка компонентов Zope/Plone

Установка сервера Zope

Аналогично варианту 1. По сути, этот пункт нам нужен только для того, чтобы в среде хостинга 1Gb.ru сайт был сконфигурирован в режим службы Zope (выделен порт, включен мониторинг).

Подготовка окружения, установка вспомогательных программ

  • Создаем в корне домашнего каталога файл .pydistutils.cfg для настройки путей инсталляции модулей:
[install]
prefix = $HOME/python

[easy_install]
install_dir = $HOME/python/lib64/python2.6/site-packages
  • Для настройки переменных PATH, PYTHONPATH добавьте строки:
export PATH=$PATH:$HOME/python/bin:$HOME/python/lib64/python2.6/site-packages
export PYTHONPATH=$PYTHONPATH:$HOME/python/lib64/python2.6/site-packages

в ваш ~/.bashrc в начало файла.

  • Выполняем команду:
source ~/.bashrc

для того, чтобы сделанные изменения вступили в силу.

  • Создаем различные каталоги:
mkdir -p ~/src ~/python/lib64/python2.6/site-packages
  • Симлинк:
cd ~/python; ln -s lib64 lib; cd

Установка Plone

Процесс установки будет описан на основе использования unified-установщика, но, безусловно, все то же самое можно установить по отдельности из исходных текстов.

  • Из автоматически установленного Zope берем сетевые настройки:
awk '/address 81\./ {print $2}' ~/http/etc/zope.conf

результатом команды должен быть IP:PORT, например, 81.176.228.2:48014, и запоминаем их где-нибудь. И затем очищаем каталог http:

rm -rfv ~/http && mkdir ~/http
  • С сайта http://plone.org скачиваем unified архив Plone для Linux/BSD/Unix:
cd ~/src; wget http://launchpad.net/plone/4.0/4.0.4/+download/Plone-4.0.4-UnifiedInstaller.tgz

распаковываем его:

tar xvfz Plone-*.tgz
  • Конфигурируем и устанавливаем Plone:
cd Plone-*
./install.sh --password=ВАШ_ПАРОЛЬ --user=FTP_ПОЛЬЗОВАТЕЛЬ --with-python=/usr/bin/python2.6 --target=$HOME/http zeo

- ВАШ_ПАРОЛЬ - пароль в администратора Zope/Plone, может быть любым
- FTP_ПОЛЬЗОВАТЕЛЬ - ftp пользователь, вида w_..., например, w_test-l19-plone4_050c3c3c
- zeo - установка в режиме клиент-сервер, подробнее см. тут
Установка занимает несколько минут, надо дождаться.

Сообщение об успешной установке будет примерно таким:

#####################################################################
######################  Installation Complete  ######################

Plone successfully installed at ...
...
Use the account information below to log into the Zope Management Interface
The account has full 'Manager' privileges.

  Username: admin
  Password: ВАШ_ПАРОЛЬ

Настройка Plone

  • Редактируем файл ~/http/zeocluster/buildout.cfg с помощью команды:
sed -i 's/^zeo-address .*$/zeo-address = 127.0.0.1:ВАШ_ПОРТ/;s/http-address .*$/http-address = ВАШ_IP:ВАШ_ПОРТ/;/client2/d' ~/http/zeocluster/buildout.cfg

либо с помощью вашего любимого текствого редактора, в файле buildout.cfg нужно изменить директивы:

# ZEO Server
zeo-address = 127.0.0.1:PORT
# Zope client 1
http-address = IP:PORT

на то, что вы сохранили ранее.

Закомментировать строку client2-address:

# Zope client 2
# client2-address = 8081

И строку client2 из секции parts:

parts =
    zeoserver
    client1
    client2
    zopepy
    zopeskel
    unifiedinstaller
    backup
    chown-zeo
  • Файл ~/http/zeocluster/base.cfg отредактировать командой:
sed -i '/\[client2\]/,/^$/s/^/# /' base.cfg

либо с помощью редактора закомментировать строки: [client2]

# a copy of client1, except adjusted address and var location
<= client1
http-address = ${buildout:client2-address}
event-log = ${buildout:directory}/var/client2/event.log
z2-log    = ${buildout:directory}/var/client2/Z2.log
pid-file  = ${buildout:directory}/var/client2/client2.pid
lock-file = ${buildout:directory}/var/client2/client2.lock
  • Сохраняем конфигурацию:
cd ~/http/zeocluster && ./bin/buildout
  • Создаем симлинк для автозапуска Plone:
cd ~/init.d && ln -sf ../http/zeocluster/bin/plonectl zopectl

Через минуту приложение запустится автоматически, либо можно сразу запустить его вручную:

~/init.d/zopectl start
 zeoserver: .
 daemon process started, pid=32576
 client1: .
 daemon process started, pid=788
  • Можно зайти на сайт http://ваш_сайт:ВАШ_ПОРТ
Plone - стартовая страница
Plone - стартовая страница

Создание сайта Plone

  • Откройте сайт http://ваш_сайт:ВАШ_ПОРТ и нажмите кнопку "Создать новый Плон сайт"
Plone - создание сайта
Plone - создание сайта

  • Установите параметры сайта:
Plone - параметры
Plone - параметры

ВАЖНО: идентификатор пути - URL вашего сайта, без http, без www. Например, test-l19-plone4.1gb.ru Все остальное - произвольно.

  • После нажатия кнопки, вы перейдете на главную страницу вашего сайта:
Plone - сайт готов к работе
Plone - сайт готов к работе

Также на сайт можно зайти по нормальному адресу (без указания порта). Демо версия доступна тут: http://test-l19-plone4.1gb.ru/

Если ничего не работает

Основным средством для понимания того, что происходит с Zope, являются лог-файлы. Найти их можно в каталоге ~/http/log, либо обратитесь в поддержку https://www.1gb.ru/about_support.php

Ссылки

Личные инструменты