CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
#
、および通常のユーザーとしてによって実行できるコマンドの先頭に付きます$
。rootとしてコマンドを実行するための推奨される方法は、通常のユーザーとして、各コマンドの前にを付けることsudo
です。HTTPSを介してコンテンツを提供する場合、非常に強力な暗号化を使用できるため、ユーザーとWebサーバー間のトラフィックを傍受するユーザーがコンテンツを読み取ることはできません。トラフィック自体を暗号化するだけでなく、アクセスされるURLも暗号化するため、情報が公開される可能��があります。しばらくの間、GoogleはHTTPS Everywhereイニシアチブの一部として、ページがHTTPSを使用しているかどうかに基づいて検索ランキングを部分的に決定してきました。
注:DNSルックアップは接続されているドメイン名を公開しますが、そのプロセス中にURL全体は公開されません。
技術的には、TLSはHTTPS証明書のSSLを置き換えましたが、ほとんどの場所では、より一般的な用語であるSSL証明書によってTLS証明書の呼び出しが続けられました。一般的な使用法に従って、このガイドは同じことを行います。
HTTPSを使用するには、Webサーバーが.key
プライベートに使用するためのプライベートキー()と.crt
、パブリックキーを含むパブリックに共有するための証明書()が必要です。証明書に署名する必要があります。自分で署名することはできますが、最新のブラウザは署名者を認識しないと文句を言うでしょう。たとえば、Chromeでは次のように表示されますYour connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID
。プライベートグループのみがWebサイトを使用する場合は、ブラウザで続行できるため、これで問題ありません。たとえば、Chromeでは、[詳細設定]をクリックし、次に[続行...(安全でない)]をクリックします。それでも「安全ではありません」と表示され、「https」は取り除かれます。
このプロセスでは、国、都道府県、市区町村、組織、組織単位、一般名、および電子メールアドレスが要求されます。これらはすべて、HTTPS経由でサイトに接続している誰のブラウザからもアクセスできます。
また、仮想ホスト証明書を提供する場合は、以下に異なるファイル名を指定し、仮想ホスト構成でそれらを指す必要があることに注意してください。
Webサーバーの適切なディレクトリに移動します。
Apacheをインストールした場合:
$ cd /etc/httpd/conf
Nginxをインストールした場合:
$ cd /etc/nginx
適切なディレクトリに移動したら、秘密鍵(server.key
)と自己署名証明書(server.crt
)を生成します。
# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825
読み取り専用権限を設定し、秘密鍵のみをrootが読み取れるようにします。
# chmod 400 server.key
# chmod 444 server.crt
または、信頼できる認証局によって署名された証明書を取得することもできます。さまざまな会社(認証局)に支払い、証明書に署名してもらうことができます。認証局を検討する場合、どのブラウザーとどのバージョンがそれらを認識するかを調べることが重要になる場合があります。一部の新しい認証局は、古いバージョンのブラウザでは自己署名証明書よりも公式として認識されない場合があります。
通常、パブリックIPアドレスだけでなく、ドメイン名も必要です。一部の認証局は、パブリックIPアドレスに証明書を発行できますが、ほとんど行われません。
多くのプロバイダーが30日間の無料試用版を提供しています。最初に試してみることをお勧めします。これにより、料金を支払う前にプロセスが機能することを確認できます。価格は、その種類と、複数のドメインやサブドメインなどのオプションに応じて、年間数ドルから数百ドルまでさまざまです。標準の証明書は、証明書を取得した人がドメインを変更できることを署名機関が確認したことを示すだけです。Extended Validation証明書は、署名機関が要求者を審査するためにある程度の注意を払ったことも示し、最新のブラウザでは、URL内またはURLの近くに緑色のバーを表示します。ドメインに変更を加えることができることを確認するとき、一部の署名機関は、ドメイン名の重要なサウンドアドレスで電子メールを受信するように要求します。[email protected]
。多くは、単一のホスティングディレクトリ構成のために/srv/http/.well-known/pki-validation/
、Apacheまたは/usr/share/nginx/html/.well-known/pki-validation/
Nginxにファイルを配置するなど、サーバーに配置するファイルを提供するなど、代替検証を提供します。または、ドメインのDNSレコードで提供されるCNAMEエントリを一時的に作成します。
選択する署名機関は手順が少し異なる場合がありますが、ほとんどは次の手順を受け入れます。
適切なディレクトリで、秘密鍵(server.key
)を生成します。
# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key
rootのみが秘密鍵を読み取り専用に設定します。
# chmod 400 server.key
証明書署名要求を生成します(server.csr
)。が要求されたときにドメイン名をCommon Name
入力する必要があります。チャレンジパスワードは空白のままにすることができます。
# openssl req -new -sha256 -key server.key -out server.csr
証明書署名要求を読み取り専用に設定します(ルートのみ)。
# chmod 400 server.csr
証明書署名要求の内容を表示します。この情報はbase64でエンコードされているため、ランダムな文字のようになります。
# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----
署名機関のプロセスを実行し、CSRに貼り付けるよう要求されたら、このファイル全体をコピーして、-----
行を含めて貼り付けます。選択した署名機関と証明書の種類によっては、署名された証明書がすぐに提供される場合と、数日かかる場合があります。署名された証明書が提供されたら、それを(-----BEGIN CERTIFICATE-----
および-----END CERTIFICATE-----
行を含めて)という名前のファイルにコピーserver.crt
し、Webサーバーの上記の適切なディレクトリに置き、読み取り専用に設定します。
# chmod 444 server.crt
ファイアウォールを使用している場合は、ポートへの着信TCPトラフィックを有効にする必要があります443
。
/etc/httpd/conf/httpd.conf
次の行を編集してコメントを外します。
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf
仮想ホストを使用している場合は、上記の変更を/etc/httpd/conf/httpd.conf
行うと、すべてのホストで同じ証明書が使用されます。各ホストに独自の証明書を与えて、証明書がドメイン名と一致しないというブラウザの不満を回避するには、それぞれの構成ファイルを編集/etc/httpd/conf/vhosts/
して、独自の証明書と秘密鍵を指すようにする必要があります。
<VirtualHost *:80>
し<VirtualHost *:80 *:443>
ます。VirtualHost
セクション内に次を追加します。
SSLEngine on
SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
Apacheを再起動します。
# systemctl restart httpd
編集/etc/nginx/nginx.conf
して下部近くで、HTTPS server
セクションのコメントを外し、行を次のように変更します。
ssl_certificate server.crt;
ssl_certificate_key server.key;
root /usr/share/nginx/html;
仮想ホストを使用している場合は、上記の変更を/etc/nginx/nginx.conf
行うと、すべてのホストがその場所に送信されます。各ホストに独自の証明書を与えるには、それぞれの構成ファイルを編集/etc/nginx/sites-enabled/
して、独自の証明書と秘密鍵を指す追加のサーバーブロックを設定する必要があります。
server {
listen 443 ssl;
server_name YOUR-DOMAIN-NAME.com;
ssl_certificate YOUR-DOMAIN-NAME.com.crt;
ssl_certificate_key YOUR-DOMAIN-NAME.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
index index.html index.htm;
}
}
Nginxを再起動します。
# systemctl restart nginx
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の未来は、日々成長を続けています。