Как установить ERPNext на AlmaLinux 10

ERPNext — это ERP-система с открытым исходным кодом, которая помогает компаниям управлять различными операционными процессами, такими как финансы, складские запасы, продажи, закупки, производство и управление персоналом. В отличие от традиционных ERP-систем, которые зачастую дороги и негибкие, ERPNext предлагает высокую гибкость по более доступной цене, что делает её подходящей для малого и среднего бизнеса. ERPNext создана с использованием Python и MySQL в качестве серверной базы данных. Базовая платформа веб-приложений называется Frappe и представляет собой отдельную платформу для разработки и развёртывания многофункциональных веб-приложений. ERPNext использует архитектуру Model-View-Controller, которая в сочетании с инструментами моделирования метаданных обеспечивает гибкость. Это позволяет пользователям настраивать систему в соответствии со своими уникальными бизнес-целями без необходимости в программировании. В этой статье мы расскажем, как установить ERPNext на AlmaLinux 10.
Предварительные условия
- Новый AlmaLinux 10 VPS с оперативной памятью не менее 4 ГБ.
- Корневой доступ по SSH или пользователь с правами sudo.
Условности
# — указанные команды должны выполняться с правами суперпользователя либо напрямую от имени пользователя root, либо с использованием команды sudo $ — указанные команды должны выполняться от имени обычного пользователя
Шаг 1. Добавление системного пользователя
В этой статье мы будем использовать пользователя erpnext в качестве системного пользователя, запускающего ERPNext. Давайте создадим этого пользователя и добавим его в группу wheel. Мы будем использовать этого пользователя для запуска команд sudo, поэтому нам нужно добавить его в группу wheel.
# useradd -m erpnext -G wheel
Теперь мы можем задать пользователю пароль.
# passwd erpnext
Вам будет предложено создать пароль. Пожалуйста, убедитесь, что вы используете надежный пароль.
Шаг 2. Установка Redis
В ERPNext Redis в основном используется для кэширования и повышения производительности, особенно в рамках Frappe Framework. Этот шаг нельзя пропустить. Сначала давайте установим выпуск EPEL.
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
Затем мы можем установить другие пакеты.
# dnf update
# dnf groupinstall 'Development Tools' -y
Создайте файл /etc/yum.repos.d/redis.repo со следующим содержимым.
[Redis] name=Redis baseurl=http://packages.redis.io/rpm/rockylinux9 enabled=1 gpgcheck=1
Сохраните файл, затем выйдите из него и выполните следующие команды.
# curl -fsSL https://packages.redis.io/gpg > /tmp/redis.key # rpm --import /tmp/redis.key # dnf install redis
Наконец, запустите Redis и включите его
# systemctl enable --now redis
Шаг 3. Установите NodeJS
Для работы ERPNext требуется среда выполнения NodeJS и npm. Для работы ERPNext требуется NodeJS версии не ниже 18. На этом этапе мы установим Node. js и npm с помощью NVM, чтобы получить последнюю версию.
# su — erpnext
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
Затем откройте файл конфигурации bash, чтобы сделать NVM доступным в текущей сессии оболочки:
# source ~/.bashrc
Чтобы установить Node. js в Linux с помощью NVM, выполните следующую команду:
$ nvm install node
$ npm install --global yarn
Затем выйдите из аккаунта erpnext
$ exit
Шаг 4. Установите Nginx и Supervisor
Чтобы запустить ERPNext в рабочем режиме, нам нужно установить эти службы. Просто выполните приведённую ниже команду, чтобы установить их.
# dnf install nginx supervisor
Далее мы можем отредактировать пользователя nginx в файле /etc/nginx/nginx.conf.
# nano /etc/nginx/nginx.conf
Найдите эту строку
user nginx;
и замените его на это:
user erpnext;
Сохраните изменения, а затем включите Nginx и Supervisor
# systemctl enable --now nginx supervisord
Не пропускайте описанный выше шаг, иначе при последующем доступе к ERPNext вы получите сообщение об ошибке 404.
Шаг 5. Установите Python и MariaDB
Этот шаг нельзя пропустить. Вам понадобятся Python и MySQL или MariaDB. Давайте выполним эту команду, чтобы установить их.
# dnf install python python-devel mariadb-server
Теперь установите pip3 и зависимости wheel вместе с только что установленной версией Python 3.10:
# python3 -m pip install --upgrade pip setuptools wheel
# systemctl enable --now mariadb
После запуска MariaDB мы можем создать пароль для пользователя root.
# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] Enabled successfully! Reloading privilege tables.. ... Success! You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Шаг 6. Установите ERPNext
Как упоминалось ранее, для запуска ERPNext. мы будем использовать нового системного пользователя. Давайте переключимся на этого пользователя и приступим.
# su — erpnext
$ pip3 install --user frappe-bench
$ bench init frappe-bench --frappe-branch version-15
Затем мы можем создать веб-сайт.
$ cd frappe-bench
$ bench new-site yourdomain.ru
Убедитесь, что вы заменили «yourdomain.ru» на фактическое доменное имя, которое указывает на ваш сервер. При вводе указанной выше команды вам будет предложено ввести пароль root для MySQL. На этом этапе вы также создадите новый пароль администратора.
[erpnext@rh frappe-bench]$ bench new-site erpnext.rosehosting.com MySQL root password: Installing frappe... Updating DocTypes for frappe : [========================================] 100% Set Administrator password: Re-enter Administrator password: Updating Dashboard for frappe erpnext.rosehosting.com: SystemSettings.enable_scheduler is UNSET *** Scheduler is disabled ***
Затем мы можем включить планировщик.
$ bench --site yourdomain.com enable-scheduler
Опять же, не забудьте заменить «yourdomain.com» на фактическое доменное имя, которое указывает на ваш сервер.
После включения планировщика следующим шагом будет установка приложения ERPNext.
$ bench get-app erpnext --branch version-15
$ bench --site yourdomain.com install-app erpnext
Шаг 7. ERPNext в производственном режиме
Выполните эти команды, чтобы запустить nginx и supervisord с конфигурацией ERPNext.
$ sudo ln -s pwd
/config/supervisor.conf /etc/supervisord.d/frappe-bench.ini
$ sudo ln -s pwd
/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf
Затем выполните эти команды
$ bench setup supervisor
$ bench setup nginx
Наконец, мы можем перезапустить службы.
$ sudo systemctl restart supervisord nginx
$ sudo supervisorctl start all
На этом этапе вы должны иметь доступ к ERPNext по адресу http://yourdomain.com. Вы можете войти в бэкенд, используя имя пользователя и пароль администратора, которые вы указали на предыдущем шаге.

После входа в систему вам будет предложено настроить язык, часовой пояс, страну и валюту. Нажмите «Далее», чтобы продолжить.

Затем вам нужно будет создать учётную запись и завершить настройку

Наконец, вы попадете на серверную часть и сможете приступить к настройке своего сайта ERPNext.

Поздравляем! Вы успешно установили ERPNext на свой VPS-сервер AlmaLinux. Для получения дополнительной информации о ERPNext посетите сайт ERPNext.
Если вы являетесь одним из наших клиентов, пользующихся веб-хостингом и управляемым Linux-хостингом, вам не нужно устанавливать ERPNext на AlmaLinux 10.
Если вам понравился этот пост о том, как установить ERPNext на AlmaLinux 10, поделитесь им с друзьями или оставьте комментарий ниже. Спасибо.
Редактор: AndreyEx