CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
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をシステムにインストールします。あなたが最新のバージョンを持っていることを確認するためpip
とsetuptools
、実行しました:
sudo pip install --upgrade pip setuptools
Pipを使用してAnsibleをインストールします。Ansibleは、ソフトウェアのプロビジョニング、構成管理、およびアプリケーションのデプロイメントを自動化します。
sudo pip install ansible
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」と答えます。質問は自明です。
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
この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のインストールに進むことができます。
Bench
Frappeが提供するコマンドラインユーティリティで、開発と生産の両方の目的で、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をインストールします。
インストールされたフラッペフレームワークでベンチディレクトリを初期化します。すべてを整頓するために、/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
ただし、実行を停止して、プロダクションで使用するためのアプリケーションのセットアップに進む必要があります。
デフォルトでは、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証明書を提供します。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.com
。Administrator
インストール時に設定したユーザー名とパスワードでログインします。ERPNext ERPを会社に合わせて設定するための情報を提供する必要があるデスクに移動します。これで、アプリケーションを使用して会社を管理できます。
おめでとうございます。CentOS7サーバーに完全に動作するERPNextアプリケーションがインストールされました。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。