Как установить ErpNext 15 на сервер Ubuntu 24.04 LTS

ERPNext — это программное обеспечение с открытым исходным кодом для планирования ресурсов предприятия (ERP), созданное сообществом и доступное для самостоятельного размещения или в виде облачного решения (премиум-сервис). Оно предоставляет полный набор приложений для управления различными аспектами бизнес-операций, включая бухгалтерский учет, управление запасами, управление продажами и закупками, управление взаимоотношениями с клиентами (CRM), управление человеческими ресурсами (HRM) и управление проектами.

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

Системы планирования ресурсов предприятия (ERP), такие как ERPNext, играют ключевую роль в оптимизации операций, управлении данными и повышении производительности. ERPNext выгодна производителям, розничным торговцам, поставщикам услуг и образовательным учреждениям.

Пошаговое руководство по установке ERPNext 15 на систему Ubuntu 24.04.

Что нам нужно?

Прежде чем приступить к установке, убедитесь, что у вас есть все необходимые предпосылки:

1. Рекомендуется чистая установка сервера LTS Ubuntu.
2. Терминал Доступ к серверу через SSH или прямой терминальный доступ.
3. Корневой доступ для операций системного уровня.
4. Подключение к Интернету для загрузки пакетов в процессе установки.

Шаг 1: Обновление сервера Ubuntu 24.04

Хорошей практикой является запуск команды обновления системы в Linux после некоторого времени без установки нового пакета. Это позволит установить последние обновления для системных пакетов и обновить индексный кэш APT.

sudo apt update && sudo apt upgrade

Создайте нового пользователя для ErpNext вместо root. Заменить [new-user] на имя пользователя, которое вы хотите использовать: Например, здесь мы создаем пользователя с именем — erpnext; вы можете установить все, что захотите.

Создать пользователя:

sudo adduser [new-user]

Добавьте его в группу sudo:

sudo usermod -aG sudo [new-user]

Войдите в систему под вновь созданным пользователем:

su [new-user]

Переключитесь на домашний каталог:

cd /home/[new-user]

Шаг 2: Установите Python & необходимые зависимости

Чтобы установить ERPNext на Ubuntu, мы должны установить несколько зависимостей, чтобы избежать любых общих проблем, связанных с пакетами. Вот команда, которую вам нужно запустить в терминале.

Установить Python:

sudo apt install python3

Другие необходимые инструменты:

sudo apt-get install python3-dev python3-setuptools python3-pip libffi-dev libssl-dev ca-certificates curl gnupg xvfb libfontconfig wkhtmltopdf libmysqlclient-dev software-properties-common supervisor git

Установите Virtualenv

sudo apt install python3.12-venv

Шаг 3: Настройка сервера базы данных MariaDB

MariaDB — это сервер баз данных SQL с открытым исходным кодом, который мы можем установить прямо из системного репозитория Ubuntu по умолчанию. Он нужен нам для хранения данных, генерируемых ERPNext.

sudo apt install mariadb-server mariadb-client

Закрепите установку, запустив и выполнив текстовый мастер, предлагаемый данной командой:

sudo mysql_secure_installation

Вот несколько вопросов, на которые попросит ответить приведенная выше команда…

Переход на аутентификацию unix_socket [Y/n] y
Изменить пароль root? [Y/n]: Y
Удалить анонимных пользователей? [Y/n] y
Запретить удаленный вход в систему root? [Y/n] y
Удалите тестовую базу данных и доступ к ней. [Y/n] y
Перезагрузить таблицы привилегий сейчас? [Y/n] y

Отредактируйте файл конфигурации MYSQL по умолчанию

sudo nano /etc/mysql/my.cnf

Прокрутите файл до конца и добавьте следующий блок кода в точности как есть:

