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
Nginxサービスを検証して、サービスが実行中で有効になっていることを確認します。
sudo systemctl is-enabled nginx
sudo systemctl status nginx
次に、以下のコマンドを使用してSupervisorプロセスマネージャーサービスを検証します。
sudo systemctl is-enabled supervisor
sudo systemctl status supervisor
次に、Redisが利用可能でERPNextの本番環境に準備が整っていることを確認するために検証します。
sudo systemctl is-enabled redis-server
sudo systemctl status redis-server
次に、以下のコマンドを使用してNode.jsとNPMのバージョンを検証します。
node --version
npm --version以下の出力は、Node.js v18.xとNPM 1.22がインストールされていることを確認します。
最後に、以下のコマンドを使用してwkhtmltopdfのバージョンを検証します。wkhtmltopdfバージョン0.12がインストールされていることがわかります。
wkhtmltopdf --version
wkhtmltoimage --versionMariaDBサーバーの設定
依存関係をインストールした後、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 mariadbBenchコマンドラインツールのインストール
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
次に、新しいユーザーfrappeとしてログインし、pip Pythonパッケージマネージャーを介してfrappe-benchまたはbenchパッケージをインストールします。
su - frappe
sudo pip3 install frappe-bench --break-system-packages
frappe-benchがインストールされたら、以下のコマンドを使用して確認します。この例では、bench 5.17が/usr/local/bin/benchにインストールされています。
which bench
bench --version
Benchを介してERPNextをインストール
このセクションでは、Benchコマンドラインを介してERPNextをインストールします。Frappeフレームワークプロジェクトを初期化し、新しいサイトを作成し、次にERPNextアプリケーションをFrappeプロジェクトにダウンロードしてインストールします。
まず、以下のbenchコマンドを実行してFrappeフレームワーク14をfrappe-benchディレクトリに初期化します。
bench init --python python3.11 --frappe-branch version-14 frappe-bench以下にFrappeフレームワークのインストールが始まるのが表示されるはずです。

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

次に、以下のコマンドを実行してユーザーが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'新しいサイトが作成された後に得られる出力は以下の通りです。

以下の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

erpnextがダウンロードされたら、以下のコマンドを実行してサイトerp.howtoforge.localにインストールします。これにより、支払いアプリケーションも自動的にインストールされます。
bench --site erp.howtoforge.local install-app erpnext
インストールが完了したら、以下のコマンドを実行してスケジューラーを有効にし、サイト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の自動設定です。

エラーが発生した場合は、以下のコマンドを使用して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が実行中であることを示しています。

最後に、以下のsupervisorctlコマンドを実行して、SupervisorでERPNextプロセスのリストを確認します。
sudo supervisorctl statusすべてがうまくいけば、各プロセスの状態がRUNNINGであることが表示されます。

NginxとSupervisorが設定されたので、ウェブブラウザからERPNextのインストールを開始する準備が整いました。
ウェブインストーラーを介したERPNextのインストール
ウェブブラウザを起動し、ERPNextインストールのドメイン名(例:http://erp.howtoforge.local/)にアクセスします。ERPNextのインストールが成功していれば、ERPNextのログインページが表示されるはずです。
デフォルトのユーザーAdministratorと設定したパスワードを入力し、Loginをクリックします。

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

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

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

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

これでERPNextのインストールが完了しました。
結論
おめでとうございます!Debian 12にMariaDBサーバーとNginxウェブサーバーを使用してERPNextのインストールが完了しました。Debianサーバー上でBenchコマンドラインを介してERPNextをインストールし、これでERPNextを組織のエンタープライズリソースプランニングとして使用できます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。