CentOS 7にERPNextオープンソースERPをインストールする方法

ERPまたはエンタープライズリソースプランニングは、コアビジネスプロセスの管理に使用されるエンタープライズアプリケーションスイートです。ERPNextは、Pythonで記述された無料のオープンソースのセルフホスト型ERPアプリケーションです。フロントエンドにNode.jsを使用し、MariaDBにデータを格納します。ERPNextは、企業が日常のタスクを管理できるようにする使いやすいWebインターフェイスを提供します。会計、CRM、HRM、製造、POS、プロジェクト管理、購入、販売管理、倉庫管理などのモジュールが含まれています。ERPNextは、サービスプロバイダー、製造、小売、学校などのさまざまな業界を管理するために使用できます。

このチュートリアルでは、CentOS 7にERPNextをインストールします。

前提条件

このチュートリアルではerp.example.com、サーバーを指すドメイン名としてを使用します。すべてのerp.example.comを実際のドメイン名に置き換えてください。

CentOS 7のアップデート方法」ガイドを使用して、ベースシステムをアップデートします。システムが更新されたら、Pythonのインストールに進みます。

開発ツールをインストールする

ERPNextが機能するには、Pythonバージョン2.7が必要です。Python 2.7は、すべてのCentOSサーバーインスタンスにデフォルトでインストールされます。次のコマンドを実行して、インストールされているPythonのバージョンを確認できます。

python -V

同様の出力が得られるはずです。

[user@vultr ~]$ python -V
Python 2.7.5

インストールされているPythonのバージョンは最新ではありませんが、問題なく動作します。Pythonのデフォルトバージョンを変更すると、YUMが壊れる場合があります。

Development toolsインストーラーファイルのコンパイルに必要なパッケージをグループにインストールします。

sudo yum groupinstall -y "Development tools"

さらにいくつかの依存関係をインストールします。

sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel

Pythonのpipツールをインストールします。PipはPythonパッケージの依存関係マネージャーです。

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

上記のコマンドは、Pipをシステムにインストールします。あなたが最新のバージョンを持っていることを確認するためpipsetuptools、実行しました:

sudo pip install --upgrade pip setuptools

Pipを使用してAnsibleをインストールします。Ansibleは、ソフトウェアのプロビジョニング、構成管理、およびアプリケーションのデプロイメントを自動化します。

sudo pip install ansible

MariaDBサーバーをインストールする

MariaDBはMySQLデータベースサーバーのフォークです。実行してMariaDBをインストールします。

sudo yum -y install mariadb mariadb-server mysql-devel

ERPNextデータベースの作成にはBarracudaストレージエンジンが必要であるため、Barracudaストレージエンジンを使用するようにMariaDBを設定する必要があります。デフォルトのMariaDB設定ファイルを編集しますmy.cnf

sudo nano /etc/my.cnf

その行の下に次の行を追加しますsymbolic-links=0

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 start mariadb.service
sudo systemctl enable mariadb.service

データベースを構成する前に、MariaDBを保護する必要があります。次のmysql_secure_installationスクリプトを実行して、セキュリティを保護できます。

sudo mysql_secure_installation

現在のMariaDBルートパスワードの入力を求められます。デフォルトでは、MariaDBにはrootパスワードが設定されていません。Enterキーを押して続行します。MariaDBサーバーのrootユーザーに強力なパスワードを設定し、他のすべての質問に「Y」と答えます。質問は自明です。

Nginx、Nodejs、Redisをインストールする

EPELリポジトリはすべてのVultr CentOS 7インスタンスにデフォルトでインストールされるため、RedisとNginxを直接インストールできます。ただし、Node.jsの最新バージョンをインストールするには、Nodesourceリポジトリをシステムに追加する必要があります。

Node.js 8.xのNodesourceリポジトリを追加します。

sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

Nginx、Nodejs、Redisをインストールします。

sudo yum -y install nginx nodejs redis

Nginxを起動し、次のコマンドを実行して起動時に起動できるようにします。

sudo systemctl start nginx
sudo systemctl enable nginx

Redisを起動し、次のコマンドを実行して起動時に起動できるようにします。

sudo systemctl start redis
sudo systemctl enable redis

PDF Converterをインストールする

このwkhtmltopdfプログラムは、QT Webkitレンダリングエンジンを使用してHTMLをPDFに変換するコマンドラインツールです。必要な依存関係をインストールします。