[[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[mysql]
default-character-set = utf8mb4

Сохраните файл, используя Ctrl+X, затем введите Y и ударить Введите.

Перезапустите сервер MariaDB:

sudo service mysql restart

Шаг 4: Установите Redis Server для ERPNext

Установите сервер Redis на Ubuntu для вашего ERPNext для кэширования и управления очередью задач.

 sudo apt install redis-server

Шаг 5: Установите Node.js и Yarn

ERPNext использует Node.js для своего фронт-энда. Поэтому, чтобы получить последнюю доступную LTS-версию Node.js в репозитории Ubuntu по умолчанию, выполните данную команду:

sudo apt install nodejs npm

Используйте менеджер пакетов Node NPM, а также установите YARN:

sudo npm install -g yarn

Шаг 6: Получите Frappe Bench и Ansible

Теперь мы установим Frappe Bench, который является инструментом командной строки для управления установками ERPNext:

Использование виртуальной среды (рекомендуется): Создайте изолированную среду для установки пакетов, не затрагивая системные пакеты.

python3 -m venv ~/frappe-bench-env

Активируйте среду:

source ~/frappe-bench-env/bin/activate

Это создаст виртуальную среду в ~/frappe-bench-env и активируйте его, что позволит вам установить и использовать frappe-bench локально.

pip3 install frappe-bench

Установите Ansible, необходимый, когда мы захотим использовать ERPNext в производстве. -break-system-packages: флаг переопределяет поведение pip по умолчанию, чтобы избежать нарушения системных пакетов, мы использовали его, потому что в обычном режиме он выдавал ошибки.

pip install ansible --break-system-packages

Инициализация Frappe Bench

Теперь мы можем получить доступ к бенчу из любого места нашего терминала, поэтому инициализируем его. Здесь, мы собираемся версия 15, последняя версия на момент написания этой статьи. Вы можете выбрать соответствующую версию при выполнении этот учебник. Вам нужно заменить 15 на ту версию, которую вы хотите использовать.

bench init frappe-bench --frappe-branch version-15

Переключите директории в каталог Frappe Bench

cd frappe-bench

Изменение прав доступа к каталогу пользователя

Это даст пользователю bench разрешение на выполнение в домашнем каталоге. Изменить [your-use] на текущее имя пользователя, используемое для установки Frappe.

chmod -R o+rx /home/[your-user]

Создайте сайт, который вы хотите использовать для ERPnext:

Допустим, у нас есть домен — erpnext.how2hsout.com- и хотим использовать его для доступа к нашему сайту ERPnext. Итак, создайте сайт, используя это, вот пример:

 bench new-site [your-site-name]

Пример:

bench new-site erpnext.how2hsout.com

Когда вы запустите вышеуказанную команду, она запросит ваш пароль корня MYSQL для создания базы данных. Кроме того, установите пароль для вашего Администратор сайта ERPNext учетная запись, , которая понадобится нам позже для доступа к панели Dashboard.

Создайте сайт, который вы хотите использовать для ERPnext

Шаг 7: Установка ERPNext на Ubuntu 24.04 LTS

Давайте загрузим приложение ERPNext для установки на нашу систему и некоторые другие необходимые приложения, которые могут потребоваться для использования ERPNext в производстве.

Чтобы получить версию 15 ERPNext:

bench get-app --branch version-15 erpnext

Создание супревизора

Необходимо запустить и перезапустить все службы Frappe с помощью одной команды.

Те, кто получает эту ошибку: supervisorctl restart frappe: frappe: ERROR (нет такой группы) также можно использовать приведенные команды…

Приведенные ниже команды создадут supervisor.conf файл под вашим ~/frappe-bench/config каталог.

cd ~/frappe-bench
bench setup supervisor

Теперь создайте необходимую симлинк.

sudo ln -s ~/frappe-bench/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf

На перезапустить все службы Frappe, перезапустите свой Супервизор:

sudo service supervisor restart

——————— end here——————-

Аналогично, те, кто хочет HRMS и Платежи , желающие включить дополнительные функции в своем экземпляре ERPnext, также могут их получить:

bench get-app payments
bench get-app hrms
Добавить платежные системы в Erpnext

Теперь, установите приложения, которые мы скачали, с помощью команды bench, а это — erpnext, hrm и payment. Команды для этого следующие:

Примечание: Заменить [your-site-name] на тот, который вы созданным в Шаг 7 этой статьи. Например, здесь, мы используем local.example.com.

bench --site [your-site-name] install-app erpnext
bench --site [your-site-name] install-app hrms
bench --site [your-site-name] install-app payments

Аналогичным образом вы можете установить и другие приложения, доступные для ERPnext или Frappe.

установка приложений для frapper erpnext

Шаг 8: Запустите Bench для тестирования веб-сайта ERPnext

Мы успешно установили и создали сайт ERPNext на Ubuntu. Давайте проверим, работает он или нет. В терминале выполните команду:

bench start

Приведенная выше команда запустит сервер разработки для тестирования вашего сайта. Вы увидите local IP-адрес , на котором запущен ваш веб-сайт ERPNext. По умолчанию он будет работать на порту с номером 8000; однако, если она недоступна или занята другим приложением, может быть другим.

Start Bench для тестирования сайта ERPnext

Откройте веб-браузер и наведитесь на Ip-адрес, указанный в выводе терминала сервера разработки:

Если вы получите ошибку 404 при доступе к сайт, посмотрите следующий шаг для ее решения. Мы получили это; сначала, остановить скамейку нажав Ctrl+C.

404 ошибка сайта erpnext скамейка

Ошибка: Получение 404 not found при запуске скамейки в браузере

Итак, как решить эту ошибку? Во-первых, остановите запущенный сервер Bench с помощью Ctrl+C в терминале, где его процесс все еще активен.

Сначала переключитесь в директорию Frappe bench, если вы этого еще не сделали.

cd ~/frappe-bench/

Настройте стенд на использование вашего сайта:

bench use (webstie-name)

Проверьте, доступен ли файл там сейчас:

Сейчас, снова выполните bench start в терминале, после чего откройте браузер и укажите локальный IP-адрес вместе с портом. На этот раз вы увидите интерфейс входа в систему, как показано на данном скриншоте.

Как только вы получите логин интерфейс, вы можете использовать имя пользователя администратор, и пароль ибо это тот, который вы установленный Шаг 7 при создании сайта ERPNext.

admin login ERPNext Dashboard

После этого установка также попросит вас установить язык для панели инструментов и другую общую информацию.

Установка языка ErpNext

На этом шаге вы можете создать еще одного пользователя для доступа к панели ERPNext Dashboard и другим настройкам в дополнение к Admin.

Создание учетной записи пользователя

Создайте организацию, указав необходимые данные.

Создайте свою организацию

Наконец, перед вашими глазами появится панель ERPNext Dashboard, запущенная на вашей Ubuntu 24.04.

Dashboard ERPNExt Ubuntu 22.04
ErpNext 15 Frappe на Ubuntu 24.04

После того как вы настроили ERPNext в соответствии с вашими требованиями, давайте выключим сервер разработки Bench, чтобы сделать наш EPRNext пригодным для использования в производстве.

Перейдите в терминал, где все еще активен процесс «Запуск стенда», и нажмите кнопку Ctrl+X клавиши на клавиатуре.

Шаг 9: Настройка ERPNext для производства (необязательно)

В предыдущем шаге мы видели, что доступ к ErpNext осуществляется через браузер с использованием локального IP-адреса сервера, но с определенным номером порта. Однако в производственной среде вы хотите использовать какой-то домен без добавления определенного номера порта. Давайте посмотрим, как это сделать.

Сначала в терминале

  • Включите планировщик
bench --site [your-site-name] enable-scheduler
  • Отключить режим обслуживания
bench --site [your-site-name] set-maintenance-mode off
  • Установка производственного конфига
sudo bench setup production [your-user]
  • Настройка супервизора:

Если вы не создали супервизора с помощью команд, приведенных в Шаге 7 этой статьи, то используйте приведенные команды, в противном случае пропустите их.

Вот команды для этого:

bench setup supervisor
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf
  • Установите Nginx и настройте для Bench

Nginx нужен в качестве прокси-сервера для использования HTTP-порта 80 вместо 8000 для доступа к ERPNext Dashboard.

sudo apt install nginx

Используйте Bench для автоматической настройки вашего сайта на порт 80.

bench setup nginx

Скопируйте созданный файл конфигурации Frappe Nginx в основной каталог Nginx. Если файл уже существует, пропустите эту команду.

sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf
  • Отключение тестовой страницы по умолчанию
sudo unlink /etc/nginx/sites-enabled/default
sudo unlink /etc/nginx/sites-available/default
  • Перезапустите Nginx, чтобы применить изменения
sudo systemctl restart nginx

——-Необязательно, используйте только в том случае, если вы получили одну из указанных ошибок.———-

(необязательно) Если в ответ вы получите ошибку, то есть:

Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.

Как мы получили вышеуказанную ошибку при настройке Nginx для доступа к ERPNext, поэтому мы обсуждаем ее здесь. Если это произошло и в вашем случае, то сначала отредактируйте файл конфигурации Ngnix:

sudo nano /etc/nginx/nginx.conf

Теперь в любом месте между секцией http {} добавьте следующие строки:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

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

nginx.service failed EPRnext production

Сохраните файл с помощью Ctlr+X. Затем нажмите Y и клавишу Enter. Теперь снова попробуйте перезапустить Nginx, и на этот раз вы не столкнетесь с ошибкой:

sudo systemctl restart nginx

Если вы все еще получаете ту же ошибку, проверьте файл конфигурации Nginx с помощью :

sudo nginx -t

Те, кто попадает в него, возвращают следующую ошибку:

2024/10/13 02:05:22 [emerg] 21991#21991: open() "/etc/nginx/conf.d/frappe-bench.conf" failed (2: No such file or directory) in /etc/nginx/nginx.conf:63

Вы можете использовать приведенные команды для ее удаления:

cd /etc/nginx/conf.d

Создайте отсутствующий файл:

sudo touch frappe-bench.conf

Убедитесь в правильном разрешении:

sudo chown www-data:www-data /etc/nginx/conf.d/frappe-bench.conf

После создания файла проверьте конфигурацию Nginx:

sudo nginx -t

Если тест пройден, перезапустите Nginx:

sudo systemctl restart nginx

—————-Необязательно — конец решения ошибок————-

Используйте IP-адрес или домен вашего сервера для доступа к панели ERPNext Dashboard. Вы получите его без использования дополнительного порта, например 8000.

http://your-domain.com или http://sever-ip-address

Примечание: Если при доступе к ERPNext вы получите ошибку, как показано ниже:

Sorry!
We will be back soon.

Don’t panic. It’s not you, it’s us.
Most likely, our engineers are updating the code, and it should take a minute for the new code to load into memory.
Извините, мы вернемся в ERPNext

Чтобы решить проблему, перезапустите службу Supervisor:

sudo service supervisor restart

Теперь проверьте, что все работает нормально:

systemctl status supervisor --no-page -l

После этого обновите страницу браузера, на которой вы получаете доступ к панели ERPNext Dashboard.

Установка ERPNExt Dashboard на Ubuntu 22.04

Дополнительная информация:

Если вы хотите использовать ERPNext с некоторыми локальный домен созданный на вашем локальном компьютере, затем укажите его в вашем /etc/hosts файл в 127.0.0.1. Чтобы упростить задачу, можно просто выполнить приведенную команду:

bench --site [your-site-name] add-to-hosts

Например, у нас есть локально созданный домен, который также был именем нашего сайта ERPnext, здесь, в этом учебнике, то есть local.example.com. Итак, чтобы использовать его для доступа к панели ERPnext только в нашей локальной сети или на ПК, мы можем воспользоваться приведенной командой:

bench --site local.example.com add-to-hosts

Как обновить Bench:

Используйте данную команду для обновления бенча и других его компонентов. Она извлекает изменения для bench-repo и всех приложений, применяет патчи, собирает JS и CSS, а затем мигрирует.

bench update
команда обновления бенча

Те, кто впоследствии захочет снять права sudo со своего пользователя ERPNext, могут выполнить данную команду:

sudo usermod -G "" erpnext

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *