Упрощенная установка ERPNext 14 на Ubuntu 22.04 LTS через дроплет DigitalOcean

Упрощенная установка ERPNext 14 на Ubuntu 22.04 LTS через дроплет DigitalOcean

13 апреля 2023 г.

Это руководство поможет вам установить Frappe и ERNext 14 на Ubuntu 22.04 LTS, размещенном на Digitalocean, с помощью простых инструкций

Оглавление

  • Создайте новую каплю в Digitalocean с помощью Ubuntu 22.04
  • Установите все предварительное программное обеспечение, необходимое для установки Frappe и ERPNext.
  • Добавьте SWAP на свой сервер
  • Обновите сервер и установите ЛОКАЛЬНЫЕ НАСТРОЙКИ.
  • Установите HTTP-сервер NGINX
  • Установите сервер базы данных MySQL
  • Установите пакеты Ubuntu, необходимые для Python3 и т. д.
  • Добавьте системного пользователя frappe для установки ERPNext
  • Создайте базу данных MySQL
  • Подключение к серверу по SSH с помощью пользователя frappe в новой консоли или окне терминала
  • Установите некоторые пакеты на основе python3, такие как setuptools и т. д.
  • Установить wkhtmltopdf
  • Установите сервер Redis Cache
  • Установите nodejs с помощью NVM
  • Установите полнофункциональную веб-инфраструктуру Frappe и веб-приложение ERPNext.
  • Установить скамейку (Установка интерфейса командной строки Frappe Bench)
  • Обновить пункт
  • Установка настольных приложений
  • Добавить новый сайт на стенд
  • Установить тестовое приложение на тестовый сайт.
  • Тестовый стенд на порту 8000
  • Настройте рабочий сервер с помощью NGINX для вашего экземпляра ERPNext
  • Добавить HTTPS
  • Начать использовать ERPNext

ERPnext — это БЕСПЛАТНОЕ программное обеспечение для планирования ресурсов предприятия с открытым исходным кодом, разработанное и поддерживаемое FOSS - компания, продвигающая Frappe Technologies Pvt. Ltd., расположенной в финансовой столице Индии Мумбаи.

ERPNext — лучшая среди БЕСПЛАТНЫХ ERP-систем, доступных в 2023 году, таких как Dolibarr, Odoo и т. д. В 2018 году ERPNext вошла в пятерку лучших удобных для пользователя ERP-систем Gartner, превзойдя Microsoft, SAP, Bexio и несколько других ERP-систем. /p>

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

Тем не менее, пользователям, не обладающим техническими знаниями, нелегко разобраться в этом.

Мое руководство по установке ERPNext, приведенное ниже, представляет собой простой в использовании набор инструкций, которые помогут вам легко установить ERPNext версии 14 на дроплете объемом 4 ГБ, на котором размещена Ubuntu 22.04 LTS.

Создайте новую каплю в Digitalocean с помощью Ubuntu 22.04

Зарегистрируйте новую учетную запись или войдите в уже существующую учетную запись Digitalocean.

После того, как вы окажетесь на странице "проекты" своей учетной записи Digitalocean, нажмите зеленую кнопку "Создать" в правом верхнем углу и выберите "droplet" из падать. Вы перейдете на страницу Создать капли.

На странице Создать дроплет вы можете настроить свой сервер, следуя инструкциям на этой странице, например:-

* Центр обработки данных вашего сервера: я обычно выбираю Бангалор или Сингапур, потому что они ближе всего к моему местоположению.

* Образ операционной системы для вашего сервера: я обычно предпочитаю последнюю версию Ubuntu LTS. В настоящее время LTS-версия Ubuntu — 22.04.

* Размер ЦП для вашего сервера: я обычно выбираю Базовый и Обычный с 4 ГБ ОЗУ для новой установки ERPNext. Я бы рекомендовал минимальный объем оперативной памяти для ERPNext 2 ГБ с 4 ГБ SWAP.

После того, как вы настроили сервер, добавьте свой SSH< /a> ключ для быстрого доступа к вашему серверу с вашего ПК.

