Установка ERP · 14 min read · Oct 24, 2025
Как установить ERPNext 14 на Debian 11

ERPNext — это система управления предприятием с открытым исходным кодом (ERP), которую можно внедрить в ваш бизнес. ERPNext может быть реализован в различных отраслях, таких как производство, распределение, розничная торговля, торговля, услуги, образование, некоммерческие организации и здравоохранение. Кроме того, он предоставляет модули, такие как бухгалтерский учет, CRM, продажи, закупки, веб-сайт, электронная коммерция, точка продаж, производство, склад, управление проектами, инвентаризация и услуги.
ERPNext — это платформа ERP для предприятий, лицензированная под GNU General Public Licence v3. Она в основном написана на Python и JavaScript и разработана компанией Frappe Technologies Pvt. ERPNext — это приложение, написанное на основе фреймворка Frappe, открытого веб-фреймворка на Python и JavaScript.
ERPNext является альтернативой таким сервисам, как NetSuite от Oracle, QAD, Tython, OpenBrave и Odoo. По функциональности ERPNext похож на Odoo (ранее OpenERP).
В этом руководстве вы установите ERPNext на сервер Debian 11, а затем защитите ERPNext с помощью сертификатов SSL/TLS через Certbot и Letsencrypt. Вы также узнаете, как установить зависимости для ERPNext, такие как Python 3.10, Redis, Nginx, Supervisor, Fail2ban, сервер MariaDB, Node.js и Yarn, а также веб-фреймворк Frappe.
Предварительные требования
Вам понадобятся следующие требования для завершения этого руководства:
- Один сервер Debian 11 — в этом примере используется сервер Debian с именем хоста ‘ erpnext-server ‘.
- Непривилегированный пользователь с правами администратора sudo/root. Вы будете выполнять все команды в этом руководстве от имени непривилегированного пользователя.
- Доменное имя, указывающее на IP-адрес сервера.
Теперь давайте перейдем к установке.
Настройка нового пользователя
Первый шаг в этом руководстве — создать нового пользователя, который будет использоваться для запуска приложения ERPNext. Вы также добавите нового пользователя в группу ‘sudo’ и разрешите этому пользователю выполнять команды с правами root.
Запустите следующую команду, чтобы создать нового пользователя и установить пароль для нового пользователя. В этом примере вы создадите нового пользователя ‘ frappe ‘, который будет использоваться для запуска ERPNext.
sudo useradd -m -s /bin/bash frappe
sudo passwd frappeТеперь добавьте пользователя ‘ frappe ‘ в группу ‘sudo’ с помощью следующей команды.
sudo usermod -aG sudo frappeНаконец, проверьте нового пользователя, выполнив следующую команду. Вы будете входить как пользователь ‘ frappe ‘ и получать права root через команду ‘ sudo su ‘.
su - frappe
sudo suВаш терминал должен изменить приглашение на ‘root@hostname:/home/frappe..’. Теперь введите ‘exit’, чтобы выйти из оболочки root.

С этим вы создали нового пользователя для ERPNext. На следующих этапах вы вручную установите Python 3.10, скомпилировав его из исходного кода.
Установка Python 3.10
ERPNext — это веб-приложение, созданное с помощью фреймворка frappe, который основан на Python. На момент написания этой статьи последняя версия фреймворка frappe и ERPNext требует как минимум Python 3.10.
На этом этапе вы вручную установите Python 3.10 из исходного кода. Поскольку текущий репозиторий Debian 11 еще не предоставляет пакеты Python 3.10.
Перед тем как начать, убедитесь, что вы вошли на свой сервер Debian как новый пользователь ‘ frappe ‘.
su - frappeДля начала выполните следующую команду, чтобы обновить индекс пакетов Debian.
sudo apt updateТеперь выполните следующую команду apt, чтобы установить зависимости для компиляции Python.
sudo apt install wget build-essential libncursesw5-dev libssl-dev \
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-devВведите y, когда будет предложено, и нажмите ENTER, чтобы продолжить.

