CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
このチュートリアルでは、リバースプロキシを使用してWebサーバーをセットアップします。ここで使用するCMSは、Express.jsをベースにした有名なWebアプリケーションフレームワークであるKeystone.jsです。ここで使用するリバースプロキシは、無料でオープンソースのリバースプロキシであるNginxと、HTTPサーバーです。ここで使用するデータベースは、NoSQLドキュメントデータベースであるMongoDBです。これには、レコードが設定されたドメインが必要です。その設定がない場合は、先に進んで対処してから、このチュートリアルに戻ってください。
まず、Node.jsをインストールします。Node.jsは、Chrome V8 JavaScriptエンジンに基づくJavaScriptインタープリターです。
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
次に、リバースプロキシであるNginxをインストールします。
sudo apt update
sudo apt install nginx
これにより、パッケージリストが更新され、Nginxがインストールされます。インストールが完了したら、ノードプロジェクトをセットアップします。
ノードプロジェクトを作成します。これを行うには、単に新しいフォルダを作成します。
mkdir website
次に、package.json
ファイルを作成します。これを行うには、単にnpm init
ターミナルで実行し、フィールドに入力し、「yes
」と返信して確認します。package.json
ファイルを作成したら、次のノードモジュールをインストールします。
sudo npm install -g generator-keystone
sudo npm install -g yo
ダウンロードが完了したら、以下を実行します。
yo keystone
必須フィールドに入力します。それはのためにあなたを聞いてきますproject name
、template engine
、email
コントロールパネルの、そして上のようにします。何を選択すればよいかわからない場合は、デフォルトで十分です。keystone設定を構成した後node keystone
、アプリケーションを起動するために入力することにより、サーバーが実行されているかどうかをテストできます。デフォルトでは、アプリケーションはlocalhost
ポート上で実行されます3000
。MongoDBがインストールされていない場合、データベースはすぐには利用できません。後でチュートリアルでインストールする方法を学ぶことができます。
Keystone.jsの基本的なディレクトリレイアウトは次のとおりです。
/lib
-ここに、カスタムライブラリやその他のコードを保存します。
/models
-ここに、アプリケーションのデータベースモデルを格納します。KeystoneJSは、MongoDBをデータベースプロバイダーとして使用します。
/public
-ここに静的ファイル(CSS、JS、画像など)が保存されます。
/routes/api
-これは、アプリケーションのAPIコントローラーが格納される場所です。
/routes.views
-ここにアプリケーションビューコントローラが格納されます。
/templates
-ここに、アプリケーションのすべてのテンプレートファイルが格納されます。
/updates
-ここに移行スクリプトが保存されます。
package.json
-これは、ジェネレーターが生成したnpm構成ファイルです。
keystone.js
-メインの開始ファイル。ウェブサイトの起動時にこれを実行します。
前述したように、使用するデータベースはMongoDBです。これは、信頼性の高いNoSQLのドキュメント指向データベースです。MongoDBがすでにインストールされている場合は、このセクションをスキップできます。そうでない場合は、Ubuntu 16.04にインストールする方法を次に示します。
mongoDBパッケージに使用される公開鍵をインポートします。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
パッケージのインストールに使用するリストファイルを作成します。
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
を使用してパッケージリストを更新しますapt
。
sudo apt update
最後に、MongoDBをインストールします。
sudo apt install mongodb-org -y
このインストールが完了したら、MongoDBを起動します。
sudo service mongod start
これにより、ポートでMongoDBプロセスが開始されます27017
。
MongoDBはアプリケーション全体で使用され、モデルなどのモデルに使用する情報を格納するために利用されますUser
。Keystoneは選択したデータベースとしてそれを使用します。現時点では、他のデータベースベンダーを使用することはできません。
PM2(プロセスマネージャー2)をインストールします。PM2は、Node.jsアプリケーション用のプロセスマネージャーで、npmモジュールの形式です。アプリケーションを管理し、バックグラウンドで実行する簡単な方法を提供します。それはNPMにあるので、インストールするために私たちがしなければならないすべては以下を実行することです。
sudo npm install pm2 -g
これはnpmにグローバルにインストールするように指示するので、システムのどこでも使用できます。
以前は、でWebアプリケーションを実行していましたnode keystone
。PM2では、少し異なります。ここで、以下を使用してノードアプリを実行します。
pm2 start keystone.js
これにより、PM2アプリケーションがプロセスリストに追加され、小さなボックスが表示され、実際にオンラインであることを確認できます。id
プロセスのラベルが付いたボックスに注意してください。これについては後で詳しく説明するので、これを近づけてください。
アプリケーションのログを確認します。
pm2 logs [id]
たとえば、pm2 logs 0
これが最初のPM2アプリケーションである場合。
いつでもウェブアプリケーションを停止する。
pm2 stop [id]
アプリケーションを完全に削除します。
pm2 delete [id]
PM2には、アプリケーションの基本的な統計情報を表示したい場合に監視ダッシュボードがあり、これを使用してアクセスできます。
pm2 monit
これにより、RAM使用率、CPU使用率、稼働時間などの基本的な情報が表示されます。
PM2が提供する優れた機能はですwatching
。基本的に、監視とは、PM2が開始ファイルと同じディレクトリにあるファイルの変更を自動検出し、アプリケーションを自動的に再起動するときです。これを有効にするには、単にアプリケーションを再起動しますが、監視フラグを渡します。
pm2 restart [id] --watch
監視を有効にした後で無効にするには、同じコマンドを再度実行するだけで、監視が無効になります。
このチュートリアルでは、監視をオフにしておきます。
Nginxがインストールされていることを確認してください。何らかの理由でそうでない場合は、上記の手順を参照してください。
ファイアウォールの設定を調整します。Ubuntuではufw
、公式のファイアウォールです。デフォルトでは、接続はポートでブロックされます80
。Nginxの例外をポートに追加する必要があります80
。これには、Webアプリケーションが実行されます。
sudo ufw allow 'Nginx HTTP'
Nginxサーバーが実行されていることを確認します。
systemctl status nginx
Active
セクションの下にactive (running)
が表示されていれば、準備は完了です。そうでない場合は、サービスを再起動してみてください。
systemctl restart nginx
デフォルトのNginx構成ファイルを削除します。
sudo rm /etc/nginx/sites-available/default
新しいものを作成し、それを呼び出すだけnode
です。
sudo nano /etc/nginx/sites-available/node
以下をファイルに貼り付け、example.com
あなたのウェブサイトのドメインに置き換えます。
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
proxy_pass
は、Keystoneアプリがローカルで実行されているIP(localhost
ポート上)を示していることに注意してください3000
。 listen 80
アプリの宛先ポート80
です。この場合はport です。
次に、というフォルダへのシンボリックリンクまたはシンボリックリンクを作成する必要がありますsites-enabled
。違いsites-enabled
とはsites-available
つまりsites-enabled
、実際にnginxのでロードされます。
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
これで、構成ファイルsites-available
を使用する準備が整い、からロードされsites-enabled
ます。設定を適用して有効にするには、Nginxを再起動するだけです。
sudo systemctl restart nginx
最後に、PM2アプリケーションを再起動します
pm2 restart [id]
これで、ブラウザーでドメインに移動できるWelcome to Keystone
ようになり、ログイン用のパネルのある画面が表示されます。
表示されていれば、Node.js本番用ウェブサーバーが正常に設定されています。そうでない場合は、ステップを誤って実行した可能性があり、戻って各ステップを注意深く実行する必要がある場合があります。
Nginxの詳細については、NginxのWebサイトにアクセスしてください。
このチュートリアルがお役に立てば幸いです。これがVultr VPSでの運用用に独自のWebサーバーを設定するのに役立つことを願っています。
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の未来は、日々成長を続けています。