Odoo — это набор интегрированных бизнес-приложений с открытым исходным кодом, включающий различные модули для различных бизнес-нужд. Odoo разработан с использованием языка программирования Python и имеет модульную архитектуру, что позволяет пользователям выбирать и развертывать конкретные модули, соответствующие их бизнес-требованиям.

Система обладает высокой степенью настраиваемости и охватывает широкий спектр бизнес-функций. Она предоставляет комплексный набор инструментов для управления различными аспектами бизнеса, от продаж и финансов до управления кадрами и запасами.

В этом руководстве мы покажем вам, как настроить Odoo с Apache 2 в качестве обратного прокси-сервера в ОС Debian 12.

Если на вашем сервере не установлен Odoo, вы можете воспользоваться нашим руководством по установке Odoo 17 на Debian 12.

Шаг 1: Обновите операционную систему

Обновите свой Дебиан 12 Обновите операционную систему до последней версии с помощью следующей команды:

# apt update && apt upgrade

Шаг 2: Установка веб-сервера Apache

Вы можете установить его через apt менеджер пакетов, выполнив следующую команду.

# apt install apache2

Вы можете проверить статус службы Apache с помощью статус systemctl команда:

# systemctl status apache2

Выход:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running)
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 1127 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 1131 (apache2)
      Tasks: 6 (limit: 2273)
     Memory: 18.4M
        CPU: 86ms
     CGroup: /system.slice/apache2.service
             ├─1131 /usr/sbin/apache2 -k start
             ├─1132 /usr/sbin/apache2 -k start
             ├─1133 /usr/sbin/apache2 -k start

Шаг 3: Включите модули Apache

Далее выполните следующие команды, чтобы включить все необходимые модули:

# /usr/sbin/a2enmod rewrite
# /usr/sbin/a2enmod proxy
# /usr/sbin/a2enmod proxy_http
# /usr/sbin/a2enmod proxy_html
# /usr/sbin/a2enmod headers

Затем перезапустите веб-сервер Apache:

# systemctl restart apache2

Шаг 4: Настройка Apache для Odoo

Выполните команды ниже, чтобы создать новый файл VirtualHost с именем оду в /etc/apache2/sites-available/ каталог.

# nano /etc/apache2/sites-available/odoo.conf

Вставьте содержимое, как показано ниже:

 <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/
    
    ServerName your-domain.com
    ServerAlias www.your-domain.com

    ProxyPass / http://127.0.0.1:8069/
    ProxyPassReverse / http://127.0.0.1:8069/> 

    ErrorLog /var/log/apache2/your-domain.com-error_log
    CustomLog /var/log/apache2/your-domain.com-access_log common

 </VirtualHost>

Не забудьте заменить ваш-домен.com с доменным именем вашего сервера.

Затем сохраните и выйдите из файла конфигурации.

Чтобы включить этот сайт, выполните следующую команду:

# ln -s /etc/apache2/sites-available/odoo.conf /etc/apache2/sites-enabled/odoo.conf

Для применения изменений необходимо перезапустить веб-сервер Apache:

# systemctl restart apache2

Шаг 5: Установите бесплатный SSL-сертификат Let’s Encrypt (необязательно)

Сначала вам необходимо установить клиент Certbot, который используется для создания сертификатов Let’s Encrypt:

# apt install certbot python3-certbot-apache

Затем, чтобы получить SSL-сертификат с помощью Certbot, введите следующую команду:

# certbot --apache -d your-domain.com -d www.your-domain.com

Если SSL-сертификат успешно получен, certbot выводит сообщение об успешной настройке:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your-domain.com.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your-domain.com/privkey.pem
   Your cert will expire on 2024-03-02. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Теперь вы успешно установили SSL на своем сайте.

Шаг 6: Настройка прокси-сервера Odoo

Убедитесь, что Odoo настроен на работу через прокси-сервер. В файле конфигурации Odoo (/etc/odoo.conf), вам необходимо установить proxy_mode параметр на True:

proxy_mode = True

После внесения изменений важно перезапустить службу Odoo, чтобы изменения вступили в силу:

# systemctl restart odoo

Шаг 7: Получите доступ к серверу Odoo

Откройте веб-браузер и введите URL-адрес. https://your-domain.com. Вы должны увидеть следующую страницу:

Оду