Apache Module mod_sslは、HTTPサーバーでSSLサポートを取得するためにインストールできます。ここでは、AlmalinuxまたはRocky Linux 8(RHELベース)のApacheWebサーバーでmod_sslおよびmod_http2を有効にする方法を説明します。
ApacheでSSLv3およびTLSv1.xをサポートするために、この記事は、関連する秘密鍵を含む必要なSSL証明書の生成に役立ちます。
Almalinux 8 / RockyLinux8にmod_sslをインストールする手順
ApacheWebサーバーをインストールする
Linuxで最初に必要なのは、動作しているApacheWebサーバーです。単一のコマンドを使用してインストールできます。例:
sudo dnf install httpd
詳細については、チュートリアル–AlmaLinuxまたはRockyLinux8サーバーでのApacheWebサーバー構成
を参照してください。
RockyまたはAlmaLinuxにmod_sslをインストールする
Apache Webサーバーを入手したら、 mode_sslを簡単にインストールできます。 これらのRHELベースのLinuxシステムのデフォルトリポジトリから利用できるため、DNFパッケージマネージャーを使用するモジュール:
sudo dnf install mod_ssl
RockyLinuxまたはAlmaLinux8でmod_sslを有効にする
上記のコマンドを使用すると、数秒でモジュールがサーバーにインストールされますが、有効にする必要があります。そのためには、httpd /ApacheWebサーバーを再起動するだけです。だから、同じことを認識できるように。
sudo systemctl restart httpd
Webサーバーを再起動した後、mod_SSLがApacheに対して正常に有効になっていることを確認します。
apachectl -M | grep ssl
出力は次のようになります:
ssl_module (shared)
Apacheのファイアウォールでポート443を開きます
SSL(HTTPS)はポート443で実行されるため、サーバーの外部でSSLにアクセスするには、最初にAlmalinuxまたはRocky Linux8ファイアウォールでSSL(HTTPS)を開く必要があります。
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
これで、https
を使用して、ApacheWebサーバーのテストページまたはその上で実行中のアクティブなWebサイトにアクセスできるようになります。 プロトコルですが、証明書の警告があります。
購入したSSL証明書を追加するか、自己署名証明書を生成します
現在、2つのシナリオがあります。1つは、サードパーティからSSL証明書を購入し、拡張子が.CRTと.Keyの2つのファイルがある場合です。すでにSSL証明書をお持ちの場合は、それを/etc/httpd/conf.d/ssl.conf
に追加してください 。
一方 、2番目のシナリオは、SSL証明書がなく、少なくともOpenSSLを使用したローカルでの使用に使用する自己署名証明書を生成することです。
注 :サーバーを置き換えることができます 以下のコマンドのテキストに、キーを簡単に識別したいものを含めます。
sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/server.key -x509 -days 365 -out /etc/pki/tls/certs/server.crt
上記のコマンドを実行すると、2つのSSLファイルが作成されます。
SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/private/server.key
——————————————————————————————————
次に、SSL構成ファイルを編集します
sudo nano /etc/httpd/conf.d/ssl.conf
次の2つのファイルパスに置き換えますどちらか 購入したSSL証明書 または自分で生成 上記のコマンドを使用します。
SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
ここでは、自己署名証明書を使用することを想定しています
SSLCertificateFile /etc/pki/tls/certs/localhost.crt #with SSLCertificateFile /etc/pki/tls/certs/server.crt #And SSLCertificateKeyFile /etc/pki/tls/private/localhost.key #with SSLCertificateKeyFile /etc/pki/tls/private/server.key
保存 Ctrl + Oを押してファイルを Enterを押す キーを押してファイルを終了しますCtrl+ X 。
スクリーンショット :
ウェブサーバーを再起動します:
sudo systemctl reload httpd
これで、HTTPSSSLプロトコルを介してWebサイトを実行しているWebサーバーにアクセスできるようになります。
すべてのhttpトラフィックをhttpsにリダイレクトします
すべてのhttp(port80)トラフィックをデフォルトでhttps(443)にリダイレクトする場合は、リダイレクト構成ファイルを作成できます。
sudo nano /etc/httpd/conf.d/redirect_http.conf
次の行をコピーして貼り付け、ウェブサイトのドメインまたはURLを変更します
<VirtualHost _default_:80> Servername you-server Redirect permanent / https://yourserver.com/ </VirtualHost>
Ctrl + Oを押してファイルを保存します Enterを押す キーを押してファイルを終了しますCtrl+ X 。
変更を有効にするには、ウェブサーバーをリロードします:
sudo systemctl reload httpd
さて、すべての http トラフィックはHTTPSにリダイレクトされます mod_sslを有効にする AlmaLinuxまたはRockyLinux8の場合。ただし、自己生成証明書には引き続き証明書エラーが発生することに注意してください。 これは、自己署名証明書がCA(認証局、デジタル証明書を発行するエンティティ)ではなく、ユーザーによって生成されたものであるため、ブラウザによって信頼されていないためです。