Если вы работаете в Windows, вы можете использовать Putty для доступа к своему серверу, в противном случае вы можете просто запустить ssh root@-your-droplet-ip-address на своем терминале Linux или в Mac Command.

Наконец, нажмите кнопку Создать каплю, чтобы создать новый сервер для вашей установки ERPNext 14.

Установите все предварительное программное обеспечение, необходимое для установки Frappe и ERPNext

Чтобы установить Frappe и ERPNext, нам нужно установить несколько основных программ, таких как gcc, python, mariadb и т. д.

Следуйте инструкциям ниже:-

Войдите на свой сервер с вашего ПК для быстрого доступа. Поскольку я использую ArchLinux, мне просто нужно открыть окно Terminal, а затем просто ssh подключиться к моему серверу.

Замените IP-адрес моего сервера на IP-адрес вашего дроплета. Примечание. Я удалю свой сервер после публикации этой статьи.

$ssh root@-ваш-капля-ip-адрес

Добавьте SWAP на свой сервер

Хотя 4 ГБ ОЗУ достаточно для экземпляра ERPNext, на всякий случай может возникнуть процесс, потребляющий оперативную память, поэтому для продолжения работы нашего экземпляра было бы неплохо иметь некоторый SWAP.

Обычно я предпочитаю подкачку в два раза больше ОЗУ вашего сервера, но вы также можете добавить подкачку 4 ГБ, чтобы сэкономить место на диске.

Чтобы добавить подкачку, следуйте инструкциям здесь: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-22-04.

Убедитесь, что у вас уже есть SWAP:-

Создайте SWAP на 8 ГБ:-

Сделайте свой SWAP постоянным, чтобы при перезапуске сервера у вас также был свой SWAP.

Отрегулируйте или настройте параметры SWAP swappiness и vfs_cache_pressure:-

Обновите сервер и установите LOCALES

$ sudo apt update

$ sudo apt upgrade

После того, как вы полностью обновите свой сервер Ubuntu 22.04, вы можете установить LOCALES, которые требуются для ERPNext.

$ sudo localectl set-keymap us && sudo localectl set-locale LANG=en_US.utf8

Примечание.  Если вы получили сообщение об ошибке Не удалось установить раскладку: раскладка не установлена., вы можете следовать инструкциям, приведенным на странице https://www.claudiokuenzler.com/blog/1257/how-to -fix-missing-keymaps-debian-ubuntu-localectl-failed-read-list, чтобы устранить эту ошибку и продолжить установку ERPNext 14.

$ sudo nano /etc/environment (и скопируйте и вставьте следующее внизу файла после $PATH)

####################
LC_ALL=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LANG=en_US.UTF-8
####################

Теперь перезагрузите сервер, чтобы обновить локали и сервер.

$ перезагрузка sudo

Установите HTTP-сервер NGINX

$ sudo apt install nginx (и проверьте, открыв IP-адрес вашей капли в окне браузера)

Однако приведенный ниже раздел является необязательным. Если вы хотите получить доступ к своему экземпляру ERPNext, используя HTTPS://DOMAIN_NAME, вы должны следовать этим необязательным инструкциям.

ДОПОЛНИТЕЛЬНО

Установите certbot (ubuntu 20.04 не поддерживает certbot-auto, требуемый erpnext—frappe-bench, поэтому мы будем использовать snap для установки certbot classic для создания SSL-сертификатов вручную с помощью lets-encrypt).

$ sudo service nginx stop

$ sudo snap install --classic certbot

Создайте SSL-сертификат lets-encrypt для ваших доменных имен — сертификат будет сохранен в папке -your-domain-name-folder-name- в /etc/letsencrypt/live< /код>

$ sudo certbot certonly --standalone (здесь будут запрошены ваши доменные имена)

$ запуск службы sudo nginx

НЕОБЯЗАТЕЛЬНЫЕ КОНЕЦ

Установите сервер базы данных MySQL

$ sudo apt установить mariadb-сервер

$ sudo apt установить python3-mysqldb libmysqlclient-dev

$ sudo mysql_secure_installation

$ sudo systemctl остановить mariadb

$ sudo nano /etc/mysql/mariadb.conf.d/mariadb.cnf (и скопируйте и вставьте следующее, чтобы сохранить файл)

