Автор выбрал Software in the Public Interest для получения пожертвования в рамках программы Write for DOnations.
ERPNext — это набор планирования ресурсов предприятия (Enterprise Resource Planning, ERP), который позволяет использовать производительность и гибкость технологий с открытым кодом. Он отлично справляется с такими бизнес-процессами, как финансы, продажи, человеческие ресурсы, производство, снабжение, обслуживание, служба поддержки и многое другое. В числе преимуществ внедрения системы, как ERPNext, можно отметить следующее:
ERPNext создан на базе Frappe, платформы комплексной разработки веб-приложений, написанной на Python, со всеми преимуществами среды выполнения Node/JavaScript и использует MariaDB в качестве сервера базы данных. Одним из ряда преимуществ приложений на базе Frappe, например ERPNext, является утилита командной строки bench. CLI bench экономит время администратора за счет автоматизации таких задач, как установка, обновление, настройка и управление многочисленными сайтами Frappe/ERPNext.
В этом обучающем модуле мы установим и настроим стек ERPNext на одном сервере под управлением Ubuntu 20.04. Это позволит вам настроить стек для различных сред разработки или производства в зависимости от ваших потребностей и подготовит вас к созданию более сложной отказоустойчивой архитектуры.
sudo
без прав root. Настроить сервер и пользователя можно с помощью нашего руководства по первоначальной настройке сервера Ubuntu 20.04.Примечание. При выборе спецификаций сервера следует учитывать, что системы ERP могут потреблять множество ресурсов. В этом руководстве рекомендуется использовать один сервер с оперативной памятью 4 ГБ, чего достаточно для базовых случаев использования, но требования определенного аппаратного обеспечения могут зависеть от количества пользователей, а также от размера вашего бизнеса.
your_domain
.Хотя настройка брандмауэра для разработки опциональна, для производства она является обязательной с точки зрения безопасности.
Вам потребуется открыть следующие порты на вашем сервере ERPNext:
80/tcp
и 443/tcp
для HTTP и HTTPS соответственно3306/tcp
для подключения MariaDB (рекомендуется только при необходимости удаленного доступа к базе данных)143/tcp
и 25/tcp
для IMAP и STMP соответственно22/tcp
для SSH (если вы еще не включили OpenSSH
в настройках UFW)8000/tcp
для тестирования платформы перед развертыванием в производствоЧтобы сразу открыть несколько портов можно использовать следующую команду:
- sudo ufw allow 22,25,143,80,443,3306,8000/tcp
Также можно разрешить подключения с определенных IP-адресов на конкретных портах с помощью этой команды:
- sudo ufw allow from server_IP to any port port_number
После открытия всех необходимых портов активируйте брандмауэр:
- sudo ufw enable
Затем подтвердите статус брандмауэра:
- sudo ufw status
UFW выведет список ваших включенных правил. Убедитесь, что открыты необходимые порты ERPNext:
OutputStatus: active
To Action From
-- ------ ----
22,25,80,143,443,3306,8000/tcp ALLOW Anywhere
22,25,80,143,443,3306,8000/tcp (v6) ALLOW Anywhere (v6)
Дополнительную информацию о настройке UFW можно найти в нашем руководстве по настройке брандмауэра с UFW в Ubuntu 20.04.
Настройка соответствующего брандмауэра — это первый из двух предварительных шагов. Теперь мы настроим раскладку клавиатуры и кодирование символов на вашем сервере.
Настоятельно рекомендуется настроить раскладку клавиатуры для консоли, а также язык и кодирование символов на вашем хосте. Это необходимо, чтобы избежать возможных проблем во время установки ERPNext 12. Обратите внимание, что эта конфигурация не имеет никакого отношения к языку пользовательского интерфейса на вашей фактической платформе ERPNext, а служит для конфигурации локальных настроек системы.
Сначала обновите ваш сервер:
- sudo apt update
Теперь настройте раскладку клавиатуры, язык и кодирование символов:
- sudo localectl set-keymap us && sudo localectl set-locale LANG=en_US.utf8
Утилита localectl
используется Ubuntu 20.04 и другими дистрибутивами Linux для контроля и изменения языковых настроек всей системы, а также настроек раскладки клавиатуры перед входом пользователя, что требует ERPNext 12.
Также вам потребуется добавить следующие строки в файл /etc/environment
. Используйте nano
или предпочитаемый текстовый редактор, чтобы открыть файл:
- sudo nano /etc/environment
Добавьте в него следующее содержание:
LC_ALL=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LANG=en_US.UTF-8
Сохраните и закройте файл.
Перезагрузите ваш сервер для внесения всех изменений:
- sudo reboot
Дайте вашему серверу несколько минут для перезагрузки, затем используйте ssh
для повторного входа в ваш экземпляр. Теперь вы готовы установить свою базу данных.
Теперь добавьте MariaDB в стек сервера. Для надлежащей работы ERPNext 12 требуется MariaDB 10.2+. Поскольку Ubuntu 20.04 включает MariaDB 10.3 в свои официальные репозитории, вы можете установить эту версию с помощью команды apt
:
- sudo apt install mariadb-server
Также, если вы предпочитаете более новую версию MariaDB, можно следовать шагу 3 нашего руководства по установке стека ERPNext в Ubuntu 18.04. Он проведет вас по шагам мастера онлайн-репозитория MariaDB, который поможет установить новейшую версию — MariaDB 10.5.
После установки mariadb-server
установите следующие пакеты:
- sudo apt install python3-mysqldb libmysqlclient-dev
ERPNext 12 — это приложение Python, поэтому для управления базой данных требуется библиотека python3-mysqldb
. libmysqlclient-dev
требуется для доступа к определенным функциям разработчика MariaDB.
Затем добавьте дополнительный слой безопасности на сервер MariaDB, запустив скрипт mysql_secure_installation
:
- sudo mysql_secure_installation
Скрипт mysql_secure_installation
будет давать подсказки с помощью вопросов:
ENTER
.N
. Использование пароля по умолчанию и аутентификации Unix — это рекомендуемая настройка для систем на базе Ubuntu, поскольку учетная запись root тесно связана с задачами автоматизированного обслуживания системы.Y
.После завершения выполнения скрипта mysql_secure_installation
MariaDB начнет запуск с использованием настройки по умолчанию. Для стандартной установки ERPNext используется пользователь root для всех операций базы данных. Хотя этот подход может быть удобен для настроек одного сервера, он не является оптимальным с точки зрения безопасности. Поэтому в следующем разделе вы узнаете, как избежать этой проблемы путем создания нового пользователя со специальными привилегиями.
ERPNext будет использовать пользователя root MariaDB для управления подключениями базы данных, но это не всегда идеальное решение. Чтобы преодолеть это ограничение и разрешить пользователю без привилегий root управлять MariaDB, вы вручную создадите базу данных с именем вашего пользователя. Затем вы сможете присвоить специальные привилегии новому пользователю для управления операциями базы данных ERPNext.
Откройте командную строку MariaDB:
- sudo mysql
Теперь создайте новую базу данных с именем пользователя, которое вы хотите назначить для подключений MariaDB. В этом обучающем руководстве будет использоваться sammy
, но вы можете выбрать другое имя:
- CREATE DATABASE sammy;
Убедитесь, что база данных была создана с помощью этого оператора SQL:
- SHOW DATABASES;
Вы увидите примерно следующий вывод:
Output+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sammy |
+--------------------+
Теперь создайте пользователя MariaDB sammy
с привилегиями, аналогичными root, а затем задайте пользователю надежный пароль на свой выбор. Сохраните пароль в надежном месте, он понадобится вам позже:
- GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'%' IDENTIFIED BY 'mariadb_password' WITH GRANT OPTION;
Теперь подтвердите создание пользователя и новые привилегии пользователя:
- SELECT host, user, Super_priv FROM mysql.user;
Результат должен будет выглядеть следующим образом:
Output+-----------+-------+------------+
| Host | User | Super_priv |
+-----------+-------+------------+
| localhost | root | Y |
| localhost | mysql | Y |
| % | sammy| Y |
+-----------+-------+------------+
3 rows in set (0.001 sec)
Теперь очистите привилегии, чтобы вступили в силу все изменения:
- FLUSH PRIVILEGES;
После этого закройте сеанс:
- exit
Теперь, после создания пользователя базы данных, необходимо только сделать отладку MariaDB для обеспечения надлежащей работы ERPNext 12. К счастью, команда ERPNext предоставляет превосходный шаблон настроек, который вы будете использовать в качестве отправной точки для внедрения. В следующем разделе вы узнаете, как правильно настроить базу данных MariaDB.
После установки и обеспечения безопасности MariaDB пришло время для отладки подключений ERPNext.
Сначала остановите mariadb.service
:
- sudo systemctl stop mariadb
Теперь с помощью nano
или вашего любимого текстового редактора создайте файл конфигурации MariaDB под названием mariadb.cnf
:
- sudo nano /etc/mysql/mariadb.conf.d/mariadb.cnf
Добавьте официальный шаблон конфигурации ERPNext:
[mysqld]
# GENERAL #
user = mysql
default-storage-engine = InnoDB
socket = /var/lib/mysql/mysql.sock
pid-file = /var/lib/mysql/mysql.pid
# MyISAM #
key-buffer-size = 32M
myisam-recover = FORCE,BACKUP
# SAFETY #
max-allowed-packet = 256M
max-connect-errors = 1000000
innodb = FORCE
# DATA STORAGE #
datadir = /var/lib/mysql/
# BINARY LOGGING #
log-bin = /var/lib/mysql/mysql-bin
expire-logs-days = 14
sync-binlog = 1
# REPLICATION #
server-id = 1
# CACHES AND LIMITS #
tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 500
thread-cache-size = 50
open-files-limit = 65535
table-definition-cache = 4096
table-open-cache = 10240
# INNODB #
innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-log-file-size = 512M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table = 1
innodb-buffer-pool-size = 5462M
innodb-file-format = barracuda
innodb-large-prefix = 1
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
character-set-client-handshake = FALSE
max_allowed_packet = 256M
# LOGGING #
log-error = /var/lib/mysql/mysql-error.log
log-queries-not-using-indexes = 0
slow-query-log = 1
slow-query-log-file = /var/lib/mysql/mysql-slow.log
# CONNECTIONS #
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
bind-address = 0.0.0.0
[mysql]
default-character-set = utf8mb4
[mysqldump]
max_allowed_packet=256M
Сохраните и закройте файл. Для получения дополнительной информации об этих настройках посмотрите этот файл шаблона в репозитории ERPNext Github. Это полезное начало для изучения этих опций.
Файл конфигурации /etc/mysql/mariadb.conf.d/mariadb.cnf
дополняет и перезаписывает несколько значений, включенных по умолчанию в конфигурацию MariaDB, расположенную в /etc/mysql/my.cnf
. Этот файл дает вам шаблон с рекомендациями, который значительно повышает производительность базы данных для ERPNext. Однако обратите внимание, что хотя этот шаблон является отличным началом, ничто не мешает вам еще больше повысить производительность MariaDB под ваши нужды.
Поскольку ERPNext использует подключение базы данных почти для всех внутренних операций, неплохо бы проверить подключение перед тем, как продолжить.
Запустите mariadb.service
:
- sudo systemctl start mariadb
Для проверки подключения можно использовать следующую команду. Не забудьте заменить sammy
и mariadb_password
на свои учетные данные:
- mysql --user sammy --password mariadb_password --host=localhost --protocol=tcp --port=3306 test
Вы увидите вывод, в котором будет показано содержание базовой справки и ряд параметров. Это означает, что ваше подключение было успешным:
Outputmysql Ver 15.1 Distrib 10.4.13-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Usage: mysql [OPTIONS] [database]
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
...
--ssl-verify-server-cert
Verify server's "Common Name" in its cert against
hostname used when connecting. This option is disabled by
default.
-t, --table Output in table format.
--tee=name Append everything into outfile. See interactive help (\h)
also. Does not work in batch mode. Disable with
--disable-tee. This option is disabled by default.
-u, --user=name User for login if not current user.
-U, --safe-updates Only allow UPDATE and DELETE that uses keys.
-U, --i-am-a-dummy Synonym for option --safe-updates, -U.
-v, --verbose Write more. (-v -v -v gives the table output format).
...
max-join-size 1000000
secure-auth FALSE
show-warnings FALSE
plugin-dir (No default value)
default-auth (No default value)
binary-mode FALSE
connect-expired-password FALSE
Если потребуется внести какие-либо изменения в настройки MariaDB или исправить ошибки, не забудьте перегрузить службу с помощью следующей команды:
- sudo systemctl restart mariadb
После этого включите MariaDB:
- sudo systemctl enable mariadb
Теперь, после проверки подключения базы данных, можно продолжить установку вашего приложения ERPNext.
Теперь, после подготовки серверной части вашей базы данных, можно продолжить настройку вашего веб-приложения ERPNext. В этом разделе вы узнаете, как установить и выполнить настройку всех компонентов, необходимых для ERPNext 12 и затем установить непосредственно приложение.
Начните с подготовки сервера с помощью всех системных пакетов, необходимых для ERPNext 12. Установите общесистемные зависимости с помощью следующей команды:
- sudo DEBIAN_FRONTEND=noninteractive apt install -y curl build-essential python3-testresources python3-setuptools python3-dev libffi-dev python3-pip libcurl4 dnsmasq fontconfig git htop libcrypto++-dev libfreetype6-dev liblcms2-dev libwebp-dev libxext6 libxrender1 libxslt1-dev libxslt1.1 libffi-dev ntpdate postfix python3-dev python-tk screen vim xfonts-75dpi xfonts-base zlib1g-dev apt-transport-https libsasl2-dev libldap2-dev libcups2-dev pv libjpeg8-dev libtiff5-dev tcl8.6-dev tk8.6-dev libdate-manip-perl logwatch
Переменная DEBIAN_FRONTEND=noninteractive
была передана в команду установки для отключения подсказок Postfix. Для получения подробной информации о настройке Postfix ознакомьтесь с нашим руководством Установка и настройка Postfix в Ubuntu 20.04
Затем обновите pip3
, стандартный диспетчер пакетов Python, и установите последние версии трех дополнительных модулей Python:
- sudo -H python3 -m pip install --upgrade setuptools cryptography psutil
setuptools
упрощает установку и обновление пакетов Python, cryptography
добавляет возможности шифрования, а psutil
помогает системе выполнять мониторинг. Теперь, после установки всех необходимых глобальных зависимостей, вы установите все службы и библиотеки, необходимые для ERPNext 12.
ERPNext 12 может работать с версией 8+ среды сервера Node.js. На самом деле на момент составления этого обучающего модуля официальный скрипт ERPNext easy_install
использует Node 8. Но с точки зрения безопасности рекомендуется установить новую версию, так как срок использования Node 8 закончился в 2020 г., и поэтому он больше не будет получать обновления безопасности. На момент составления этого обучающего модуля Ubuntu 20.04 содержит версию 10.19 Node.js. Хотя эта версия все еще поддерживается, по тем же причинам (окончание срока использования) настоятельно рекомендуется не использовать ее. Для этого руководства версия 12 LTS Node.js будет установлена вместе с соответствующими диспетчерами пакетов npm
и yarn
. Обратите внимание, что в каркасе Frappe используется yarn
для установки зависимостей. Если вы решите использовать другой метод установки, убедитесь, что в вашей системе работает конечная версия yarn
1.12+.
Добавьте в вашу систему репозиторий NodeSource:
- curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh
Теперь вы можете проверить содержание загруженного скрипта:
- sudo nano nodesurce_setup.sh
Если вы удовлетворены содержанием скрипта, можно запустить скрипт:
- sudo bash nodesource_setup.sh
Этот скрипт автоматически обновит список apt
. Теперь вы можете установить nodejs
на вашем сервере:
- sudo apt install nodejs
Затем установите yarn
на глобальном уровне с помощью диспетчера пакетов npm
:
- sudo npm install -g yarn
Теперь, после установки Node, можно продолжить настройку wkhtmltopdf
для вашей платформы.
ERPNext использует инструмент с открытым исходным кодом wkhtmltopdf
для конвертации содержимого HTML в PDF с помощью механизма исполнения Qt WebKit. Эта функция используется главным образом для печати счетов-фактур, ценовых предложений и других отчетов. В случае ERPNext 12 требуется определенная версия wkhtmltopdf
0.12.5
с обновленным Qt.
Для установки wkhtmltopdf
начните с перехода в подходящий каталог для загрузки пакета, в данном случае /tmp
:
- cd /tmp
Загрузите соответствующую версию wkhtmltopdf
и пакет для Ubuntu 20.04 со страницы проекта:
- wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
Теперь установите пакет с помощью инструмента dpkg
:
- sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
Затем скопируйте все относящиеся исполняемые файлы в каталог /usr/bin/
:
- sudo cp /usr/local/bin/wkhtmlto* /usr/bin/
Когда файлы будут на месте, измените их разрешения, чтобы они стали исполняемыми:
- sudo chmod a+x /usr/bin/wk*
Теперь, после надлежащей установки wkhtmltopdf
, мы добавим Redis в стек нашей базы данных.
ERPNext 12 использует Redis для повышения производительности MariaDB. В частности, Redis помогает с кешированием.
Сначала установите Redis из официального репозитория Ubuntu 20.04:
- sudo apt install redis-server
Затем активируйте Redis при запуске:
- sudo systemctl enable redis-server
Теперь, после добавления Redis в ваш стек, давайте обобщим, что уже выполнено. На данный момент вы установили основные компоненты, необходимые для ERPNext 12, среди которых:
wkhtmltopdf
Независимо от того, устанавливаете ли вы систему ERP для разработки или производства, вы готовы к следующему шагу, а именно к установке каркаса комплексной разработки Frappe и фактического веб-приложения ERPNext 12.
Теперь, когда вы установили все требования стека ERPNext, вы можете свободно пользоваться возможностями утилиты командной строки bench
. CLI bench
была разработана для оказания помощи пользователям в процессе установки, настройки и управления такими приложениями, как ERPNext, которые созданы на базе каркаса Frappe Framework. В следующих разделах вы установите CLI bench
для дальнейшего использования при выполнении настройки ERPNext 12.
Убедитесь, что пользователь Frappe (в данном случае sammy
) имеет соответствующие права в своем каталоге home
:
- sudo chown sammy -R /home/sammy
Теперь клонируйте репозиторий frappe/bench
в свой домашний каталог. Не забудьте заменить sammy
вашим именем пользователя системы:
- git clone https://github.com/frappe/bench /home/sammy/.bench --depth 1 --branch master
Установите CLI bench
:
- sudo pip3 install -e /home/sammy/.bench
В данном руководстве предполагается, что вы устанавливаете ERPNext 12 для сценариев тестирования/производства и поэтому используете ветку master
. Но если вы намерены разрабатывать приложения или пользовательские модули ERPNext, лучше выбрать ветку develop
. В любом случае вы готовы к установке каркаса Frappe Framework. Это последнее действие перед установкой непосредственно ERPNext.
В этом разделе вы создадите среду Frappe с помощью CLI bench
.
Во время установки Frappe вы можете превысить лимит просмотра файлов Ubuntu, который по умолчанию установлен на 8192. Чтобы избежать этого, установите более высокий лимит с помощью следующей команды:
- echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Команда tee
добавит содержание вашей команды echo
в вызываемый файл, а также напечатает вывод на вашей консоли.
Затем инициализируйте каркас Frappe Framework 12. Замените Sammy на имя пользователя системы:
- bench init /home/sammy/frappe-bench --frappe-path https://github.com/frappe/frappe --frappe-branch version-12 --python python3
Во время выполнения вы можете увидеть одну ошибку, связанную с вашим путем, и несколько предупреждений. Пусть процесс продолжается до конца. По его завершении вы увидите вывод, который будет выглядеть следующим образом и указывать, что среда успешно создана:
Output...
Done in 82.23s.
INFO:bench.utils:setting up backups
no crontab for sammy
SUCCESS: Bench /home/sammy/frappe-bench initialized
Примечание. Процесс bench init
может быть остановлен при возникновении ошибки spawn ENOMEM
. Эта ошибка возникает, когда в системе заканчивается память. Ее необходимо устранить перед продолжением либо путем установки дополнительной физической памяти, либо путем выделения пространства подкачки.
Рассмотрим более подробно команду, которая используется для создания среды:
/home/sammy/frappe-bench
— это путь установки каркаса Frappe Framework, веб-сайтов и связанных приложений. Для размещения всех необходимых файлов в данном примере будет создан новый каталог с именем frappe-bench
.--frappe-path
указывает на репозиторий Frappe, который в данном случае является официальным репозиторием Github.--frappe-branch
— это версия Frappe для установки. Поскольку вы хотите установить ERPNext 12, выбранная версия — Frappe 12.--python
— это версия Python, которая будет использоваться. Для ERPNext 12 требуется Python 3.6+. Однако в предыдущих версиях по-прежнему используется Python 2.7.Дополнительную информацию о командах CLI bench
см. в Справочнике команд Bench.
Гибкость, предлагаемая каркасом Frappe, превосходит возможности изолированных сред. Также вы можете создавать различные веб-сайты и устанавливать на них приложения.
В этом разделе вы настроите сайт на базе Frappe, а затем установите на нем приложение ERPNext 12.
Перейдите в каталог, где был инициирован Frappe.
- cd /home/sammy/frappe-bench
Перед продолжением необходимо установить определенные версии библиотек numpy
и pandas
в виртуальную среду Frappe. Установите эти пакеты с помощью следующей команды:
- ./env/bin/pip install numpy==1.18.5 && ./env/bin/pip install pandas==0.24.2
На этом этапе установка может остановиться примерно на 10-20 минут, и отобразится сообщение:
Output...
Building wheel for pandas (setup.py) ... -
Это вызвано ошибкой, связанной с pandas
и Ubuntu 20.04, достаточно новой на момент написания этого документа. Тем не менее пакеты будут созданы, и по окончании вы увидите следующий вывод:
Output...
Successfully built pandas
Installing collected packages: pandas
Successfully installed pandas-0.24.2
Теперь можно перейти к установке. Загрузите ERPNext 12 из репозитория с помощью командной строки bench
:
- bench get-app erpnext https://github.com/frappe/erpnext --branch version-12
Затем создайте новый сайт, заменив your_domain
на домен, который вы связали с IP-адресом этого сервера:
- bench new-site your_domain --admin-password 'erpnext_admin_password' --mariadb-root-username sammy --mariadb-root-password 'mariadb_password'
Давайте рассмотрим опции, используемые в команде выше:
bench new-site
создает новый сайт на базе каркаса Frappe Framework.your_domain
— это имя нового сайта. Убедитесь, что DNS вашего домена имеет запись A, указывающую на IP-адрес вашего сервера.erpnext_admin_password
— желаемый пароль для пользователя-администратора ERPNext. Сохраните этот пароль в надежном месте, он вскоре вам понадобится.mariadb_password
— это пароль, который вы создали в начале руководства для пользователя sammy
MariaDB.Затем установите приложение ERPNext на сайт:
- bench --site your_domain install-app erpnext
По завершении установки у вас будет рабочее приложение ERPNext 12. Теперь протестируем его с помощью команды bench
:
- bench start
Команда выше инициализирует консоль мониторинга в реальном времени, на которой будут отображаться различные сообщения о веб-сервере и других службах. Откройте веб-браузер и перейдите к localhost:8000
(для локальных установок) или your_domain:8000
(если вы используете удаленный сервер). Вы увидите экран входа ERPNext (мы перейдем к входу и настройке позже, после подготовки нашего сайта к производству).
После просмотра тестового развертывания вернитесь в свой терминал и нажмите CTRL+C
. Это остановит ERPNext и закроет консоль мониторинга.
Если ваша главная задача — создать модули или модифицировать ERPNext 12, можно остановиться на данном этапе. Компоненты для разработки больше не требуются. Однако, если вам нужна готовая система для производства, для которой не требуется ручная инициализация, необходимо установить и настроить еще несколько компонентов. Это ваш следующий шаг.
Хотя ваше приложение ERPNext 12 готово, система в целом еще не подготовлена к производству. Чтобы обеспечить надежность и безопасность ERPNext, необходимо подключить еще несколько служб:
8000
в порт 80
(HTTP) или порт 443
(HTTPS)К этому моменту вы установили и настроили вручную ERPNext 12, что позволило вам отрегулировать процесс под ваш конкретный сценарий использования. Тем не менее для остальной части производственной настройки можно воспользоваться удобством CLI bench
и автоматизировать установку и настройку остальных служб.
Убедитесь, что вы находитесь в рабочем каталоге Frappe:
- cd /home/sammy/frappe-bench
Теперь используйте следующую команду для завершения настройки ERPNext 12 для производства:
- sudo bench setup production sammy --yes
Команда выше установит и настроит Nginx, Supervisor и Fail2Ban установит sammy
в качестве владельца среды производства.
Файлы конфигурации, созданные командой bench
:
/etc/nginx/nginx.conf
и /etc/nginx/conf.d/frappe-bench.conf
/etc/fail2ban/jail.d/nginx-proxy.conf
и один фильтр, расположенный в /etc/fail2ban/filter.d/nginx-proxy.conf
Этих настроек по умолчанию достаточно для данного руководства, но вы можете свободно изучать и настраивать эти файлы под свои нужды.
- sudo supervisorctl stop all
And then, once you are ready, you can restart your services:
- sudo supervisorctl start all
Now you are ready to test your installation.
Прежде всего, убедитесь в работе ключевых служб производства. Используйте следующую команду systemctl
и затем привяжите ее к grep
:
- systemctl list-unit-files | grep 'fail2ban\|nginx\|supervisor'
Результат должен будет выглядеть следующим образом:
Outputfail2ban.service enabled
nginx.service enabled
supervisor.service enabled
Убедившись в том, что все работает ожидаемым образом, вы можете протестировать ERPNext 12 в реальном времени на своем сервере. Откройте свой любимый браузер и перейдите к your_domain или туда, где содержится приложение ERPNext 12.
Через несколько секунд вы должны увидеть экран входа в ERPNext 12. Используйте Administrator для имени пользователя (адрес эл. почты) и erpnext_admin_password
, созданный ранее для пароля.
На следующем экране вы увидите выпадающее меню, где вы можете выбрать язык пользовательского интерфейса для приложения:
После выбора языка ERPNext подскажет вашу страну, часовой пояс и валюту:
После добавления региона вы сможете создать своего первого пользователя ERPNext. Предоставленная информация будет использоваться в качестве учетных данных для входа пользователя.
На следующем экране вы увидите вопрос о доменах, которые вызывает ERPNext. Если вы не уверены в том, какой у вас домен, выберите Distribution и нажмите кнопку Next (далее).
Затем вам потребуется указать название компании и сокращенное название.
На последнем экране ERPNext попросит ввести информацию о деятельности компании, название банка, план счетов и период финансового года. Дополнительные банки вы сможете ввести позже. Теперь заполните все поля на свое усмотрение и нажмите кнопку Complete Setup (Завершить настройку).
Далее вы увидите строку хода выполнения.
По завершении настройки появится главная панель ERPNext 12.
Теперь вы полностью установили и настроили приложение ERPNext 12.
Теперь, когда вы соответствующим образом установили приложение ERPNext 12, возможно, вы захотите начать внедрение системы для потребностей своей компании. Лучше всего начать, нажав на кнопку Getting Started (Начало работы) на панели ERPNext. ERPNext поможет вам настроить платформу для всех потребностей бизнеса и электронной коммерции.
Также вы, возможно, захотите повысить скорость ERPNext. В этом случае можно ознакомиться с настройкой производительности ERPNext, где вы узнаете о лучших практиках и способах устранения ошибок, связанных с производительностью.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.