В данной статье описан процесс установки 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 заканчивается. Сервер готов к работе. Далее мы можем установить в среду дополнительные пакеты для различных целей и сделать небольшие дополнительные настройки. Например, могут потребоваться следующие библиотеки:
- работа с СУБД Oracle (cx_Oracle);
- работа с графическими объектами (Pillow);
- создание документов Excel (XLSXwriter);
- создание QR-кода (qrcode).
cx_Oracle
- Для соединения с СУБД Oracle в операционной системе должны быть установлены библиотеки клиентского подключения. Простейший вариант – взять с сайта Oracle архивы Instant Client (instantclient-basic-*.zip – основные файлы OCI) и распаковать их в директорию, где библиотеки и будут располагаться.
- Устанавливаем ORACLE_HOME и расширяем переменную PATH: путь к директории, где находятся файлы instanceclient должен присутствовать в переменной PATH. На эту же директорию должна указывать переменная окружения ORACLE_HOME.
- Устанавливаем пакет 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>