ERPNextは、世界中の何千もの企業で使用されている、無料のオープンソースの最新で使いやすいビジネス管理ソフトウェアです。これは、小売、貿易、サービス、製造、人材、非営利、その他のセクターをサポートする非常にシンプルなERPプラットフォームです。これは、Frappeフレームワークの上にPythonで記述された強力でフル機能のERPシステムです。フロントエンドにNode.jsを使用し、データを保存するためにMariaDBを使用します。 ERPNextは、日常のタスクを実行するためのWebベースのインターフェースを提供します。 ERPNextは、オフィススイートと統合された組み込みのレポートシステムを提供します。
このチュートリアルでは、Ubuntu18.04LTSサーバーにERPNextをインストールして構成する方法を学習します。
- Ubuntu18.04を実行しているサーバー。
- サーバーに設定されたsudo権限を持つroot以外のユーザー。
まず、システムを最新バージョンに更新する必要があります。次のコマンドを実行することでそれを行うことができます:
sudo apt-get update -y
sudo apt-get upgrade -y
システムが更新されたら、ERPNextのユーザーを作成する必要があります。
次のコマンドで実行できます:
sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext
次に、次のコマンドを使用して、ERPNextユーザーにsudo権限を付与します。
sudo usermod -aG sudo erpnext
次に、次のコマンドを使用してERPNextユーザーにログインし、環境変数を設定します。
su - erpnext
nano .bashrc
次の行を追加します:
PATH=$PATH:~/.local/bin/
終了したら、ファイルを保存して閉じます。次に、システムを再起動してすべての変更を適用します。
まず、erpnextユーザーを使用してシステムにログインし、ERPNextに必要ないくつかの依存関係をシステムにインストールします。
sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y
次に、次のコマンドを使用してNginxおよびMariaDBサーバーをインストールします。
sudo apt-get install nginx mariadb-server -y
インストールが完了したら、50-server.cnfファイルにいくつかの変更を加える必要があります。次のコマンドで実行できます:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
次の変更を行います:
[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 [mysql] default-character-set = utf8mb4
ファイルを保存して閉じます。次に、MariaDBサービスを再起動して、すべての変更を適用します。
sudo systemctl restart mariadb
次のコマンドを使用して、MariaDBサーバーのステータスを確認できるようになりました。
sudo systemctl status mariadb
次の出力が表示されます。
? mariadb.service - MariaDB 10.1.38 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-02-16 06:26:48 UTC; 2h 38min ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 4640 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 4636 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS) Process: 4505 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set- Process: 4503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 4482 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS) Main PID: 4607 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 1111) CGroup: /system.slice/mariadb.service ??4607 /usr/sbin/mysqld Aug 16 06:26:47 ubuntu1804 systemd[1]: Starting MariaDB 10.1.38 database server... Aug 16 06:26:48 ubuntu1804 mysqld[4607]: 2019-02-16 6:26:48 140715015396480 [Note] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1) starting Aug 16 06:26:48 ubuntu1804 systemd[1]: Started MariaDB 10.1.38 database server. Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4642]: Upgrading MySQL tables if necessary. Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysql' as: /usr/bin/mysql Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you still n Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4677]: Checking for insecure root accounts. Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4681]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
RedisとNode.jsをインストールします
次に、RedisとNode.jsをシステムにインストールする必要があります。次のコマンドを実行してインストールできます:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install gcc g++ make -y
sudo apt-get install nodejs redis-server -y
sudo npm install -g yarn
デフォルトでは、MariaDBのインストールは保護されていないため、最初に保護する必要があります。次のコマンドで保護できます:
sudo mysql_secure_installation
以下に示すように、すべての質問に答えてください。
Enter current password for root (enter for none): Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
MariaDBが保護されたら、次のコマンドを使用してMariaDBシェルにログインします。
sudo mysql -u root -p
プロンプトが表示されたら、rootパスワードを入力します。次に、次のコマンドを使用して、ERPNextのデータベースとユーザーを作成します。
MariaDB [(none)]> create database erpnextdb;
MariaDB [(none)]> create user [email protected] identified by 'password';
次に、次のコマンドを使用して、ERPNextにすべての特権を付与します。
MariaDB [(none)]> GRANT ALL ON erpnextdb.* TO 'erpnextuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> GRANT all privileges on *.* to 'root'@'localhost' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;
次に、特権をフラッシュし、次のコマンドを使用してMariaDBシェルを終了します。
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
まず、ERPNextのディレクトリを作成し、次のコマンドを使用して適切な権限を付与します。
sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/
次に、ディレクトリをerpnextに変更し、次のコマンドを使用してerpnextをインストールします。
cd /opt/erpnext
git clone https://github.com/frappe/bench bench-repo
出力:
Cloning into 'bench-repo'... remote: Enumerating objects: 19, done. remote: Counting objects: 100% (19/19), done. remote: Compressing objects: 100% (14/14), done. remote: Total 6144 (delta 10), reused 13 (delta 5), pack-reused 6125 Receiving objects: 100% (6144/6144), 29.70 MiB | 231.00 KiB/s, done. Resolving deltas: 100% (3924/3924), done.
次に、pipコマンドを使用してベンチをインストールします:
sudo pip install -e bench-repo
次に、frappeフレームワークを使用してベンチディレクトリを初期化します。
bench init erpnext
出力:
Building frappe assets... ? Built js/print_format_v3.min.js ? Built js/dialog.min.js ? Built js/web_form.min.js ? Built js/social.min.js ? Built js/modules.min.js ? Built js/form.min.js ? Built js/list.min.js ? Built js/frappe-vue.min.js ? Built js/chat.js ? Built js/desk.min.js ? Built js/control.min.js ? Built css/frappe-rtl.css ? Built css/module.min.css ? Built css/report.min.css ? Built css/form.min.css ? Built css/list.min.css ? Built frappe/css/email.css ? Built css/web_form.css ? Built css/frappe-web.css ? Built css/desk.min.css ? Built js/frappe-web.min.js ? Built js/report.min.js ? Done in 31.313s Done in 34.43s. INFO:bench.utils:setting up backups no crontab for erpnext INFO:bench.utils:setting up auto update no crontab for erpnext Bench erpnext initialized
次に、ディレクトリをerpnextに変更し、次のコマンドを使用してnode1.example.comドメインの新しいサイトを作成します。
bench new-site node1.example.com
以下に示すように、MySQLルートパスワードを入力するように求められます。
MySQL root password:
ルートパスワードを入力し、Enterキーを押します。次の出力が表示されます。
Installing frappe... Updating DocTypes for frappe : [========================================] Updating country info : [========================================] Set Administrator password: Re-enter Administrator password: *** Scheduler is disabled ***
次に、次のコマンドを使用してerpnextに適切な権限を付与します。
sudo chown -R erpnext:erpnext /opt/erpnext/erpnext
最後に、次のコマンドでサーバーを起動します。
bench start
次の出力が表示されます。
06:34:02 web.1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit) 06:34:02 web.1 | * Restarting with inotify reloader 06:34:03 watch.1 | yarn run v1.13.0 06:34:03 watch.1 | $ node rollup/watch.js 06:34:03 web.1 | * Debugger is active! 06:34:04 web.1 | * Debugger PIN: 159-307-235 06:34:13 watch.1 | 06:34:13 watch.1 | Rollup Watcher Started 06:34:13 watch.1 | 06:34:13 watch.1 | Watching... 06:34:15 watch.1 | Rebuilding frappe-web.css
これで、ERPNextがインストールされ、ポート8000でリッスンします。Webブラウザーを開き、URLhttp://node1.example.come:8000を入力します。次のページにリダイレクトされます:
次に、管理者としてのユーザー名と、セットアップ中に指定したパスワードを入力します。次に、署名をクリックします で ボタン。次のページが表示されます:
次に、言語を選択して、次へをクリックします ボタン。次のページが表示されます:
次に、国を選択して、次へをクリックします ボタン。次のページが表示されます:
次に、フルネームとメールアドレスを入力します。次に、完了をクリックします セットアップ ボタン。次のページが表示されます:
おめでとう!これで、Ubuntu18.04サーバーにERPNextが正常にインストールおよび構成されました。これで、実稼働環境でERPNextを簡単にセットアップできます。