https://gist.github.com/chetanmittaldev/28ea822b9815feac891d2c809f8d2598

Перезапустите сервер MySQL:-

$ sudo systemctl start mariadb

$ sudo systemctl включить mariadb

Установите пакеты Ubuntu, необходимые для Python3 и т. д.

$ 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

Добавить системного пользователя frappe для установки ERPNext

Добавьте пользователя 'frappe' с паролем 'password', выполнив следующие команды в своем терминале:-

Фраппе $ adduser

$ usermod -aG sudo frappe

$ rsync --archive --chown=frappe:frappe ~/.ssh /home/frappe/

Создайте базу данных MySQL

Добавьте базу данных MySQL 'frappe' с пользователем 'frappe' и паролем 'password', выполнив следующие команды:-

$ mysql

$ MariaDB [(нет)]> СОЗДАТЬ БАЗУ ДАННЫХ;

$ MariaDB [(нет)]> ПОКАЗАТЬ БАЗЫ ДАННЫХ;

$ MariaDB [(нет)]> ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА . ДЛЯ 'frappe'@'%', ИДЕНТИФИЦИРОВАННОГО 'ПАРОЛЕМ' С ВАРИАНТОМ ПРЕДОСТАВЛЕНИЯ;

$ MariaDB [(нет)]> ВЫБЕРИТЕ хост, пользователя, Super_priv FROM mysql.user;

$ MariaDB [(нет)]> СБРОС ПРИВИЛЕГИЙ;

$ MariaDB [(нет)]> выйти

Подключение к серверу по SSH с помощью пользователя frappe в новой консоли или окне терминала

$ ssh frappe@-ваш-дроплет-ip-адрес

Установите некоторые пакеты на основе python3, такие как setuptools и т. д.

$ sudo -H python3 -m pip install --upgrade setuptools криптография psutil

Установить wkhtmltopdf

установите wkhtmltopdf, так как для erpnext12 требуется версия 0.12.5 (я не уверен насчет erpnext13 или erpnext14, но на всякий случай установил):-

$ cd /tmp

$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb

Теперь wkhtmltopdf нужен пакет libssl1.1, который недоступен в Ubuntu 22.04 LTS, поэтому мы добавим репозиторий пакетов для Ubuntu 20.04, а затем установим libssl1.1 оттуда:-

$ echo "deb http://security.ubuntu.com/ubuntu focus-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list

$ sudo apt-get update

$ sudo apt-get установить libssl1.1

$ sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb

$ sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

$ cd ~

$ sudo chmod a+x /usr/bin/wk*

$ sudo rm /etc/apt/sources.list.d/focal-security.list

Установите сервер Redis Cache

$ sudo apt install git python-dev-is-python3 python3-dev redis-server

$ sudo apt-get install software-properties-common

$ sudo apt-get install xvfb libfontconfig wkhtmltopdf

$ sudo systemctl enable redis-server

Установите nodejs с помощью NVM

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | Баш

$ sudo reboot (требуется для запуска команды nvm)

Подключение по SSH 'frappe' снова к пользователю

$ nvm install --lts (установите LTS-версию NodeJS; в настоящее время это версия 18.15.0)

$ npm install -g пряжа

Проверьте установку nodejs, npm, yarn:-

$ пряжа --версия

$ npm -v

$ узел -v

Подведем итоги того, что мы уже сделали. К этому моменту вы установили все основные компоненты, необходимые для ERPNext 14, в том числе: -

  1. Nginx
  2. Certbot
  3. Создание SSL-сертификата
  4. Питон3
  5. БД MariaDB
  6. Nodejs, NPM
  7. Диспетчер пакетов Yarn
  8. Кэш базы данных Redis
  9. Генератор PDF-документов wkhtmltopdf

Независимо от того, устанавливаете ли вы ERP-систему для разработки или производства, теперь вы готовы к следующему шагу — установке полнофункциональной инфраструктуры Frappe и фактического веб-приложения ERPNext 14.

Установите полнофункциональную веб-инфраструктуру Frappe и веб-приложение ERPNext

