ERPインストール · 2 min read · Sep 22, 2025

Debian 12にERPNextをインストールする方法

ERPNextはオープンソースのエンタープライズリソースプランニング(ERP)ソリューションです。ERPNextは製造、流通、小売、貿易、サービス、教育、非営利、医療などのさまざまな業界で使用できます。また、会計、CRM、販売、購買、ウェブサイト、eコマース、ポイントオブセール、製造、倉庫、プロジェクト管理、在庫、サービスなどのモジュールも提供しています。

ERPNextはGNU一般公衆ライセンスv3の下でライセンスされたエンタープライズERPプラットフォームです。主にPythonとJavaScriptで書かれており、Frappe Technologies Pvt. Ltd.によって開発されました。ERPNextは、PythonとJavaScriptのオープンソースウェブフレームワークであるfrappeframeworkの下で書かれたアプリケーションです。

ERPNextは、OracleのNetSuite、QAD、Tython、OpenBrave、Odooなどのサービスの代替として開発されました。機能面では、ERPNextはOdoo(以前のOpenERP)に似ています。

このチュートリアルでは、Debian 12サーバーにERPNextをインストールする手順を案内します。MariaDBデータベースサーバー、Nginxをリバースプロキシとして、Supervisorプロセスマネージャーを使用してERPNextをインストールします。

前提条件

始める前に、以下にアクセスできることを確認してください:

  • Debian 12サーバー。
  • sudo管理者権限を持つ非rootユーザー。
  • サーバーIPアドレスを指すドメイン名。

依存関係のインストール

ERPNextはPythonで書かれたオープンソースのERPおよびCRMソフトウェアです。ERPNextをインストールするには、Python 3、MariaDBサーバー、Node.js、Yarnパッケージマネージャー、Nginx、Supervisorプロセスマネージャー、Redisなどの依存関係をDebianサーバーにインストールする必要があります。

この最初のステップでは、DebianリポジトリからERPNextの依存関係をインストールします。その後、すべてがインストールされていることを確認するために各依存関係を検証します。

依存関係をインストールする前に、以下のapt updateコマンドを実行してDebianパッケージインデックスを更新します。

sudo apt update

次に、Python 3.11、Node.js、NPM、MariaDBサーバー、Nginxウェブサーバー、Supervisorプロセスマネージャー、Redisサーバーを含むERPNextの依存関係をインストールするために、以下のコマンドを実行します。

sudo apt install python3-dev python3-venv nodejs yarnpkg npm redis-server mariadb-server nginx supervisor fail2ban libffi-dev git python3-pip python3-testresources libssl-dev wkhtmltopdf gcc g++ make

インストールを続行するにはyと入力します。

依存関係がインストールされたら、以下のコマンドを実行して各依存関係を検証します。systemctlコマンドを使用して、各サービスが実行中で有効になっていることを確認します。

MariaDBサーバーを以下のコマンドで検証します。

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

Nginxサービスを検証して、サービスが実行中で有効になっていることを確認します。

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

check nginx

次に、以下のコマンドを使用してSupervisorプロセスマネージャーサービスを検証します。

sudo systemctl is-enabled supervisor  
sudo systemctl status supervisor

check supervisor

次に、Redisが利用可能でERPNextの本番環境に準備が整っていることを確認するために検証します。

sudo systemctl is-enabled redis-server  
sudo systemctl status redis-server

check redis

次に、以下のコマンドを使用してNode.jsとNPMのバージョンを検証します。

node --version  
npm --version

以下の出力は、Node.js v18.xとNPM 1.22がインストールされていることを確認します。

最後に、以下のコマンドを使用してwkhtmltopdfのバージョンを検証します。wkhtmltopdfバージョン0.12がインストールされていることがわかります。

wkhtmltopdf --version  
wkhtmltoimage --version

MariaDBサーバーの設定

依存関係をインストールした後、MariaDBサーバーを設定してERPNextのインストールに備えます。ERPNextには、バラクーダ形式を有効にし、デフォルトの文字セットをutf8mb4に設定する必要があります。また、mariadb-secure-installationユーティリティを使用してMariaDBサーバーを保護します。