Далее загрузите исходный код Python 3.10 со страницы загрузки Python с помощью команды wget ниже. В этом примере вы загрузите и установите Python 3.10.9.
wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tgzПосле загрузки исходного кода Python извлеките его с помощью команды tar и перейдите в рабочий каталог.
tar xzf Python-3.10.9.tgz
cd Python-*/Теперь выполните следующую команду, чтобы скомпилировать Python 3.10 и установить его.
./configure --enable-optimizations
nproc
sudo make -j2
sudo make altinstall
После завершения установки Python вы должны получить бинарный файл Python в каталоге ‘ /usr/local/bin/ ‘. Выполните следующую команду, чтобы проверить установку Python 3.10.
ls /usr/local/binВы должны увидеть бинарные файлы пакетов Python 3.10, такие как ‘ python3.10 ‘ и ‘ pip3.10 ‘.
Далее, чтобы убедиться, что вы можете запускать новые команды Python, вы должны добавить каталог ‘ /usr/local/bin ‘ в системный PATH и в visudo secure_path.
Создайте новый файл ‘/etc/profile.d/custom-path.sh’ с помощью следующей команды редактора nano.
sudo nano /etc/profile.d/custom-path.shДобавьте следующую строку в файл.
export PATH=$PATH:/usr/local/bin/Сохраните файл и выйдите из редактора.
Теперь выполните следующую команду, чтобы загрузить новый файл ‘ /etc/profile.d/custom-path.sh ‘ и проверить системный PATH.
source /etc/profile.d/custom-path.sh
echo $PATHВы должны увидеть, что каталог ‘ /usr/local/bin ‘ добавлен в переменную окружения PATH.
Далее выполните следующую команду, чтобы отредактировать конфигурацию sudoers.
sudo visudoВ строке ‘ Defaults secure_path= ‘ добавьте новый бинарный secure_path ‘ /usr/local/bin ‘.
Defaults secure_path=....:/usr/local/binСохраните и выйдите из редактора, когда закончите.
С этим вы теперь можете выполнять новый Python 3.10 через команду sudo. Выполните следующую команду, чтобы проверить Python3.10 и Pip3.10.
sudo python3.10 --version
sudo pip3.10 --versionНиже приведен аналогичный вывод, который вы получите в своем терминале.

Теперь, когда вы установили Python 3.10, перейдите к следующей установке зависимостей ERPNext, а именно веб-сервера Nginx и Supervisor.
Установка Nginx и Supervisor
Чтобы установить ERPNext, вам необходимо установить Nginx, который будет использоваться в качестве веб-сервера по умолчанию, и Supervisor в качестве менеджера процессов. Оба пакета Nginx и Supervisor доступны в репозитории Debian, и вы можете легко установить оба пакета через APT.
Выполните следующую команду apt, чтобы установить пакеты Nginx и Supervisor.
sudo apt install git nginx supervisorВведите y, когда будет предложено, и нажмите ENTER, чтобы продолжить.

Далее выполните следующую команду systemctl, чтобы проверить оба сервиса Nginx и Supervisor. Это обеспечит работу и включение обоих сервисов, что означает, что оба сервиса должны автоматически запускаться при загрузке.
Проверьте сервис Nginx.
sudo systemctl is-enabled nginx
sudo systemctl status nginxВывод:

Проверьте сервис Supervisor.
sudo systemctl is-enabled supervisor
sudo systemctl status supervisorВывод:

С установленными и работающими Nginx и Supervisor перейдите к следующей установке Redis Server и Fail2ban.
Установка Redis и Fail2ban
Redis — это база данных ключ-значение, которая может использоваться для хранения временных данных, таких как сессии. Fail2ban — это инструмент безопасности для блокировки атак грубой силы на ваши приложения ERPNext.
ERPNext требует Redis, который будет использоваться в качестве менеджера сессий, и Fail2ban для блокировки атак грубой силы на странице входа пользователя ERPNext.
Выполните следующую команду apt, чтобы установить Redis и Fail2ban на ваш сервер Debian.
sudo apt install redis-server fail2banВведите y, когда будет предложено для подтверждения, затем нажмите ENTER, чтобы продолжить.


После установки Redis и Fail2ban выполните следующую команду systemctl, чтобы проверить оба сервиса.
sudo systemctl is-enabled redis-server
sudo systemctl status redis-serversudo systemctl is-enabled fail2ban
sudo systemctl status fail2banДля сервиса Redis вы должны увидеть вывод, аналогичный следующему — сервис Redis включен и будет автоматически запущен при загрузке. А текущий статус Redis — работающий.

Для сервиса Fail2ban вы должны увидеть вывод, аналогичный следующему — сервис Fail2ban включен и будет автоматически запущен при загрузке. А текущий статус Fail2ban — работающий.