Системный пользователь SSH 'frappe' в новой консоли или окне терминала:-

$ ssh frappe@-ваш-дроплет-ip-адрес

Установка скамейки (Установка интерфейса командной строки Frappe Bench)

$ cd ~

$ sudo chown frappe -R /home/frappe

$ sudo pip3 установить frappe-bench

$ скамейка --version

$ sudo apt установить python3.10-venv

$ скамейка init frappe-bench

$ cd frappe-bench

$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

$ ./env/bin/pip install numpy && ./env/bin/pip установить панды

Обновить пункт

$ /home/frappe/frappe-bench/env/bin/python -m pip install --upgrade pip

Установка настольных приложений

$ Bench Get-App erpnext

Добавить новый сайт на стенд

$ Bench new-site -your-domain-name-or-droplet-ip-address- --admin-password -your-admin-password- --mariadb-root-username frappe --mariadb- root-password 'пароль'

Установить настольное приложение на тестовый сайт

$ Bench --site -your-domain-name-or-droplet-ip-address-install-app erpnext

Тестовый стенд на порту 8000

$ Старт со скамьи

Откройте новое окно браузера и откройте -your-domain-name-or-droplet-ip-address-:8000 для проверки:-

Настройте рабочий сервер с помощью NGINX для вашего экземпляра ERPNext

SSH на ваш сервер с использованием пользователя 'frappe' в новой консоли или окне терминала:-

$ ssh frappe@-ваш-дроплет-ip-адрес

$ cd /home/frappe/frappe-bench

$ sudo Bench Setup Frappe --yes

Убедитесь, что необходимые службы работают на вашем сервере:-

$ sudo supervisorctl остановить все

$ sudo supervisorctl запустить все

$ systemctl list-unit-files | grep 'fail2ban|nginx|супервизор'

Убедившись, что все работает должным образом, вы можете протестировать ERPNext 14 вживую на своем сервере.

Откройте свой любимый браузер и перейдите к -your-domain-name-or-droplet-ip-address- или туда, где вы размещаете свое приложение ERPNext 14.

Через несколько секунд вы должны увидеть экран входа в ERPNext 14.

Используйте Администратор для имени пользователя (электронной почты) и erpnext_admin_password, созданный ранее для пароля.

Файл конфигурации NGINX сохраняется по следующему пути:-

$ sudo nano /etc/nginx/conf.d/frappe-bench.conf

Добавить HTTPS

$ sudo -H Bench Setup add-domain -your-cname-domain-name-

$ sudo -H настройка стенда nginx

$ sudo service nginx reload

Включите мультиарендность для работы HTTPS: –

$ sudo -H Bench config dns_multitenant on

$ sudo -H настройка стенда nginx

$ sudo service nginx reload

Добавить SSL-сертификат (lets-encrypt) на сайт стенда (установить HTTPS на домене вершины) — frappe-bench использует тот же путь /etc/letsencrypt/live для получения сертификатов SSL:-

$ sudo -H Bench setup позволяет зашифровать -ваше-домен-имя-или-дроплет-ip-адрес- —пользовательский-домен -ваше-cname-доменное-имя-

$ sudo -H настройка стенда nginx

$ sudo service nginx reload {или $ sudo service nginx start}

Начать использовать ERPNext

Откройте -your-domain-name-or-droplet-ip-address- в окне браузера.

Известные проблемы

  1. ПРЕДУПРЕЖДЕНИЕ. Не удается подключиться к redis_cache для обновления assets_json во время bench init. Следуйте инструкциям на странице https://discuss.frappe.io/t/issue-w-redis-during-bench-init-step/87134 .
  2. Bench отлично работает на порту 8000, однако во время производства он не работает. Это может быть связано с тем, что сервер redis не работает на порту 11000. Чтобы исправить это, откройте файл sudo nano /etc/redis/redis.conf и измените порт на 11000. Не забудьте перезагрузить redis-сервер снова. Следуйте инструкциям на странице https://linuxhint.com/change-default-port-redis/. ли>


Сообщите мне в комментариях, если у вас возникнут какие-либо проблемы!

:::информация Первоначально опубликовано здесь.

:::


Оригинал