Установка Erpnext на Ubuntu 22.04 Linux – пошаговое руководство

В современной быстро меняющейся бизнес-среде эффективное управление ресурсами предприятия имеет решающее значение для успеха. Системы планирования ресурсов предприятия (ERP), такие как ERPNext, играют ключевую роль в оптимизации операций, управлении данными и повышении производительности. Если вы собираетесь установить ERPNext на свой сервер Ubuntu Linux для эффективного управления бизнесом, то вы попали по адресу.

В этом пошаговом руководстве мы опишем важные шаги для успешной установки ERPNext на вашу систему Ubuntu 22.04.

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

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

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

Примечание: Это руководство не ограничивается Ubuntu 22.04 Focal Foss, но также может быть использовано для Debian, Ubuntu 20.04 и других подобных операционных систем.

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

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

sudo apt update && sudo apt upgrade

Шаг 2: Создание выделенного пользователя для EPRNext

Вместо того чтобы использовать нашего текущего пользователя sudo для установки EPRNext, давайте создадим отдельного пользователя с правами sudo. Не волнуйтесь. Мы удалим права sudo с него позже, чтобы сделать нашу систему более безопасной.

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

sudo useradd -m erpnext -s /bin/bash
sudo usermod -aG sudo erpnext

Назначьте пароль, чтобы сделать учетную запись безопасной:

sudo passwd erpnext

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

sudo su - erpnext
sudo apt update
Создание выделенного пользователя для EPRNext

Шаг 3: Установка необходимых зависимостей

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

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

Шаг 4: Установка сервера баз данных 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 и ударить Введите.

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

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

 sudo apt install redis-server

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

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

Добавьте ключ Node GPG:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

Добавьте репозиторий Node APT:

Здесь, мы устанавливаем Node LTS 18 версия. При необходимости вы можете выбрать 16 или 20 просто изменив-NODE_MAJOR= номер версии на , который вам нужен.

NODE_MAJOR=18
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

Запустите обновление системы:

sudo apt update

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

sudo apt install nodejs

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

sudo npm install -g yarn

Шаг 7: Получите скамейку для фраппе

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

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


python3 -m venv ~/frappe-bench-env
source ~/frappe-bench-env/bin/activate

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

pip3 install frappe-bench

Добавить Скамейка запасных в свой путь; для этого отредактируйте файл Bashrc:

nano ~/.bashrc

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

PATH=$PATH:~/.local/bin/

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

Скамейка для фраппе

Теперь запустите:

source ~/.bashrc

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

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

bench init --frappe-branch version-14 frappe-bench

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

cd frappe-bench

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

Это даст пользователю bench разрешение на выполнение в домашнем каталоге.

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

Например, мы создали “erpnext” в качестве нашего пользователя в начале этого руководства, поэтому мы используем его. Если вы используете какой-то другой, то замените [your-user] на это в приведенной выше команде.

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

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

 bench new-site [your-site-name]

Пример:

bench new-site local.example.com

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

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

Шаг 8: Установка ERPNext на Ubuntu 22.04 LTS

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

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

bench get-app --branch version-15 erpnext

——————(необязательно) Дополнительная информация———————

Тем, кто получает эту ошибку: 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

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

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

bench start

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

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

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

В случае вы получите ошибку 404 при доступе к сайт, , затем посмотрите следующий шаг для ее решения. Потому что мы получили это:

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

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

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

После этого нужно переключиться на Сайты каталог и создайте файл, давайте посмотрим, как это сделать?

cd ~/frappe-bench/sites

Создайте файл currentsite.txt:

nano currentsite.txt

Добавьте свой текущее название сайта в нем, , который вы использовали для ERPNext. Чтобы сохранить файл, нажмите Ctrl+X а затем Y, после клавиша Enter клавиша. Например, мы создали сайт с именем local.example.com, поэтому мы просто добавили это.

Добавить свой сайт ERPnext ubuntu 22.04

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

ls
конфигурация currentsite

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

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

admin login ERPNext Dashboard

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

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

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

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

Dashboard ERPNExt Ubuntu 22.04

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

Зайдите в терминал, где все еще активен процесс “bench start”, и нажмите кнопку Ctrl+X клавиши на клавиатуре.

Шаг 10: Настройка ERPNext для производства

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

Сначала в вашем Temrinal

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

Хотя мы уже обсуждали, как настроить супервизора в Шаг 8 этой статьи, если вы не выполнили его, то вот команды для повторного выполнения:

cd ~/frapper-bench
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 и нажмите кнопку Введите ключ. Теперь снова попробуйте перезапустить 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 systemctl restart supervisor.service

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

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

Конечное примечание:

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

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

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