Теперь у вас установлены и работают Redis Server и Fail2ban. На следующих этапах вы установите и настроите сервер базы данных MariaDB.
Установка и настройка сервера MariaDB
При стандартной установке ERPNext будет использовать MySQL/MariaDB в качестве сервера базы данных. ERPNext требует определенной версии MySQL/MariaDB для установки.
На этом этапе вы установите сервер MariaDB 10.6 из официального репозитория MariaDB. Затем вы добавите конфигурации к вашему серверу MariaDB и защитите развертывание сервера MariaDB.
Выполните следующую команду, чтобы добавить репозиторий сервера MariaDB v10.6.
sudo curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.6"Вы получите вывод, аналогичный следующему.
Теперь выполните следующую команду apt, чтобы установить пакеты MariaDB.
sudo apt install mariadb-server mariadb-client default-libmysqlclient-devВведите y, когда будет предложено для установки, и нажмите ENTER, чтобы продолжить.

После установки сервера MariaDB выполните следующую команду systemctl, чтобы проверить сервис MariaDB и убедиться, что сервис включен и работает.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadbТеперь вы должны получить вывод, аналогичный следующему — сервис MariaDB включен и будет автоматически запущен при загрузке. А текущий статус сервиса MariaDB — работающий.

Далее откройте файл конфигурации сервера MariaDB ‘/etc/alternatives/my.cnf’ с помощью следующей команды редактора nano.
sudo nano /etc/alternatives/my.cnfДобавьте следующие строки в файл. Нижеуказанная конфигурация включит формат ‘barruca’ на вашем сервере MariaDB, а также вы установите кодировку по умолчанию для сервера и клиента на ‘ utf8mb4 ‘.
[mysqld]
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4Сохраните файл и выйдите из редактора, когда закончите.
Теперь выполните следующую команду systemctl, чтобы перезапустить сервис MariaDB и применить изменения.
sudo systemctl restart mariadbДалее вы защитите развертывание MariaDB.
Выполните следующую команду ‘ mariadb-secure-installation ‘, чтобы защитить ваше развертывание MariaDB. Вам будет предложено настроить пароль root для MariaDB, поэтому обязательно введите и повторите новый пароль. Для остальных конфигураций введите Y для подтверждения и нажмите ENTER.
sudo mariadb-secure-installationС этим вы завершили установку и настройку сервера MariaDB. На следующем этапе вы установите пакет wkhtmltopdf, который ERPNext будет использовать для генерации PDF-отчетов.
Установка пакета Wkhtmltopdf
На этом этапе вы установите пакет Wkhtmltopdf, который ERPNext будет использовать для генерации PDF-отчетов. Wkhtmltopdf можно загрузить и установить вручную через .deb файл или .rpm файл. Но для Debian вы можете установить его из официального репозитория Debian через APT.
Выполните следующую команду, чтобы установить пакет wkhtmltopdf. Введите Y, когда будет предложено, и нажмите ENTER, чтобы продолжить.
sudo apt install xvfb libfontconfig wkhtmltopdf
После установки Wkhtmltopdf выполните следующую команду, чтобы проверить его. Команда wkhtmltopdf используется для преобразования HTML-страницы в PDF, в то время как wkhtmltoimage преобразует HTML-страницу в различные форматы изображений.
which wkhtmltopdf
wkhtmltopdf --versionwhich wkhtmltoimage
wkhtmltoimage --versionВы получите вывод, аналогичный следующему — Wkhtmltopdf v0.12 установлен на вашей системе Debian.

На следующих этапах вы установите Node.js и менеджер пакетов Yarn, которые будут использоваться для генерации статических файлов для ERPNext.
Установка Nodejs 16 и Yarn
Последняя версия ERPNext — v14, которая требует как минимум Node.js 16 и менеджер пакетов Yarn. На этом этапе вы установите Node.js 16 через репозиторий Nodesource. Затем установите менеджер пакетов Yarn.
Для начала выполните следующую команду, чтобы добавить репозиторий Nodesource для Node.js 16.
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bashВы получите вывод, аналогичный следующему.

Далее выполните следующую команду, чтобы добавить репозиторий Yarn для дистрибутива Debian-Linux.
sudo curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
После этого обновите и обновите индекс пакетов Debian с помощью команды ‘apt update’. Затем установите Node.js и менеджер пакетов yarn с помощью команды ‘apt install’.
sudo apt update
sudo apt install nodejs yarnТеперь должна начаться установка Node.js и менеджера пакетов Yarn.

