Odoo предоставляет множество приложений, включая бухгалтерский учет, управление складами, CRM и электронную коммерцию. Такая универсальность делает его предпочтительным вариантом для предприятий любого размера. В этом руководстве вы узнаете, как установить Odoo 18 на AlmaLinux 9, что позволит вам получить полностью рабочий экземпляр Odoo на вашей системе Alma Linux. Тщательно следуйте каждому шагу и обращайтесь к этому руководству при необходимости.
Необходимые условия:
- AlmaLinux 9 VPS
- Не менее 2 ГБ оперативной памяти
- SSH root-доступ или системный пользователь с привилегиями sudo
Шаг 1. Обновление системных пакетов
Для начала войдите на ваш Alma Linux 9 VPS, используя SSH:
ssh root@IP_Address -p Port_number
Замените IP_Address и Port_number на фактический IP-адрес вашего сервера и номер порта SSH. При необходимости замените root на имя пользователя вашей учетной записи sudo.
После входа в систему необходимо убедиться, что все пакеты ОС AlmaLinux, установленные на сервере, обновлены. Это можно сделать, выполнив следующие команды:
dnf update && dnf upgrade
Шаг 2. Установите зависимости:
После этого установите необходимые зависимости на ваш Сервер. Выполните следующую команду для установки этих зависимостей:
dnf install git gcc redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel curl unzip openssl-devel wget yum-utils make libffi-devel zlib-devel tar
Шаг 3. Включите репозиторий PowerTools
Репозиторий PowerTools необходим для установки модуля psycopg2, который требуется Odoo для подключения к PostgreSQL. Вы можете активировать его, выполнив следующую команду:
dnf config-manager --set-enabled crb
Шаг 4. Установите Python 3.12:
Для работы Odoo 18 требуется Python 3.10 или более поздняя версия. Загрузите исходный код последней версии Python 3.12 – 3.12.7. Используйте следующую команду:
wget https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz
Вывод:
wget https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz --2024-11-09 13:25:20-- https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz Resolving www.python.org (www.python.org)... 151.101.0.223, 151.101.64.223, 151.101.128.223, ... Connecting to www.python.org (www.python.org)|151.101.0.223|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 27016272 (26M) [application/octet-stream] Saving to: Python-3.12.7.tgz Python-3.12.7.tgz 100%[==============================================================================================================================================================================================>] 25.76M 67.5MB/s in 0.4s 2024-11-09 13:25:21 (67.5 MB/s) - Python-3.12.7.tgz saved [27016272/27016272]
Затем извлеките загруженный файл с помощью следующей команды:
tar xvf Python-3.12.7.tgz
После извлечения перейдите в папку установки Python и выполните следующие команды:
cd Python-3.12.7 ./configure --with-system-ffi --with-computed-gotos --enable-loadable-sqlite-extensions
Этот шаг настроит установку Python и сконфигурирует его для компиляции.
Далее мы скомпилируем и установим исходный код с помощью команды make. Используйте следующие команды:
make -j ${nproc}
make altinstall
После завершения установки проверьте версию Python с помощью следующей команды:
python3.12 -V
Вы должны получить следующий результат:
python3.12 -V Python 3.12.7
Шаг 5. Установите PostgreSQL:
Odoo использует PostgreSQL в качестве системы баз данных и требует версию 12.0 или более позднюю. Поэтому вам нужно добавить официальный репозиторий PostgreSQL для системы Alma Linux, выполнив следующую команду:
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Теперь установите последнюю версию PostgreSQL, выполнив следующую команду:
dnf install -y postgresql17-server postgresql17 postgresql17-devel
После завершения установки инициализируйте базу данных PostgreSQL:
/usr/pgsql-17/bin/postgresql-17-setup initdb
Затем запустите и включите службу PostgreSQL с помощью следующей команды. Эта команда запустит PostgreSQL и настроит его на автоматический запуск во время загрузки.
systemctl enable postgresql-17 && systemctl start postgresql-17
После установки PostgreSQL создайте нового пользователя PostgreSQL для Odoo с помощью следующей команды:
su - postgres -c "createuser -s odoo18"
Шаг 6. Установите Wkhtmltopdf:
Чтобы облегчить печать в Odoo 18, вам понадобится wkhtmltopdf версии выше 0.12.5. Wkhtmltopdf – это инструмент командной строки, который преобразует HTML-контент в формат PDF с помощью Qt WebKit. Чтобы установить wkhtmltopdf на сервер Alma Linux, выполните следующую команду:
dnf install -y https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm
После завершения установки вы можете проверить версию с помощью следующей команды::
wkhtmltopdf --version
Вывод:
wkhtmltopdf --version wkhtmltopdf 0.12.6.1 (with patched qt)
Шаг 7. Установка и настройка Odoo 18 на AlmaLinux 9
Мы будем настраивать экземпляр Odoo 18, используя специальную учетную запись пользователя системы. Для этого создадим новую системную учетную запись odoo18 с помощью следующей команды.
useradd -m -d /opt/odoo18 -U -r -s /bin/bash odoo18
Далее заходим под пользователем odoo18 и клонируем репозиторий Odoo 18 с GitHub:
su - odoo18 git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 /opt/odoo18/odoo
Далее создайте новую виртуальную среду python для Odoo 18 следующей командой:
python3.12 -m venv odoo18-venv
Затем активируйте виртуальную среду:
source odoo18-venv/bin/activate
Затем установите все необходимые зависимости Python с помощью следующей команды:
pip3 install wheel pip3 install -r odoo/requirements.txt
Теперь вы можете деактивировать виртуальную среду и создать новую директорию для загрузки ваших пользовательских дополнений Odoo:
deactivate mkdir /opt/odoo18/custom-addons
После завершения установки Odoo выйдите из системы под пользователем odoo18 и создайте каталог журнала Odoo.
exit mkdir /var/log/odoo18
Обязательно установите права для пользователя Odoo:
chown -R odoo18: /var/log/odoo18/
Далее создайте файл конфигурации Odoo с помощью следующей команды:
nano /etc/odoo18.conf
Скопируйте и вставьте следующее содержимое в файл конфигурации Odoo:
[options] admin_passwd = StrongPassword db_host = False db_port = False db_user = odoo18 db_password = False xmlrpc_port = 8069 logfile = /var/log/odoo18/odoo.log addons_path = /opt/odoo18/odoo/addons,/opt/odoo18/custom-addons
Обязательно обновите значение ключа StrongPassword, указанное выше, на более надежный пароль. Он используется в качестве главного пароля Odoo, необходимого для создания, удаления и восстановления баз данных.
Шаг 8. Создание файла службы Odoo Systemd
Теперь, когда Odoo установлен и настроен, для его запуска, перезапуска или остановки необходимо создать файл службы systemd. Вы можете создать его с помощью следующей команды:
nano /etc/systemd/system/odoo18.service
Добавьте следующие строки:
[Unit] Description=Odoo18 Requires=postgresql-17.service After=network.target postgresql-17.service [Service] Type=simple SyslogIdentifier=odoo18 PermissionsStartOnly=true User=odoo18 Group=odoo18 ExecStart=/opt/odoo18/odoo18-venv/bin/python3 /opt/odoo18/odoo/odoo-bin -c /etc/odoo18.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Сохраните и закройте файл, затем перезагрузите демон systemd, чтобы применить изменения:
systemctl daemon-reload
Далее запустите и включите службу Odoo 18 с помощью следующей команды. Эта команда запустит Odoo 18 и настроит его на автоматический запуск во время загрузки.
systemctl start odoo18 && systemctl enable odoo18
Проверьте, правильно ли запущена служба Odoo 18, с помощью следующей команды:
systemctl status odoo18
Если служба запущена правильно, ее вывод должен быть похож на следующий:
systemctl status odoo18
● odoo18.service - Odoo18
Loaded: loaded (/etc/systemd/system/odoo18.service; enabled; preset: disabled)
Active: active (running) since Sat 2024-11-09 14:10:21 CST; 2s ago
Main PID: 21474 (python3)
Tasks: 1 (limit: 23191)
Memory: 65.8M
CPU: 1.939s
CGroup: /system.slice/odoo18.service
└─21474 /opt/odoo18/odoo18-venv/bin/python3 /opt/odoo18/odoo/odoo-bin -c /etc/odoo18.conf
Вы можете получить доступ к бэкенду Odoo, используя URL http://YOUR_SERVER_IP:8069. Вы должны увидеть следующую страницу:
Шаг 9. Настройка обратного прокси
Если вы хотите использовать доменное имя вместо IP-адреса вашего сервера, вам потребуется веб-сервер. В этом руководстве мы установим и используем Nginx. Выполните следующую команду для установки nginx:
dnf install -y nginx
Далее создайте блок сервера Nginx:
nano /etc/nginx/conf.d/odoo18.conf
Добавьте следующие строки:
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name odoo.mydomain.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
location /websocket {
proxy_pass http://odoochat;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://odoo;
}
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Обязательно обновите odoo.mydomain.com на ваше доменное имя.
Сохраните и закройте файл, затем перезагрузите службу nginx, чтобы применить изменения:
systemctl reload nginx
Теперь вы можете получить доступ к Odoo, используя свое доменное имя на сайте http://odoo.mydomain.com, и начать работу над проектом. Для получения более подробной информации о Odoo 18, его возможностях и настройке, обратитесь к официальной документации.




Комментарии (0)