ERPNext は、中小企業を対象とした完全に堅牢なERPフレームワークです。経理、CRM、在庫、販売、購入、製造、プロジェクト、人事と給与、ウェブサイト、eコマースなど、さまざまな機能を網羅しており、これらすべてが非常に順応性と拡張性を備えています。
ERPNextはPythonで開発されており、FrappeFrameworkに依存しています。フロントエンドにNode.js、WebサーバーにNginx、キャッシュにRedis、データベースにMariaDBを利用します。
ERPNextは、GNU General PublicLicensev3に基づくオープンソースです。
この記事では、CentOS8にERPNextをインストールする方法を紹介します。 最適化されたERPNextホスティングサーバーの1つで。
前提条件:
サーバーが次の要件を満たしていることを確認してください。
- 2GB以上のRAM
- 2つ以上のCPUコア
- CentOS8のフレッシュインストール
- フルルートアクセス
システムの準備と更新、および依存関係のインストール
SSH経由でサーバーにログインします:
ssh username@server_ip
ERPNextのインストールを開始する前に、システムパッケージを最新バージョンに更新することをお勧めします。
sudo yum update -y
追加のパッケージリポジトリをインストールします:
sudo yum install -y epel-release
ERPNextは、開発と本番の2つの環境でセットアップできます。開発環境の場合、no Nginx installed
ERPNextを手動で起動する必要があります。本番環境の場合、Nginx is installed
プロセスはsupervisor
によって管理されます 。スーパーバイザーについては、このチュートリアルの後半で詳しく説明します。
本番環境でインストールする場合は、Apacheをuninstall Apache
する必要があります。 まず、インストーラースクリプトがNginxをセットアップするためです。 uninstall MariaDB
こともお勧めします 本番環境と開発環境の両方で、インストール中の競合を回避するため。開発環境では、Nginxがインストールされないため、Apacheをインストールして実行したままにしておくのが安全です。
Apacheを停止してアンインストールするには(required for production set up only)
:
sudo systemctl stop httpd sudo yum remove -y httpd httpd-tools apr apr-util
MariaDBを停止してアンインストールするには(recommended for both development and production setup)
:
sudo systemctl stop mariadb sudo yum remove -y mariadb mariadb-server sudo rm -rf /var/lib/mysql /etc/my.cnf
MariaDB、Nginx、NodeJS、redisと一緒に必要なパッケージをインストールします:
sudo yum install -y gcc make git mariadb mariadb-server nginx supervisor python3 python3-devel python2 python2-devel redis nodejs
Yarn Package Managerのインストール:
sudo npm install -g yarn
複雑なSELinuxルールセットの設定を回避するには、それを無効にする必要があります。 CentOS7でSELinuxを無効にするのはかなり簡単な作業です。 1つのコマンドでそれを行うことができます:
echo 0 > /selinux/enforce
別の方法として、次のコマンドを使用できます。
setenforce 0
ここで、ステータスをもう一度確認し、無効になっていることを確認します。
これにより、SELinuxが一時的に無効になることに注意してください。永続的に無効にする場合は、次の手順を実行する必要があります。
/etc/sysconfig/selinux
を開きます 選択したテキストエディタで編集するためのファイル。 vim
を使用します 以下の例では。
vim /etc/sysconfig/selinux
ファイルを開いたら、次の行を変更します。
SELINUX=enforcing
に
SELINUX=disabled
次に、ファイルを保存して閉じます。
ERPNextをインストール
必要なパッケージをインストールしたら、ERPNextのインストールから開始できます。
ERPNextインスタンス専用のユーザーが必要であり、sudoアクセスが可能です:
sudo useradd -m erp -G wheel
デフォルトのsudo設定では、コマンドを発行するときにパスワードを入力する必要があります。あなたはそれを避けることができます:
sudo sed -i 's/^#\s*\(%wheel\s\+ALL=(ALL)\s\+NOPASSWD:\s\+ALL\)/\1/' /etc/sudoers
追加のカーネルパラメータを設定する必要があります:
echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" | sudo tee -a /etc/rc.d/rc.local sudo chmod 755 /etc/rc.d/rc.local
カーネル設定を有効にするには、再起動する必要があります。
ERPNext用にMariaDB(MySQLフォーク)を構成する
他のERPアプリケーションとは異なり、ERPNextはデータの永続的な部分を保存するためにMariaDBをサポートします。以前は、CentOS 8用に利用可能な最新バージョンのMariaDBをインストールしましたが、ERPNext用に構成する必要があります。
MariaDBのERPNextの構成ファイルを作成します:
cat <<EOF >/etc/my.cnf.d/erpnext.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 EOF
MariaDBサービスを有効にして開始します:
sudo systemctl enable mariadb sudo systemctl start mariadb
MariaDBセキュアインストールスクリプトを開始します(MariaDBルートパスワードを覚えていることを確認してください)。また、求められた場合は常に強力なパスワードを使用してください:
sudo mysql_secure_installation
ERPNextをインストール
作成した新しいユーザーerpの下にERPNextをインストールします。
ERPNextユーザーに変更し、作業ディレクトリをそのホームディレクトリに変更します。
su - erp
pip3を使用してfrappe-benchをインストールし、バージョン12を初期化します。
pip3 install --user frappe-bench bench init frappe-bench --frappe-branch version-12
初期化が完了すると、次のメッセージが表示されます。
SUCCESS: Bench frappe-bench initialized
初期化されたフラッペベンチを使用して、ERPNextインスタンス用の新しいフラッペサイトを作成できます。
フラッペ開発サーバーを起動する必要があります:
cd frappe-bench sed -i '/web:/ s/$/ --noreload/' Procfile bench start >/tmp/bench_log &
ドメイン/サブドメイン名で新しいサイトを作成する必要があります:
bench new-site erp.rosehosting.com
以前に入力したMySQLパスワードの入力を求めるプロンプトが表示されます。 MySQLのルートパスワードを入力します。
これで、ベンチからERPNextをダウンロードしてインストールする準備が整いました。
まず、ベンチ付きの最新のERPNextバージョンをダウンロードします:
bench get-app erpnext --branch version-12
ダウンロードしたらインストールします:
bench install-app erpnext
これで、ERPNextを開始して使用する準備が整いました
ERPNextの開始
開発環境のセットアップでは、ERPNextアプリケーションを手動で起動する必要があります。 ERPNextアプリケーションはポート8000でリッスンします。
su - erp cd frappe-bench bench start >/tmp/bench_log &
これで、次の場所でセットアップにアクセスできます:
http://[domain]:8000 Login: Administrator Password: The one that you input during installation
ある時点で、ERPNextを本番モードにする必要があります。
そのためには、supervisorとnginxの本番ファイルを作成する必要があります:
su - erp cd frappe-bench bench setup supervisor bench setup nginx
新しく作成された構成ファイルのリンクをそれぞれのサービスに追加します:
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisord.d/frappe-bench.ini sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf
/etc/nginx/conf/nginx.conf
を編集して、nginxプロセスの所有者をerpに変更します ユーザーディレクティブを次のように変更します:
user erp erp;
スーパーバイザーは、Linuxを実行しているシステムのプロセスを監視および制御できるようにするプロセス制御システムです。スーパーバイザーが実行されている場合、スーパーバイザーは起動時にアプリケーションを自動的に起動し、プロセスの失敗を処理します。インストーラースクリプトは、ERPNextアプリケーションのスーパーバイザーを自動的に構成しました。
これで、スーパーバイザーとNginxの両方を有効にして起動できます:
sudo systemctl enable supervisord sudo systemctl start supervisord sudo systemctl enable nginx sudo systemctl start nginx
これで、ポート8000を使用せずにwithout using port 8000
NginxWebサーバーはすでにポート8000のリバースプロキシとして構成されているためです。
ログインすると、ERPNextアプリケーションの初期設定を完了することができます。
もちろん、CentOS8にERPNextをインストールする必要はありません。 ERPNextVPSをお持ちの場合。 CentOS8にERPNextをインストールするようにサポートチームに依頼するだけです。それらは24時間年中無休で利用可能であり、インストールを支援することができます。
PS 。 CentOS 8にERPNextをインストールする方法に関するこのブログ投稿を楽しんだ場合は、以下のショートカットを使用してソーシャルネットワークで共有するか、コメントを残してください。ありがとう。