Когда Node.js и yarn будут установлены, вы завершили установку зависимостей пакета для веб-фреймворка Frappe и приложения ERPNext.
Установка фреймворка frappe и frappe-bench
ERPNext — это программное обеспечение ERP с открытым исходным кодом, созданное с помощью фреймворка frappe, который написан на Python и JavaScript. Чтобы установить ERPNext, вы должны установить фреймворк frappe на своей системе, и его можно установить через ‘frappe-bench’ или ‘bench’.
Итак, сначала вы должны установить bench. Затем установите фреймворк frappe через bench. Наконец, вы установите приложение ERPNext в рамках фреймворка frappe.
Чтобы установить bench, выполните следующую команду pip3.10.
sudo pip3.10 install frappe-benchВы получите вывод, аналогичный следующему во время установки bench.

После установки bench выполните следующую команду, чтобы проверить это. Вы получите бинарный путь команды ‘ bench ‘ и текущую версию установленного bench.
which bench
bench --versionС установленным bench вы затем установите фреймворк frappe. Выполните следующую команду ‘bench’, чтобы установить фреймворк frappe в вашем текущем рабочем каталоге. Также вы укажете версию Python, которая будет использоваться для Python 3.10, укажете версию фреймворка frappe на v14, а целевой каталог установки — ‘ frappe-bench ‘.
bench init --python python3.10 --frappe-branch version-14 frappe-benchВы получите вывод, аналогичный следующему во время установки фреймворка frappe.

После установки фреймворка frappe вы должны получить следующий вывод в конце установки.

Наконец, выполните следующую команду, чтобы разрешить другим пользователям читать и выполнять установочный каталог фреймворка frappe. Это необходимо, чтобы веб-сервер Nginx мог читать и выполнять фреймворк frappe.
sudo chmod -R o+rx /home/frappe/frappe-bench
or
sudo chmod -R o+rx /home/frappeС установленным фреймворком frappe вы готовы установить и настроить ERPNext.
Настройка нового сайта/проекта в фреймворке frappe
Перед установкой ERPNext вы должны создать новый сайт/проект в фреймворке frappe. На этом этапе вы создадите новый сайт/проект и переключите окружение на новый проект через bench.
Сначала переместите свой рабочий каталог в ‘ frappe-bench ‘ с помощью команды cd.
cd ~/frappe-benchВыполните команду bench ниже, чтобы создать новый сайт/проект для ERPNext. В этом примере вы создадите новый сайт ‘ erp.howtoforge.local ‘, который является целевым доменным именем установки ERPNext. Также во время процесса настройки вам будет предложено настроить пароль администратора для вашего проекта frappe, поэтому введите свой пароль и повторите его. Этот пароль будет использоваться для входа в ваше приложение ERPNext.
bench new-site erp.howtoforge.localНаконец, выполните следующую команду, чтобы переключиться на новый сайт/проект ‘ erp.howtoforge.local ‘.
bench use erp.howtoforge.localНиже приведен вывод во время создания сайта/проекта и после того, как вы переключились на новый сайт/проект.

Установка ERPNext через frappe-bench
После создания нового сайта/проекта в фреймворке frappe выполните следующую команду, чтобы загрузить приложение ‘ payments ‘ и ‘ erpnext ‘. В этом примере вы загрузите ERPNext v14.
bench get-app payments
bench get-app --branch version-14 erpnextНиже приведен аналогичный вывод, который вы получите во время процесса загрузки ‘ payments ‘.

А ниже приведен процесс загрузки приложения ERPNext.

Далее выполните следующую команду, чтобы установить приложение ERPNext на сайт/проект ‘erp.howtoforge.local ‘.
bench --site erp.howtoforge.local install-app erpnextВы получите вывод, аналогичный следующему — вы также должны увидеть, что приложение ‘ payments ‘ автоматически установлено как зависимость для приложения ERPNext.