以下のmariadb-secure-installationコマンドを実行して、MariaDBサーバーのインストールを保護します。

sudo mariadb-secure-installation

以下の設定を求められたときにYを入力して適用します:

  • ローカル認証をunix_socketに切り替えますか? いいえの場合はnを入力します。
  • MariaDBのrootパスワードを設定しますか? yを入力し、新しいMariaDBのrootパスワードを入力して繰り返します。
  • デフォルトの匿名ユーザーを削除しますか? 確認するにはyを入力します。
  • rootユーザーのリモートログインを無効にしますか? 確認するにはyを入力します。
  • デフォルトのデータベーステストを削除しますか? 確認するにはyを入力します。
  • テーブルの権限を再読み込みして変更を適用しますか? 確認するにはyを入力します。

次に、以下のnanoエディタを使用してMariaDBサーバーの設定ファイル/etc/mysql/mariadb.conf.d/50-server.cnfを開きます。

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

以下の設定を[mysqld]セクションに挿入して、バラクーダ形式を有効にし、デフォルトの文字セットを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

ファイルを保存して、編集が完了したらエディタを終了します。

次に、nanoエディタを使用してファイル/etc/mysql/mariadb.conf.d/50-mysql-clients.cnfを開き、MariaDBクライアント接続を設定します。

sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf

以下の設定を[mysql]セクションに追加します。

[mysql]  
default-character-set = utf8mb4

ファイルを保存して終了します。

最後に、以下のコマンドを実行してMariaDBサーバーを再起動し、新しい設定を適用します。

sudo systemctl restart mariadb

Benchコマンドラインツールのインストール

Benchは、アプリケーションやサイトを管理するためのFrappeフレームワーク用のコマンドラインツールです。ERPNextはFrappeフレームワークで書かれたウェブアプリケーションであり、Benchを介してインストールする必要があります。

以下のセクションを完了して、ERPNextに使用される新しいユーザーを作成し、DebianシステムにBenchユーティリティをインストールします。

まず、以下のコマンドを実行して新しいユーザーfrappeを追加し、新しいパスワードを入力して繰り返します。

sudo useradd -m -s /bin/bash frappe  
sudo passwd frappe

ユーザーfrappeをsudoグループに追加して、sudoコマンドを実行できるようにします。

sudo usermod -aG sudo frappe

add user

次に、新しいユーザーfrappeとしてログインし、pip Pythonパッケージマネージャーを介してfrappe-benchまたはbenchパッケージをインストールします。

su - frappe  
sudo pip3 install frappe-bench --break-system-packages

install bench

frappe-benchがインストールされたら、以下のコマンドを使用して確認します。この例では、bench 5.17が/usr/local/bin/benchにインストールされています。

which bench  
bench --version

verify bench

Benchを介してERPNextをインストール

このセクションでは、Benchコマンドラインを介してERPNextをインストールします。Frappeフレームワークプロジェクトを初期化し、新しいサイトを作成し、次にERPNextアプリケーションをFrappeプロジェクトにダウンロードしてインストールします。

まず、以下のbenchコマンドを実行してFrappeフレームワーク14をfrappe-benchディレクトリに初期化します。

bench init --python python3.11 --frappe-branch version-14 frappe-bench

以下にFrappeフレームワークのインストールが始まるのが表示されるはずです。

initialize frappe via bench

初期化が完了すると、以下の出力が得られます:

initialization success

次に、以下のコマンドを実行してユーザーがFrappeフレームワークを実行できるようにします。これにより、www-dataなどのグループがFrappeフレームワークを実行できるようになります。

sudo chmod -R o+rx /home/frappe/frappe-bench

次に、Frappeフレームワークのインストールディレクトリ~/frappe-benchに移動し、新しいサイトerp.howtoforge.localを作成します。

cd ~/frappe-bench  
bench new-site erp.howtoforge.local --admin-password 'erpadmin' --mariadb-root-username root --mariadb-root-password 'password'

