Установка Zope 2 на CloudLinux

В данной статье описан процесс установки Zope 2 на примере версии 2.13.29 в облачной ОС CloudLinux с python версии 2.7. Установка выполняется в отдельную виртуальную среду virtualenv, являющейся модулем python.

Основные программы

Python

Zope 2 требует для установки наличие python версии не выше 2.7. Обычно, python 2.7 в CloudLinux установлен по-умолчанию. Установка дополнительных пакетов в большинстве случаев выполняется утилитой PyPi. Если утилита в системе недоступна, ее можно установить локально.

Следующий пункт описывает локальную установку PyPi в случае ее отсутствия в системе. Если утилита есть, то данный пункт можно пропустить.

Локальная установка PyPi

Скачиваем pip для версии 2.7: 

$ wget https://bootstrap.pypa.io/pip/2.7/get-pip.py

Устанавливаем pip в локальную директорию пользователя:  

$ python2.7 get-pip.py --user 

Скрипт устанавливает необходимые файлы в директорию. ~/.local/bin. Если директория не прописана в PATH, ее необходимо добавить:

$ export PATH=$PATH:~/.local/bin

Virtualenv

Если пакет virtualenv уже установлен в системе, то этот пункт можно пропустить.

Устанавливаем пакет виртуальной среды virtualenv:

$ pip install virtualenv

Zope2

Создаем виртуальное окружение и устанавливаем в него пакеты Zope2.

Создаем директорию, где будет проводиться установка  всей структуры Zope. В данном примере директория server_dir.

$ mkdir server_dir

Среда будет разворачиваться в поддиректорию, указанную в качестве параметра при запуске утилиты virtualenv. В примере ниже указана директория Zope2.

$ cd server_dir 
$ virtualenv --no-site-packages Zope2
$ cd Zope2/bin/

Далее обновляем утилиту pip до актуальной версии, если имеющаяся версия устарела:

$ ./pip install --upgrade pip

И устанавливаем некоторые пакеты, необходимые для установки Zope.

Пакет PasteDeploy, необходимый для WSGI-редактора:

$ ./pip install PasteDeploy

Дополнительный пакет middleware для работы WSGI:

$ ./pip install Paste

Устанавливаем Zope2:

$ ./pip install --no-binary zc.recipe.egg -r https://zopefoundation.github.io/Zope/releases/2.13.29/requirements.txt

Zope Instance

Создаем Zope Instance. Сервер Zope создается утилитой mkzopeinstance. В процессе создания необходимо ввести основные параметры, указанные ниже (в данном примере сервер создается в директории c:\Zope-Instances\Instance1):

$ cd Zope2\bin
$ mkzopeinstance
Directory: ~/server_dir/instance1
Username: admin
Password: password
Verify password: password

Запуск серверного процесса Zope

Серверный процесс обычно запускается от имени пользователя, под которым был установлен Zope (не root). В следующем примере запуска процесса в качестве пользователя используется zopeuser: uid=1000(zopeuser) gid=1000(zopeuser) группы=1000(zopeuser),10(wheel).

/usr/bin/su - zopeuser && /home/zopeuser/server_dir/instance1/bin/zopectl -d -u 1000 start

Остановка серверного процесса Zope

Остановка процесса выполняется аналогично запуску:

/usr/bin/su - zopeuser && /home/zopeuser/server_dir/instance1/bin/zopectl stop

Дополнительные пакеты

На этом моменте основная установка веб-сервера Zope заканчивается. Сервер готов к работе. Далее мы можем установить в среду дополнительные пакеты для различных целей и сделать небольшие дополнительные настройки. Например, могут потребоваться следующие библиотеки:

  1. работа с СУБД Oracle (cx_Oracle);
  2. работа с графическими объектами (Pillow);
  3. создание документов Excel (XLSXwriter);
  4. создание QR-кода (qrcode).

cx_Oracle

  1. Для соединения с СУБД Oracle в операционной системе должны быть установлены библиотеки клиентского подключения. Простейший вариант – взять с сайта Oracle архивы Instant Client (instantclient-basic-*.zip – основные файлы OCI) и распаковать их в директорию, где библиотеки и будут располагаться.
  2. Устанавливаем ORACLE_HOME и расширяем переменную PATH: путь к директории, где находятся файлы instanceclient должен присутствовать в переменной PATH. На эту же директорию должна указывать переменная окружения ORACLE_HOME.
  3. Устанавливаем пакет cx_Oracle:
$ pip install cx_Oracle==7.3

Pillow

Установка пакета pillow:

$ pip install Pillow

XLSXWriter

Установка пакета XlsxWriter:

$ pip install XlsxWriter

Qrcode

Установка пакета qrcode:

$ pip install qrcode

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

Настройки сервера Zope определяются в файле конфигурации, который в данном примере находится по адресу: c:\Zope-Instances\Instance1\etc\zope.conf.

Определение кодировки веб-страниц

За это отвечает параметр default-zpublisher-encoding. Находим, снимаем комментарий и устанавливаем желаемое значение, например:

default-zpublisher-encoding koi8-r

Установка дополнительных модулей

Если мы планируем устанавливать в среду Zope дополнительные продукты (products), то потребуется раскомментировать параметр enable-product-installation. Устанавливаем следующее значение:

enable-product-installation on

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

Изменить порт веб-сервера. Находим описание протоколов сервера: <http-server>. По-умолчанию определен веб-сервер, работающий по порту 8080. Можем изменить существующие настройки или добавить дополнительный порт прослушивания (например 80):

<http-server>
  address 80
</http-server>
Close Menu