Установка и использование Zope 2 и PostgreSQL на Ubuntu 13.10

Zope 2 — это мощный и простой в использовании веб-фреймворк, который в данном случае используется как фронт-энд PostgreSQL.

Работая совместно, данные программы позволяют быстро разрабатывать высококачественные приложения с базами данных с интерфейсом HTML/XML в масштабируемой и безопасной среде.

Несмотря на простоту в использовании данной системы, процесс ее установки, как правило, запутанный, поскольку в Debian/Ubuntu нет ни одного пакета, который содержит и устанавливает все необходимые компоненты. Данное руководство написано, чтобы заполнить этот пробел.

Основная сложность инсталляции Zope +PostgreSQL — это необходимость использования адптера, соединяющего эти два компонента. Psycopg2 считается быстрым и надежным адаптером баз данных, но может потребовать устранения некоторых неисправностей в процессе установки.

Проверено: процедура установки, описанная ниже, действительна для версий Zope, PostgreSQL, PsycopgDA, ZPsycopgDA.

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

Установка PostgreSQL

Прежде чем устанавливать пакеты Debian или Ubuntu, нужно войти в систему как root и обновить репозиторий пакетов:

sudo su
apt-get update

Если нужно распаковать некоторые пакеты, связанные с Zope:

apt-get install zip

Затем просто установите PostgreSQL (в данной статье используется версия 9.1.12):

apt-get install postgresql

Установка Zope

Сначала установите virtualenv, который изолирует инсталляцию Zope от остальной среды Python на данномVPS:

apt-get install python-virtualenv

Затем создайте каталог в /home

mkdir /home/server
cd /home/server

Создайте виртуальную среду Python для инсталляции Zope:

virtualenv --no-site-packages my_zope
cd my_zope

Активируйте виртуальную среду:

source bin/activate

Установите пакет python-dev, который понадобится для компиляции Zope из исходного кода:

apt-get install python-dev

В браузере найдите номер последней версии Zope. Не нужно загружать ее, просто запишите ее номер, он пригодится в дальнейшем:

http://download.zope.org/Zope2/index/

Затем установите Zope (при необходимости замените версию 2.13.21 более современной):

pip install --pre
--index-url=http://download.zope.org/Zope2/index/2.13.21/ Zope2

Теперь все готово для создания экземпляра Zope. В данной статье в качестве каталога Zope используется /home/server/zope:

mkzopeinstance

Перейдите в этот каталог:

cd /home/server/zope

Передайте права на него пользователю postgres, что упростит процесс подключения Zope к PostgreSQL:

chown -R postgres:postgres *

Теперь в конфигурационном файле zope нужно указать, что Zope необходимо запускать через учетную запись postgres (чтобы открыть файл, используйте любой текстовый редактор, в статье это vi):

vi etc/zope.conf

Найдите директиву effective-user, раскомментируйте ее и задайте значение postgres. Строка должна выглядеть так:

effective-user postgres

Установка Psycopg2 и ZPsycopgDA

Установите все необходимые пакеты:

apt-get install libpq-dev

Загрузите пакет Psycopg, найдя последнюю версию на http://www.init.d.org (при необходимости измените номер версии):

wget http://initd.org/psycopg/tarballs/PSYCOPG-2-5/psycopg2-2.5.2.tar.gz

Чтобы распаковать Psycopg:

tar xvfz psycopg*gz

Установите psycopg2:

cd psycopg2*
python setup.py build
python setup.py install

Далее нужно внести ZPsycopgDA в каталог Zope под названием Products. Это соединит Zope и Psycopg2.

Загрузите последнюю версию ZPsycopgDA (при необходимости измените номер версии) с этого сайта:

https://pypi.python.org/pypi/ZPsycopgDA/
https://pypi.python.org/packages/source/Z/ZPsycopgDA/ZPsycopgDA-2.4.6.zip#md5=c76a0e1c8708154dcf07d1362ea8c432

Установите ZPsycopgDA, распаковав и переместив каталог в каталог Zope (то есть, /home/server/zope/Products):

unzip ZPsycopgDA*zip
cd ZPsycopgDA*
mv ZPsycopgDA /home/server/zope/Products

Установите Zope ZSQLMethods:

easy_install Products.ZSQLMethods

Запуск Zope

/home/server/zope/bin/zopectl start

Создание БД

Теперь нужно создать базу данных. Откройте учетную запись postgres.

su postgres
createdb my_first_database

Используйте веб-браузер для подключения к Zope и базе данных.

point your web browser to ip.address.of.server:8080, the Zope management interface will be displayed
Log-in using the credentials your provided during mkzopeinstance
select Z Psycopg 2 Database Connection from the drop-down menu
for connection string, use the following: dbname=my_first_database user=postgres

Готово!

Теперь можно приступать к созданию методов SQL для разработки таблиц, выполнения запросов и т.д.

Напишите SQL путем добавления объектов Z SQL Method (в выпадающем меню) в интерфейсе управления Zope.

Tags: , ,