新しいサイトが作成された後に得られる出力は以下の通りです。

create new site

以下のbenchコマンドを実行して新しいサイトerp.howtoforge.localに切り替えます。

bench use erp.howtoforge.local

切り替えたら、出力にCurrent Site set to erp.howtoforge.localが表示されるはずです。

次に、以下のbenchコマンドを実行して、支払いと次のアプリケーションをダウンロードします。

bench get-app payments  
bench get-app --branch version-14 erpnext

install payments

install erpnext

erpnextがダウンロードされたら、以下のコマンドを実行してサイトerp.howtoforge.localにインストールします。これにより、支払いアプリケーションも自動的にインストールされます。

bench --site erp.howtoforge.local install-app erpnext

add erpnext to site

インストールが完了したら、以下のコマンドを実行してスケジューラーを有効にし、サイトerp.howtoforge.localのメンテナンスを無効にします。

bench --site erp.howtoforge.local enable-scheduler  
bench --site erp.howtoforge.local set-maintenance-mode off

この時点で、ERPNextがインストールされました。Nginxをリバースプロキシとして追加し、ERPNextインストールのプロセスマネージャーとしてSupervisorを設定します。

ERPNextを本番環境用に準備する

このステップでは、Nginxをリバースプロキシとして設定し、Supervisorをプロセスマネージャーとして設定して、ERPNextを本番環境用に設定します。これはBenchを介して自動的に行うことができます。

以下のコマンドを実行してERPNextのインストールを設定します。これにより、Ansibleがダウンロードされてインストールされ、その後Nginxがリバースプロキシとして、Supervisorプロセスマネージャーが自動的に設定されます。

sudo pip3 install ansible --break-system-packages  
sudo bench setup production frappe

以下は、ERPNextインストール用のNginxとSupervisorの自動設定です。

erpnext for production

エラーが発生した場合は、以下のコマンドを使用してNginxとSupervisorの両方を設定することもできます。

sudo bench setup supervisor  
sudo bench setup nginx  
sudo bench setup production frappe

次に、NginxとSupervisorサービスを再起動して、新しい変更が適用されていることを確認します。

sudo systemctl restart nginx supervisor

次に、以下のコマンドを実行してNginxサービスを確認し、サービスが実行中であることを確認します。

sudo systemctl status nginx

以下の出力は、Nginxが実行中であることを示しています。

restart nginx and supervisor

最後に、以下のsupervisorctlコマンドを実行して、SupervisorでERPNextプロセスのリストを確認します。

sudo supervisorctl status

すべてがうまくいけば、各プロセスの状態がRUNNINGであることが表示されます。

supervisorctl status

NginxとSupervisorが設定されたので、ウェブブラウザからERPNextのインストールを開始する準備が整いました。

ウェブインストーラーを介したERPNextのインストール

ウェブブラウザを起動し、ERPNextインストールのドメイン名(例:http://erp.howtoforge.local/)にアクセスします。ERPNextのインストールが成功していれば、ERPNextのログインページが表示されるはずです。

デフォルトのユーザーAdministratorと設定したパスワードを入力し、Loginをクリックします。

login erpnext

デフォルトの言語、タイムゾーン、国、通貨を選択します。次に、Nextをクリックして続行します。

select timezone

次に、最初のERPNextユーザーの詳細を入力し、Nextをクリックします。

setup timezone

最後に、組織の詳細を入力し、Complete SetupボタンをクリックしてERPNextのインストールを完了します。

setup organizations

インストールが成功すれば、以下のようなERPNextダッシュボードが表示されるはずです。

erpnext dashboard

これでERPNextのインストールが完了しました。

結論

おめでとうございます!Debian 12にMariaDBサーバーとNginxウェブサーバーを使用してERPNextのインストールが完了しました。Debianサーバー上でBenchコマンドラインを介してERPNextをインストールし、これでERPNextを組織のエンタープライズリソースプランニングとして使用できます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。