Установка ERP · 6 min read · Oct 12, 2025
Как установить ERPNext на Ubuntu 18.04 LTS

ERPNext — это бесплатное, с открытым исходным кодом, современное и простое в использовании программное обеспечение для управления бизнесом, используемое тысячами компаний по всему миру. Это очень простая ERP-платформа, которая поддерживает розничную торговлю, торговлю, услуги, производство, человеческие ресурсы, некоммерческие и другие сектора. Это мощная и полнофункциональная ERP-система, написанная на Python на основе фреймворка Frappe. Она использует Node.js для фронтенда и MariaDB для хранения своих данных. ERPNext предоставляет веб-интерфейс для выполнения повседневных задач. ERPNext предоставляет встроенную систему отчетности с интеграцией офисного пакета.
В этом руководстве мы научимся устанавливать и настраивать ERPNext на сервере Ubuntu 18.04 LTS.
Требования
- Сервер с установленной Ubuntu 18.04.
- Пользователь, не являющийся root, с правами sudo, настроенный на вашем сервере.
Начало работы
Сначала вам нужно обновить вашу систему до последней версии. Вы можете сделать это, выполнив следующую команду:
sudo apt-get update -y
sudo apt-get upgrade -yПосле обновления системы вам нужно создать пользователя для ERPNext.
Вы можете сделать это с помощью следующей команды:
sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnextЗатем дайте права sudo пользователю ERPNext с помощью следующей команды:
sudo usermod -aG sudo erpnextДалее, войдите в систему как пользователь ERPNext и настройте переменную окружения с помощью следующей команды:
su - erpnextnano .bashrcДобавьте следующую строку:
PATH=$PATH:~/.local/bin/Сохраните и закройте файл, когда закончите. Затем перезагрузите систему, чтобы применить все изменения.
Установка необходимых пакетов
Сначала войдите в систему как пользователь erpnext и установите некоторые зависимости, необходимые для ERPNext, на вашу систему.
sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -yЗатем установите сервер Nginx и MariaDB с помощью следующей команды:
sudo apt-get install nginx mariadb-server -yПосле завершения установки вам нужно внести некоторые изменения в файл 50-server.cnf. Вы можете сделать это с помощью следующей команды:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfВнесите следующие изменения:
[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Сохраните и закройте файл. Затем перезапустите службу MariaDB, чтобы применить все изменения:
sudo systemctl restart mariadbТеперь вы можете проверить статус сервера MariaDB с помощью следующей команды:
sudo systemctl status mariadbВы должны увидеть следующий вывод:
? mariadb.service - MariaDB 10.1.38 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-02-16 06:26:48 UTC; 2h 38min ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 4640 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 4636 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Process: 4505 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-
Process: 4503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 4482 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Main PID: 4607 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 31 (limit: 1111)
CGroup: /system.slice/mariadb.service
??4607 /usr/sbin/mysqld
Aug 16 06:26:47 ubuntu1804 systemd[1]: Starting MariaDB 10.1.38 database server...
Aug 16 06:26:48 ubuntu1804 mysqld[4607]: 2019-02-16 6:26:48 140715015396480 [Note] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1) starting
Aug 16 06:26:48 ubuntu1804 systemd[1]: Started MariaDB 10.1.38 database server.
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4642]: Upgrading MySQL tables if necessary.
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysql' as: /usr/bin/mysql
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you still n
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4677]: Checking for insecure root accounts.
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4681]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
Установка Redis и Node.js
Затем вам нужно установить Redis и Node.js на вашу систему. Вы можете установить их, выполнив следующую команду:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install gcc g++ make -y
sudo apt-get install nodejs redis-server -y
sudo npm install -g yarnНастройка MariaDB
По умолчанию установка MariaDB не защищена, поэтому вам нужно сначала ее защитить. Вы можете сделать это с помощью следующей команды:
sudo mysql_secure_installationОтветьте на все вопросы, как показано ниже:
Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: YПосле того как MariaDB будет защищена, войдите в оболочку MariaDB с помощью следующей команды:
sudo mysql -u root -pВведите свой пароль root, когда будет предложено. Затем создайте базу данных и пользователя для ERPNext с помощью следующей команды:
MariaDB [(none)]> create database erpnextdb;
MariaDB [(none)]> create user erpnextuser@localhost identified by 'password';Затем предоставьте все привилегии ERPNext с помощью следующей команды:
MariaDB [(none)]> GRANT ALL ON erpnextdb.* TO 'erpnextuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> GRANT all privileges on *.* to 'root'@'localhost' IDENTIFIED BY 'admin@123' WITH GRANT OPTION;Затем сбросьте привилегии и выйдите из оболочки MariaDB с помощью следующей команды:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Установка ERPNext
Сначала создайте каталог для ERPNext и дайте соответствующие права с помощью следующей команды:
sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/Затем перейдите в каталог erpnext и установите erpnext с помощью следующей команды:
cd /opt/erpnextgit clone https://github.com/frappe/bench bench-repoВывод:
Cloning into 'bench-repo'...
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 6144 (delta 10), reused 13 (delta 5), pack-reused 6125
Receiving objects: 100% (6144/6144), 29.70 MiB | 231.00 KiB/s, done.
Resolving deltas: 100% (3924/3924), done.Затем установите bench с помощью команды pip:
sudo pip install -e bench-repoЗатем инициализируйте каталог bench с фреймворком frappe:
bench init erpnextВывод:
Building frappe assets...
? Built js/print_format_v3.min.js
? Built js/dialog.min.js
? Built js/web_form.min.js
? Built js/social.min.js
? Built js/modules.min.js
? Built js/form.min.js
? Built js/list.min.js
? Built js/frappe-vue.min.js
? Built js/chat.js
? Built js/desk.min.js
? Built js/control.min.js
? Built css/frappe-rtl.css
? Built css/module.min.css
? Built css/report.min.css
? Built css/form.min.css
? Built css/list.min.css
? Built frappe/css/email.css
? Built css/web_form.css
? Built css/frappe-web.css
? Built css/desk.min.css
? Built js/frappe-web.min.js
? Built js/report.min.js
? Done in 31.313s
Done in 34.43s.
INFO:bench.utils:setting up backups
no crontab for erpnext
INFO:bench.utils:setting up auto update
no crontab for erpnext
Bench erpnext initializedЗатем перейдите в erpnext и создайте новый сайт для домена node1.example.com с помощью следующей команды:
bench new-site node1.example.comВам будет предложено ввести ваш пароль root MySQL, как показано ниже:
MySQL root password:Введите свой пароль root и нажмите Enter. Вы должны увидеть следующий вывод:
Installing frappe...
Updating DocTypes for frappe : [========================================]
Updating country info : [========================================]
Set Administrator password:
Re-enter Administrator password:
* Scheduler is disabled *Затем предоставьте соответствующие права пользователю erpnext с помощью следующей команды:
sudo chown -R erpnext:erpnext /opt/erpnext/erpnextНаконец, запустите сервер с помощью следующей команды:
bench startВы должны увидеть следующий вывод:
06:34:02 web.1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
06:34:02 web.1 | * Restarting with inotify reloader
06:34:03 watch.1 | yarn run v1.13.0
06:34:03 watch.1 | $ node rollup/watch.js
06:34:03 web.1 | * Debugger is active!
06:34:04 web.1 | * Debugger PIN: 159-307-235
06:34:13 watch.1 |
06:34:13 watch.1 | Rollup Watcher Started
06:34:13 watch.1 |
06:34:13 watch.1 | Watching...
06:34:15 watch.1 | Rebuilding frappe-web.cssДоступ к ERPNext
ERPNext теперь установлен и слушает на порту 8000. Откройте ваш веб-браузер и введите URL http://node1.example.come:8000. Вы будете перенаправлены на следующую страницу:

Теперь введите имя пользователя как Administrator и пароль, который вы указали во время настройки. Затем нажмите кнопку Войти. Вы должны увидеть следующую страницу:

Затем выберите ваш язык и нажмите кнопку Далее. Вы должны увидеть следующую страницу:

Затем выберите вашу страну и нажмите кнопку Далее. Вы должны увидеть следующую страницу:

Затем укажите ваше полное имя и адрес электронной почты. Затем нажмите кнопку Завершить настройку. Вы должны увидеть следующую страницу:

Поздравляем! Вы успешно установили и настроили ERPNext на сервере Ubuntu 18.04. Теперь вы можете легко настроить ERPNext в производственной среде.
Get new posts in your inbox
No spam. Unsubscribe anytime.