В виду повышенного спроса на данную систему управления контентом решил для себя описать максимально подробный процесс установки на сервере под управлением CentOS 7. За несколько установок столкнулся с некоторыми нюансами. Ниже — максимально подробная инструкция по установке. Подразумевается что система абсолютно новая и ничего прежде на неё не устанавливалось.
К плюсам odoo можно отнести то, что написана она на python, что сильно расширяет комьюнити разработчиков.
1 Шаг. Репозитории и одновления
Создаём репозиторий NGinx
# vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
Создаём репозиторий Odoo 10
# vim /etc/yum.repos.d/odoo.repo [odoo-nightly] name=Odoo Nightly repository baseurl=http://nightly.odoo.com/10.0/nightly/rpm/ enabled=1 gpgcheck=1 gpgkey=https://nightly.odoo.com/odoo.key
Теперь установим EPEL репозиторий и все доступные обновлеия
# yum -y install epel-release # yum -y update
Рекомендую проверить SELinux и если активен — отключить.
# sestatus
Отключить без перезагрузки можно так
# setenforce 0
Этого будет достаточно до следующей перезагрузки.
Что бы отключить SElinux перманентно, то нужно заменить в /etc/selinux/config
SELINUX=enforcing
на
SELINUX=disabled
2 Шаг. PostgreSQL
# yum -y install postgresql-server # postgresql-setup initdb # systemctl enable postgresql # systemctl start postgresql
Шаг 3. Odoo и зависимости
Для начала установим системные зависимости
# yum -y install gcc libffi-devel python-devel openssl-devel python2-pip
Далее пакет, необходимый для экспорта в PDF формат внутри самой CMS
# rpm -Uvh http://download.gna.org/wkhtmltopdf/0.12/0.12.2/wkhtmltox-0.12.2_linux-centos7-amd64.rpm
Установка сервера и обработка скрипта автозапуска
# yum -y install odoo # systemctl enable odoo # systemctl start odoo
Проверяем запустился ли процесс
# ps aux | grep odoo odoo 5759 0.7 6.4 1286528 294516 ? Ssl 06:58 3:59 /usr/bin/python /usr/bin/odoo --config /etc/odoo/odoo.conf --logfile /var/log/odoo/odoo-server.log
или
# netstat -tulpn | grep 8069 tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN 5759/python
Ставим дополнительные модули
# pip install --upgrade pip pytz babel pysftp
Шаг 4. Проксирующий Web-сервер NGinx.
С установкой совсем никаких особенностей
# yum -y install nginx # systemctl enable nginx # systemctl start nginx
Итоговая конфигурация NGinx с сертификатами и переадресацией на исключительно https версию
upstream oddo { server 127.0.0.1:8069; } server { listen 443 default; server_name example.biz; client_max_body_size 64m; access_log /var/log/nginx/oddo.access.log; error_log /var/log/nginx/oddo.error.log; ssl on; ssl_certificate /etc/ssl/example.biz/ssl-bundle.crt; ssl_certificate_key /etc/ssl/example.biz/ssl-bundle.key; keepalive_timeout 60; ssl_protocols TLSv1.2 TLSv1.1 TLSv1; ssl_prefer_server_ciphers on; ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA512:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:ECDH+AESGCM:ECDH+AES256:DH+AESGCM:DH+AES256:RSA+AESGCM:!aNULL:!eNULL:!LOW:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_stapling on; ssl_stapling_verify on; add_header Strict-Transport-Security max-age=15768000; proxy_buffers 16 64k; proxy_buffer_size 128k; location / { proxy_pass http://oddo; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; } location ~* /web/static/ { proxy_cache_valid 200 60m; proxy_buffering on; expires 864000; proxy_pass http://oddo; } } server { listen 80; server_name example.biz www.example.biz; add_header Strict-Transport-Security max-age=2592000; return 301 https://example.biz$request_uri; } server { listen 443; server_name www.example.biz; return 301 https://example.biz$request_uri; }
Проверяем и перечитываем конфигурацию
# nginx -t # nginx -s reload
После этого можно открыть страничку домена в браузере и следовать подсказкам установщика до полной установки Odoo 10.