sudo yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

最新バージョンのをダウンロードしてくださいwkhtmltopdf

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

次を実行してアーカイブを抽出します。

sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt

上記のコマンドは、アーカイブをに抽出します/opt/wkhtmltox。そのようにソフトリンクを作成wkhtmltopdfし、wkhtmltoimageコマンドとして世界的に実行することができます。

sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage

wkhtmltopdf -Vコマンドを実行して、機能しているかどうかを確認できます。次のように表示されます。

[user@vultr ~]$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)

この時点で、必要なすべての依存関係がインストールされています。これで、Benchのインストールに進むことができます。

ベンチをインストール

BenchFrappeが提供するコマンドラインユーティリティで、開発と生産の両方の目的で、UNIXベースのシステムにERPNextアプリケーションをインストールおよび管理します。BenchはNginxとスーパーバイザ構成を作成および管理することもできます。

分離された環境でBenchプロセスを実行する新しいユーザーを作成します。

sudo adduser bench -d /opt/bench

ユーザーのパスワードを変更します。

sudo passwd bench

提供sudoへのアクセス権benchをユーザーに。

sudo usermod -aG wheel bench

新しく作成したbenchユーザーとしてログインします。

sudo su - bench

Benchリポジトリのクローンを作成します/opt/bench

cd /opt/bench
git clone https://github.com/frappe/bench bench-repo

を使用してベンチをインストールしpipます。

sudo pip install -e bench-repo

Benchをインストールしたら、さらにBenchを使用してERPNextをインストールします。

Benchを使用してERPNextをインストールする

インストールされたフラッペフレームワークでベンチディレクトリを初期化します。すべてを整頓するために、/opt/benchディレクトリの下で作業します。Benchはまた、1日に1回、定期的なバックアップと自動更新をセットアップします。

cd /opt/bench
bench init erpnext && cd erpnext

新しいFrappeサイトを作成します。

bench new-site erp.example.com

上記のコマンドは、MySQL rootパスワードの入力を求めます。MySQL rootユーザーに対して以前に設定したパスワードを入力します。また、管理者アカウントの新しいパスワードを設定するように求められます。管理者ダッシュボードにログインするには、後でこのパスワードが必要になります。

Benchを使用して、リモートgitリポジトリからERPNextインストールファイルをダウンロードします。

bench get-app erpnext https://github.com/frappe/erpnext

新しく作成したサイトにERPNextをインストールします。

bench --site erp.example.com install-app erpnext

ERPNextがサーバーにインストールされます。アプリケーションをすぐに起動して、アプリケーションが正常に起動したかどうかを確認できます。

bench start

ただし、実行を停止して、プロダクションで使用するためのアプリケーションのセットアップに進む必要があります。

セットアップスーパーバイザーとNginx

デフォルトでは、ERPNextアプリケーションは、標準のHTTPポート80ではなく、ポート8000​​でリッスンします。また、サーバーを公開するため、本番環境で使用するために組み込みのWebサーバーを実行することはお勧めしません。したがって、ApacheやNginxなどのリバースプロキシとして本番ウェブサーバーを使用する必要があります。このチュートリアルでは、NginxをBenchを使用して自動的に構成できるため、リバースプロキシとして使用します。Benchは、ERPNextセットアップに従って構成を自動的に生成してインストールできます。

上記のコマンドを使用してアプリケーションを起動できますが、ターミナルを閉じるとすぐにERPNextの実行が停止します。この問題を解決するには、実稼働環境でアプリケーションを継続的に実行するのに非常に役立つスーパーバイザを使用することをお勧めします。スーパーバイザは、Linuxオペレーティングシステムで多数のプロセスを監視および制御できるプロセス制御システムです。スーパーバイザが設定されると、起動時と障害時にアプリケーションが自動的に起動します。Benchは、ERPNextアプリケーションのスーパーバイザを自動的に構成できます。

スーパーバイザーをインストールします。

sudo yum -y install supervisor

スーパーバイザを起動し、起動時に自動的に起動するように有効にします。

sudo systemctl start supervisord
sudo systemctl enable supervisord

本番用のセットアップベンチ:

 sudo bench setup production bench