Наконец, выполните команду bench ниже, чтобы включить планировщик и отключить режим обслуживания на сайте/проекте ‘erp.howtoforge.local’.
bench --site erp.howtoforge.local enable-scheduler
bench --site erp.howtoforge.local set-maintenance-mode offНа этом этапе установка ERPNext завершена. Но если вы запускаете ERPNext в производственной среде, вам следует настроить и сконфигурировать веб-сервер Nginx и Supervisor, которые можно настроить через команду bench.
Развертывание ERPNext для производства
Сначала выполните следующую команду, чтобы начать настраивать фреймворк frappe и ERPNext для производственной среды. Это установит Ansible и автоматически настроит развертывание ERPNext через Ansible.
sudo bench setup production frappeНиже приведен вывод во время установки Ansible.

Ниже приведен вывод, когда конфигурация завершена.

Далее выполните следующую команду bench, чтобы настроить Nginx и Supervisor для ERPNext. Когда вас спросят, перезаписать текущие настройки, введите y для подтверждения и нажмите ENTER.
sudo bench setup supervisor
sudo bench setup nginxПосле этого снова выполните команду bench ниже, чтобы убедиться, что конфигурация Supervisor и Nginx установлена.
sudo bench setup production frappeВведите y, чтобы перезаписать текущие настройки, и нажмите ENTER, чтобы продолжить.

Наконец, выполните следующую команду ‘supervisorctl’ с правами sudo. Это проверит все процессы и службы, используемые фреймворком frappe и ERPNext.
sudo supervisorctl statusЕсли установка ERPNext прошла успешно, вы должны получить вывод, аналогичный следующему — все службы для фреймворка frappe и ERPNext работают.

На этом этапе установка ERPNext завершена, и она работает с Nginx в качестве веб-сервера и Supervisor в качестве менеджера процессов. Теперь вы можете получить доступ к вашей установке ERPNext через ваше доменное имя и веб-браузер.
Настройка установки ERPNext
Откройте веб-браузер и перейдите по доменному имени вашей установки ERPNext (т.е.: http://erp.howtoforge.local /). Вы увидите страницу входа в фреймворк frappe.
Введите имя пользователя по умолчанию ‘ Administrator ‘ и введите пароль, который вы использовали во время процесса создания сайта/проекта.

Теперь выберите язык по умолчанию, часовой пояс и валюту. Затем нажмите Далее.

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

Введите название вашей компании и загрузите логотип вашей компании, затем нажмите Далее.

Введите информацию о вашей организации и нажмите Завершить настройку.

Теперь вы должны увидеть панель управления вашей установки ERPNext.

Защита с помощью сертификатов SSL/TLS через Certbot и Letsencrypt
На этом этапе вы защитите развертывание ERPNext с помощью сертификатов SSL/TLS, которые можно сгенерировать с помощью инструмента Certbot от Letsencrypt. Прежде чем начать, убедитесь, что ваше доменное имя указывает на IP-адрес вашего сервера, и убедитесь, что у вас есть адрес электронной почты, который будет использоваться для регистрации в Letsencrypt.
Выполните следующую команду apt, чтобы установить инструмент certbot и плагин certbot для веб-сервера Nginx. Когда будет предложено, введите y для подтверждения и нажмите ENTER, чтобы продолжить.
sudo apt install certbot python3-certbot-nginxПосле установки certbot выполните следующую команду certbot, чтобы сгенерировать SSL-сертификаты для вашего доменного имени ERPNext. Обязательно измените доменное имя и адрес электронной почты в следующей команде.
sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d erp.howtoforge.localС этим установка ERPNext теперь защищена сертификатами SSL/TLS через Certbot и Letsencrypt. Вы также настроили автоматическую переадресацию HTTP на HTTPS на вашем доменном имени ERPNext, что Certbot обрабатывает автоматически.
Заключение
В этом руководстве вы узнали, как установить ERPNext, программное обеспечение ERP с открытым исходным кодом, на сервер Debian 11. Вы также узнали, как установить некоторые зависимости, такие как Python 3.10, который установлен вручную путем компиляции и установки исходного кода. Вы установили другие зависимости на своем сервере Debian, такие как MariaDB, Nginx, Supervisor, Redis и Fail2ban.
Вы также узнали, как установить фреймворк Frappe и построить ERPNext на его основе. Затем вы узнали о базовой настройке ERPNext как ERP-программного обеспечения.
Наконец, вы настроили ERPNext для производства, настроив Nginx в качестве веб-сервера и Supervisor в качестве менеджера процессов. Вы также защитили использование ERPNext с помощью Certbot и Letsencrypt.
Get new posts in your inbox
No spam. Unsubscribe anytime.