Как установить OpenERP 6 на сервер Ubuntu 10.04 LTS
Краткое содержание
- Требования и подготовка сервера
- Создание системного пользователя для OpenERP
- Установка и настройка PostgreSQL
- Установка зависимостей Python и кода OpenERP
- Пример конфигурационного файла и запуск сервера
- Резервное копирование, обновление, отладка и рекомендации по безопасности
Введение
Это руководство было основано на оригинальном руководстве и адаптировано для читателей, которые предпочитают ручную установку OpenERP 6 на Ubuntu 10.04 LTS. Ручная установка даёт больше контроля над версиями, обновлениями и пользовательскими модулями. Ubuntu 10.04 уже устарела и не получает обновлений безопасности — по возможности планируйте миграцию на более современную платформу.
Важно: перед установкой убедитесь, что у вас есть резервные копии данных и план отката.
Основные цели установки
- Доступность только через зашифрованные каналы (SSL) для GTK-клиента, веб-интерфейса, WebDAV и CalDAV
- Простота обновления и кастомизации без «черного ящика» пакетов
Предварительные требования
- Сервер с Ubuntu 10.04 LTS (желательно минимальная установка)
- Доступ по SSH с учётной записью пользователя с sudo-привилегиями
- Доступ в интернет для загрузки пакетов и исходников
Важно: для продакшена рекомендуется настроить брандмауэр, ограничить SSH доступ по ключам и использовать VPN или проксирование при необходимости.
Шаг 1. Сборка сервера и базовая защита
Установите минимальную систему и затем установите OpenSSH и базовый инструмент защиты от грубой силы (например, denyhosts). Это простые шаги, доступные сразу после первого перезагрузки сервера.
sudo apt-get install openssh-server denyhosts
Затем обновите систему до последних патчей:
sudo apt-get update
sudo apt-get dist-upgrade
Рекомендуется перезагрузить сервер и проверять доступность по SSH.
Примечание: настройка SSH на основе ключей значительно повышает безопасность по сравнению с паролями.
Шаг 2. Создаём системного пользователя OpenERP
Создайте системного пользователя без интерактивного входа, чей домашний каталог будет /opt/openerp — это место, куда поместим код приложения.
sudo adduser --system --home=/opt/openerp --group openerp
Пояснение: системный пользователь обычно имеет UID < 1000, оболочку /bin/false и логины отключены. /opt/openerp будет создан автоматически.
Шаг 3. Установка и настройка PostgreSQL
Установите сервер базы данных PostgreSQL:
sudo apt-get install postgresql
Переключитесь на пользователя postgres и создайте роль/пользователя для OpenERP (вам будет предложено ввести пароль):
sudo su - postgres
createuser --createdb --username postgres --no-createrole --pwprompt openerp
После создания роли выйдите:
exit
Совет: запомните (или безопасно сохраните) пароль, введённый для роли openerp — он будет использован в конфигурации OpenERP.
Безопасность: продумайте ограничения доступа к PostgreSQL (pg_hba.conf) — по умолчанию связь локальная, но в продуктивной среде стоит ограничить доступ по IP и использовать SSL для внешних подключений.
Шаг 4. Установка Python-библиотек, необходимых серверу
Установите основные Python-пакеты, которые требуются OpenERP 6 для работы сервера и генерации отчётов:
sudo apt-get install python python-psycopg2 python-reportlab \
python-egenix-mxdatetime python-tz python-pychart python-mako \
python-pydot python-lxml python-vobject python-yaml python-dateutil \
python-pychart python-pydot python-webdav
Если планируете использовать веб-клиент, установите дополнительные библиотеки:
sudo apt-get install python-cherrypy3 python-formencode python-pybabel \
python-simplejson python-pyparsing
Примечание: пакеты в репозитории Ubuntu 10.04 могут быть устаревшими. Для критичных задач рассмотрите изоляцию окружения (виртуальные окружения, chroot или контейнеры) или обновление ОС.
Шаг 5. Загрузка и установка кода OpenERP
Скачайте исходники в домашнюю папку (или любую другую, где вы работаете):
wget http://www.openerp.com/download/stable/source/openerp-server-6.0.2.tar.gz
Веб-клиент (опционально):
wget http://www.openerp.com/download/stable/source/openerp-web-6.0.2.tar.gz
Распакуйте их в /opt/openerp и присвойте владельца openerp:
cd /opt/openerp
sudo tar xvf ~/openerp-server-6.0.2.tar.gz
sudo tar xvf ~/openerp-web-6.0.2.tar.gz
Измените владельца файлов и сгруппируйте каталоги под понятные имена:
sudo chown -R openerp: *
sudo cp -a openerp-server-6.0.2 server
sudo cp -a openerp-web-6.0.2 web
Подход: используем копирование вместо символических ссылок, чтобы обновление представляло собой простое перезаписывание файлов и при этом локальные настройки/модули оставались в каталоге server/bin/addons.
Шаг 6. Пример конфигурации OpenERP и запуск
Ниже приведён пример конфигурационного файла, добрый для начальной настройки. Сохраните его как /etc/openerp-server.conf и защитите права доступа.
[options]
; This is the password that allows database operations
; Will be written to by the server when password is changed
; !! Keep this file secure !!
; admin_passwd = admin
root_path = /opt/openerp/server/bin
without_demo = False
verbose = False
; Database settings
db_user = openerp
db_password = ********
; Please uncomment the following line *after* you have created the
; database. It activates the auto module check on startup.
; db_name = False
db_port = False
db_host = False
db_maxconn = 64
; Networking Settings
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069
netrpc = True
netrpc_interface =
netrpc_port = 8070
; Uncomment these for xml-rpc over SSL
;xmlrpcs = True
;xmlrpcs_interface =
;xmlrpcs_port = 8071
;secure_pkey_file = /etc/ssl/openerp/server.pkey
;secure_cert_file = /etc/ssl/openerp/server.crt
; Log settings
logfile = /var/log/openerp/openerp-server.log
syslog = False
logrotate = True
log_level = info
; False prevents the client displaying the list of databases
list_db = True
addons_path = /opt/openerp/server/bin/addons
demo = {}
soap = False
reportgz = False
translate_modules = ['all']
; Static http parameters
static_http_enable = False
static_http_document_root = /var/www/html
static_http_url_prefix = /
; Outbound email configuration
;smtp_user = [email protected]
;email_from = "OpenERP Support" <[email protected]>
;smtp_port = 25
;smtp_password = ********
;smtp_ssl = True
;smtp_server = mail.example.com
Защитите файл конфигурации и назначьте владельца:
sudo chown openerp:root /etc/openerp-server.conf
sudo chmod 640 /etc/openerp-server.conf
Отредактируйте db_password, указав пароль, который вы задали на этапе создания пользователя PostgreSQL:
sudo nano /etc/openerp-server.conf
Проверочный запуск (временно от имени текущего пользователя):
/opt/openerp/server/bin/openerp-server.py --config=/etc/openerp-server.conf
Нажмите Ctrl+C, чтобы остановить тестовый запуск. Для корректной работы сервер должен запускаться от пользователя openerp — ниже приведены примеры автозапуска.
Запуск как служба (Upstart для Ubuntu 10.04)
Пример простого Upstart-конфигурационного файла /etc/init/openerp.conf:
description "OpenERP server"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid openerp
setgid openerp
env PATH=/opt/openerp/server/bin:/usr/bin:/bin
exec /opt/openerp/server/bin/openerp-server.py --config=/etc/openerp-server.conf
Сохраните файл и управляйте службой командами:
sudo start openerp
sudo stop openerp
sudo status openerp
Альтернатива: если вы предпочитаете SysV-скрипт, можно использовать init.d-скрипт, обеспечив корректные start/stop действия и запуск от пользователя openerp.
Резервное копирование и восстановление
Резервное копирование PostgreSQL (рекомендуется делать ежедневно и перед апгрейдом):
- Для конкретной базы данных:
pg_dump -U openerp -F c -b -v -f /var/backups/openerp-db.dump <имя_базы>
- Для всех баз (полный дамп):
pg_dumpall -U openerp > /var/backups/openerp-all.sql
Восстановление из дампа:
pg_restore -U openerp -d <имя_новой_бд> /var/backups/openerp-db.dump
Совет: тестируйте процесс восстановления регулярно на тестовой машине.
Обновление OpenERP (процесс и советы)
Подход, используемый в этом руководстве, предполагает скачивание новой версии исходников в /opt/openerp, проверку на тестовой среде и затем перезапись папки server/ web/ командами cp -a. Рекомендуемый порядок:
- Скопируйте текущую рабочую директорию на тестовую машину.
- Распакуйте новую версию в /opt/openerp (как отдельную папку, напр. openerp-server-6.0.3).
- Протестируйте совместимость пользовательских модулей и шаблонов отчётов.
- Выполните backup БД и файлов.
- Переключите/перезапишите production server: sudo cp -a openerp-server-6.0.3 server
- Перезапустите службу и проверяйте логи.
Если что-то идёт не так — откат возможен, восстановив файлы и базу из резервной копии.
Отладка и типичные проблемы
- Сервер не запускается — проверьте права на конфигурационный файл (/etc/openerp-server.conf) и владельца процессов. Убедитесь, что службы запускаются под пользователем openerp.
- Ошибка подключения к БД — проверьте db_user и db_password в конфиге; проверьте настройки в /etc/postgresql/*/pg_hba.conf и доступ локального сокета/порта.
- Проблемы с модулями — проверьте addons_path и права доступа к каталогам модулей.
- Логи: /var/log/openerp/openerp-server.log (поменяйте log_level на debug для более подробной информации)
Примеры команд для проверки процессов и портов:
sudo netstat -plnt | grep 8069
ps aux | grep openerp
tail -f /var/log/openerp/openerp-server.log
Безопасность и SSL
- Для защищённого доступа к веб-клиенту и XML-RPC используйте обратный прокси (nginx/apache) с SSL и перенаправлением на локальные порты сервера OpenERP.
- Альтернативно можно активировать xmlrpcs и указать secure_cert_file/secure_pkey_file в конфиге, но часто проще и безопаснее использовать отдельный веб-сервер/прокси.
- Ограничьте список IP, которым разрешён доступ к интерфейсу администратора PostgreSQL.
- Защитите /etc/openerp-server.conf: в нём хранится пароль базы.
Важно: Ubuntu 10.04 не получает обновлений — в долгосрочной перспективе миграция ОС поможет снизить риск уязвимостей.
Роли и чек-листы (быстрые контрольные списки)
Администратор сервера:
- Установил и сконфигурировал SSH с ключами
- Настроил denyhosts/iptables
- Обновил систему и перезагрузил
- Создал системного пользователя openerp
DBA:
- Установил PostgreSQL
- Создал роль openerp и сохранил пароль
- Настроил резервное копирование и тест восстановления
- Ограничил доступ в pg_hba.conf
Разработчик/интегратор:
- Установил зависимости Python
- Проверил путь addons_path и права
- Протестировал кастомные модули на тестовой копии базы
Риск-матрица и меры смягчения
- Устаревшая ОС (высокий риск): мигрировать на поддерживаемую версию Debian/Ubuntu или контейнеризацию.
- Потеря данных при апгрейде (средний): всегда делать backup БД и файлов и тестировать восстановление.
- Утечка паролей из конфигурации (средний): защитить /etc/openerp-server.conf правами 640 и владельцем openerp:root.
- Доступ по незащищённым соединениям (высокий): использовать SSL/обратный прокси.
Критерии приёмки
- OpenERP запускается как служба под пользователем openerp без ошибок в логах.
- Веб-интерфейс доступен через HTTPS (если настроен обратный прокси).
- OpenERP имеет доступ к PostgreSQL и может создавать БД.
- Настроено регулярное резервное копирование и протестировано восстановление.
- Права на конфигурационные файлы и каталоги корректны (открытых 777 прав нет).
Частые ошибки и решения
- “could not connect to server”: проверьте, запущен ли PostgreSQL и соответствует ли db_host/db_port в конфиге.
- “permission denied” при запуске: убедитесь, что служба запускается от openerp и что файлы имеют владельца openerp.
- Веб-клиент не видит модуль: проверьте addons_path и убедитесь, что модуль находится в доступном каталоге и имеет корректную структуру.
Миграционные заметки
OpenERP 6 отличается от 5.x по структуре модулей и API. При миграции:
- Тестируйте модули на копии данных.
- Проверьте сторонние модули на совместимость.
- Рассмотрите инструменты миграции баз и экспорт/импорт данных при необходимости.
Глоссарий (одна строка на термин)
- OpenERP: ERP-система с открытым исходным кодом, далее переименованная в Odoo.
- PostgreSQL: реляционная СУБД, используемая OpenERP как хранилище данных.
- Upstart: система инициализации служб в Ubuntu 10.04.
- Addons: каталоги с модулями, расширяющими функциональность OpenERP.
Итог и рекомендации
Установка OpenERP вручную на Ubuntu 10.04 даёт высокий контроль над окружением: версии, кастомными модулями и процессом обновления. Однако Ubuntu 10.04 — устаревшая платформа; по возможности планируйте перенос на поддерживаемую ОС и тестируйте процедуры обновления и восстановления заранее.
Полезные действия по завершении инсталляции:
- Настройте мониторинг (нагрузка, доступность портов, состояние БД)
- Автоматизируйте резервное копирование и проверку целостности
- Документируйте процесс обновления и список кастомных модулей
В конце: если у вас есть специфичные требования (SSL через nginx, LDAP/Active Directory, особенности модулей), я могу помочь адаптировать конфигурацию и предоставить шаблоны конфигураций для обратного прокси, firewall или систем мониторинга.
Похожие материалы

Как разработать iOS‑приложение с нуля

Чёрный экран в Google Chrome — как исправить

AI‑инструменты для письма: руководство
Установка OpenERP 6 на Ubuntu 10.04 LTS

Как изменить гамму монитора в Windows