上記のコマンドは、既存のスーパーバイザのデフォルト設定ファイルを新しいものに置き換える前にプロンプ​​トを表示する場合があります。y続行を選択します。ベンチは、スーパーバイザー構成ファイルにいくつかのプロセスを追加します。上記のコマンドでは、現在のNginx構成を新しい構成に置き換えるかどうかも尋ねられます。Enter yで続行します。Benchが設定のインストールを完了したら、Benchユーザーのホームディレクトリにあるファイルを実行するよう他のユーザーに提供します。

chmod o+x /opt/bench/

サーバーでファイアウォールを実行している場合は、ファイアウォールを構成してHTTPサービスの例外を設定する必要があります。Nginxリバースプロキシがネットワークの外部から接続できるようにします。

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

これで、サイトにアクセスできますhttp://erp.example.com

次のコマンドを実行して、プロセスのステータスを確認できます。

sudo supervisorctl status all

次の出力が表示されます。

[bench@vultr ~]$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 2554, uptime 1:06:58
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 2553, uptime 1:06:58
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 2555, uptime 1:06:58
erpnext-web:erpnext-frappe-web                    RUNNING   pid 2559, uptime 1:06:58
erpnext-web:erpnext-node-socketio                 RUNNING   pid 2556, uptime 1:06:58
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 2549, uptime 1:06:58
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 2551, uptime 1:06:58
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 2550, uptime 1:06:58
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 2552, uptime 1:06:58

すべてのERPNextプロセスを停止するには、以下を使用します。

sudo supervisorctl stop all

すべてのERPNextプロセスを開始するには、以下を使用します。

sudo supervisorctl start all

Let's Encryptを使用したSSLのセットアップ

Let's Encryptは、ユーザーに無料のSSL証明書を提供します。SSLは手動またはBenchを介して自動的にインストールできます。BenchはLet's Encryptクライアントを自動的にインストールし、証明書を取得できます。さらに、証明書を使用するようにNginx構成を自動的に更新します。

Let's Encrypt CAから証明書を取得するために使用しているドメイン名は、サーバーに向けられている必要があります。クライアントは、証明書を発行する前にドメイン認証局を確認します。

ERPNextアプリケーションのDNSマルチテナンシーを有効にします。

bench config dns_multitenant on

ベンチを実行して、サイトにLet's Encryptを設定します。

sudo bench setup lets-encrypt erp.example.com

スクリプトの実行中に、Let's EncryptクライアントからNginx Webサーバーを一時的に停止するように求められます。必要なパッケージとLet's Encryptクライアントが自動的にインストールされます。クライアントはあなたのメールアドレスを要求します。また、利用規約に同意する必要があります。証明書が生成されると、BenchはSSL証明書を使用するNginxの新しい構成も生成します。既存の構成を置き換える前に求められます。また、Benchはcrontabエントリを作成して、証明書を毎月自動的に更新します。

最後に、スケジューラがスケジュールされたジョブを自動的に実行できるようにします。

bench enable-scheduler

君は見るべきだ:

[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com

まとめ

プロセスが完了したら、でアプリケーションにアクセスできますhttps://erp.example.comAdministratorインストール時に設定したユーザー名とパスワードでログインします。ERPNext ERPを会社に合わせて設定するための情報を提供する必要があるデスクに移動します。これで、アプリケーションを使用して会社を管理できます。

おめでとうございます。CentOS7サーバーに完全に動作するERPNextアプリケーションがインストールされました。



CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

CentOS 7へのNetdataのインストール

CentOS 7へのNetdataのインストール

別のシステムを使用していますか?Netdataは、リアルタイムのシステムメトリックモニタリングの分野における新星です。同じ種類の他のツールと比較すると、Netdata:

CentOS 7にJust Cause 2(JC2-MP)サーバーをインストールする方法

CentOS 7にJust Cause 2(JC2-MP)サーバーをインストールする方法

このチュートリアルでは、Just Cause 2マルチプレイヤーサーバーのセットアップ方法をよく学びます。前提条件開始する前に、システムが完全に更新されていることを確認してください

CentOS 7にStarbound Serverをインストールする方法

CentOS 7にStarbound Serverをインストールする方法

別のシステムを使用していますか?このチュートリアルでは、CentOS 7でStarboundサーバーをセットアップする方法を説明します。前提条件このゲームを所有している必要があります。

CentOS 8、Ubuntu 18.04、Debian 10、Fedora 31にGolang 1.13をインストールする方法

CentOS 8、Ubuntu 18.04、Debian 10、Fedora 31にGolang 1.13をインストールする方法

Go(Golangとも呼ばれます)は、静的に型付けされ、コンパイルされた、Cのようなプログラミング言語で、Googleによって開発されました。シンプルさと多用途性により、b

CentOS 7にDjangoをインストールする方法

CentOS 7にDjangoをインストールする方法

Djangoは、Webアプリケーションを作成するための一般的なPythonフレームワークです。Djangoを使用すると、ホイールを再発明することなく、アプリケーションをより速く構築できます。あなたが望むなら

CentOS 7 LAMP VPSにTextPattern CMSをインストールする方法

CentOS 7 LAMP VPSにTextPattern CMSをインストールする方法

別のシステムを使用していますか?TextPattern CMS 4.6.2はシンプルで柔軟な無料のオープンソースコンテンツ管理システム(CMS)であり、Webデザイナーが

CentOS 7にElggをインストールする

CentOS 7にElggをインストールする

別のシステムを使用していますか?Elggはオープンソースのソーシャルネットワーキングエンジンであり、キャンパスのソーシャルネットワークや

CentOS 7にFroxlor Server Management Panelをインストールする方法

CentOS 7にFroxlor Server Management Panelをインストールする方法

Froxlorは、オープンソースの無料で軽量かつ強力なサーバー管理パネルであり、Webホスティングサービスの確立と管理に最適です。ティ

CentOS 7でMatrix SynapseとRiotを使用してチャットサーバーを作成する

CentOS 7でMatrix SynapseとRiotを使用してチャットサーバーを作成する

Matrixは、分散型リアルタイム通信用のオープンスタンダードの通信プロトコルです。マトリックスは、上記に分散されているホームサーバーとして実装されています

CentOS 7にVtiger CRM Open Source Editionをインストールする方法

CentOS 7にVtiger CRM Open Source Editionをインストールする方法

Vtiger CRMは、企業が売り上げを伸ばし、顧客サービスを提供し、利益を増やすのに役立つ人気の顧客関係管理アプリケーションです。私

CentOS 7にPufferPanel(無料のMinecraftコントロールパネル)をインストールする方法

CentOS 7にPufferPanel(無料のMinecraftコントロールパネル)をインストールする方法

はじめにこのチュートリアルでは、Vultr VPSにPufferPanelをインストールしてください。PufferPanelは、オープンソースで自由に使用できるコントロールパネルで、あなたを管理します

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

この記事では、CentOS 7サーバーにApache 2.4をインストールするプロセスの概要を説明します。前提条件:最新のCentOS 7サーバー。sudoユーザー。Ste

PHPを5から7に更新する方法(NGINX / Apache、CentOS 7)

PHPを5から7に更新する方法(NGINX / Apache、CentOS 7)

はじめにこのチュートリアルでは、NGINXまたはApacheを使用してPHP 5 *を7に更新する方法について説明します。前提条件始める前に、リポジトリを追加する必要があります

CentOS 7にMoinMoinをインストールする方法

CentOS 7にMoinMoinをインストールする方法

MoinMoinは、Pythonで書かれたオープンソースのファイルシステムベースのWikiエンジンです。今日、MoinMoinはオープンソースコミュニティで広く使用されています。多くのベンダー

CentOS 7にSonarQubeをインストールする方法

CentOS 7にSonarQubeをインストールする方法

別のシステムを使用していますか?SonarQubeは、品質システム開発のためのオープンソースツールです。Javaで書かれており、複数のデータベースをサポートしています。それは提供します

CentOS 7へのPritunlのインストール

CentOS 7へのPritunlのインストール

PritunlはOpenVPNのオープンソース管理インターフェイスです。プライベートネットワークが可能で、ネイティブIPv6サポートがあり、使用方法は比較的簡単です。ター

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

この記事では、Vultrでテンプレートとして提供されるサーバーオペレーティングシステムの概要を説明します。CentOS CentOSはRHEL(Re

CentOS 7にphpPgAdminをインストールする

CentOS 7にphpPgAdminをインストールする

phpPgAdminは、広く使用されているPostgreSQL管理ツールです。これを使用して、直感的なWebインターフェイスでPostgreSQLデータベースを管理できます。この記事では、

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、