CentOS 7にGraylogサーバーをインストールする方法
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
ERPまたはエンタープライズリソースプランニングは、コアビジネスプロセスの管理に使用されるエンタープライズアプリケーションスイートです。ERPNextは、Pythonで記述された無料のオープンソースのセルフホスト型ERPアプリケーションです。フロントエンドにNode.jsを使用し、MariaDBにデータを格納します。ERPNextは、企業が日常のタスクを管理できるようにする使いやすいWebインターフェイスを提供します。会計、CRM、HRM、製造、POS、プロジェクト管理、購入、販売管理、倉庫管理などのモジュールが含まれています。ERPNextは、サービスプロバイダー、製造、小売、学校などのさまざまな業界を管理するために使用できます。
注:このチュートリアルではerp.example.com
、サーバーを指すドメイン名としてを使用します。すべてのerp.example.com
を実際のドメイン名に置き換えてください。
始める前に、サーバーが最新であることを確認してください。
sudo apt update
sudo apt -y upgrade
ERPNextが機能するには、Pythonバージョン2.7が必要です。Python 2.7をインストールします。
sudo apt -y install python-minimal
バージョンを確認できるはずです。
python -V
次の出力が表示されます。
user@vultr:~$ python -V
Python 2.7.13
さらにいくつかの依存関係をインストールします。
sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev
Pythonのpip
ツールをインストールします。PipはPythonパッケージの依存関係マネージャーです。
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
pip
およびの最新バージョンを使用していることを確認してくださいsetuptools
。
sudo pip install --upgrade pip setuptools
Pipを使用してAnsibleをインストールします。Ansibleは、ソフトウェアのプロビジョニング、構成管理、およびアプリケーションのデプロイメントを自動化します。
sudo pip install ansible
MariaDBリポジトリをシステムに追加します。
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'
MariaDBをインストールします。
sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev
要求されたら、MariaDB rootユーザーに強力なパスワードを入力します。
ERPNextデータベースの作成にはBarracudaストレージエンジンが必要なので、Barracudaストレージエンジンを使用するようにMariaDBを設定する必要があります。デフォルトのMariaDB設定ファイルを編集しますmy.cnf
。
sudo nano /etc/mysql/my.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
sudo systemctl enable mariadb
データベースを構成する前に、MariaDBを保護する必要があります。mysql_secure_installation
スクリプトを実行することで保護できます。
sudo mysql_secure_installation
現在のMariaDBルートパスワードの入力を求められます。インストール中に設定したパスワードを入力します。MariaDBサーバーのrootユーザーの既存のパスワードを変更するかどうかを尋ねられます。インストール中に強力なパスワードをすでに提供しているため、新しいパスワードの設定をスキップできます。尋ねられる他のすべての質問に「Y」と答えます。
Node.js 8.xのNodesourceリポジトリを追加します。
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Nginx、Node.js、Redisをインストールします。
sudo apt -y install nginx nodejs redis-server
Nginxを起動し、起動時に起動できるようにします。
sudo systemctl start nginx
sudo systemctl enable nginx
Redisを起動して、起動時に起動できるようにします。
sudo systemctl start redis-server
sudo systemctl enable redis-server
このwkhtmltopdf
プログラムは、QT Webkitレンダリングエンジンを使用してHTMLをPDFに変換するコマンドラインツールです。必要な依存関係をインストールします。
sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base
最新バージョンのをダウンロードしてください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 --home /opt/bench
提供sudo
へのアクセス権bench
をユーザーに。
sudo usermod -aG sudo 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
アプリケーションをすぐに起動して、アプリケーションが正常にインストールされたかどうかを確認できます。
bench start
ただし、実行を停止して、プロダクションで使用するためのアプリケーションのセットアップに進む必要があります。
デフォルトでは、ERPNextアプリケーションは8000
標準のHTTPポートではなく、ポートでリッスンします80
。また、組み込みのWebサーバーを運用環境で実行することはお勧めしません。サーバーを公開するためです。ApacheやNginxなどのリバースプロキシとして本番環境のウェブサーバーを使用する必要があります。Nginxは、Benchを使用して自動的に構成できるため、リバースプロキシとして使用します。Benchは、ERPNextセットアップに従って構成を自動的に生成してインストールできます。
「bench start」コマンドを使用してアプリケーションを起動できますが、ターミナルを閉じるとすぐにERPNextの実行が停止します。この問題を克服するには、スーパーバイザーを使用する必要があります。これは、実稼働環境でアプリケーションを継続的に実行するのに非常に役立ちます。スーパーバイザは、Linuxオペレーティングシステムで多数のプロセスを監視および制御できるプロセス制御システムです。スーパーバイザが設定されると、起動時と障害時にアプリケーションが自動的に起動します。Benchは、ERPNextアプリケーションのスーパーバイザを自動的に構成できます。
スーパーバイザをインストールします。
sudo apt -y install supervisor
スーパーバイザを起動し、起動時に自動的に起動するようにします。
sudo systemctl start supervisor
sudo systemctl enable supervisor
本番用のセットアップベンチ。
sudo bench setup production bench
上記のコマンドは、既存のスーパーバイザのデフォルト設定ファイルを新しいものに置き換える前にプロンプトを表示する場合があります。y
続行を選択します。ベンチは、スーパーバイザー構成ファイルにいくつかのプロセスを追加します。上記のコマンドでは、現在のNginx構成を新しい構成に置き換えるかどうかも尋ねられます。Enter y
で続行します。Benchが設定のインストールを完了したら、Benchユーザーのホームディレクトリにあるファイルを実行するよう他のユーザーに提供します。
chmod o+x /opt/bench/
これで、サイトにアクセスできますhttp://erp.example.com
。
を実行すると、プロセスのステータスを確認できます。
sudo supervisorctl status all
次の出力が表示されます。
bench@vultr:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache RUNNING pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue RUNNING pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio RUNNING pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web RUNNING pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio RUNNING pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0 RUNNING pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0 RUNNING pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule RUNNING pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0 RUNNING pid 13875, uptime 0:00:54
すべての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
Benchを実行して、サイトに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を会社に合わせて設定するための情報を提供する必要があるデスクに移動します。これで、アプリケーションを使用して会社を管理できます。
おめでとうございます。Ubuntu17.04サーバーに完全に動作するERPNextアプリケーションがインストールされました。
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の未来は、日々成長を続けています。