Debian 12 に Apache をインストールして SSL で Web サイトを安全にする方法
アパッチ、一般的には Apache HTTP サーバーは無料で、 オープンソースのクロスプラットフォームウェブサーバー によって維持される アパッチ財団。
アパッチ 依然として主要プレーヤーではあるが、市場シェアは低い。 29.5% に比べ エンギンクス。 によると W3Techs、 エンギンクス 市場シェア約10%でトップの座を占めています。 34.1%。
アパッチ 信頼性が高く、柔軟性があり、インストールが簡単で、開発者や Linux 愛好家の間で人気のある多数の機能を備えています。
さらに、Apache Foundationによって定期的にメンテナンスと更新が行われており、ソフトウェアのバグ修正や全体的な効率性の向上に役立っています。この記事が執筆されている時点で、Apacheの最新バージョンは 2.4.60。
このガイドでは、インストール手順を説明します。 アパッチ の上 デビアン 仮想ホストを設定して、サーバー上で複数のドメインをホストします。 証明書。
前提条件
始める前に、次の要件が満たされていることを確認してください。
- Debian 12 サーバーのインスタンス。
- あ 完全修飾ドメイン名 (完全修飾ドメイン名) がサーバーを指します。
- このガイドでは、ドメイン
tecmint.com
を指して デビアン IPアドレスを持つシステム 192.168.122.27。 - 良好なインターネット接続。
飛行前のチェックが終わったので、始めましょう
ステップ1: Debian 12システムリポジトリを更新する
インストールの最初のステップ アパッチ の上 デビアン12 システムリポジトリを更新しています。これを実行するには、通常のユーザーとしてログインし、 sudo 権限 コマンドを実行します。
sudo apt update -y
ステップ2: Debian 12にApacheをインストールする
インストール アパッチ 非常に簡単で簡単です。システムリポジトリの更新が完了したら、以下のコマンドを実行してインストールします。 アパッチ の上 デビアン12。
sudo apt install apache2 -y
インストールが成功した後、 アパッチ Web サーバーの場合は、サービスが実行されているかどうかを常に確認することをお勧めします。ほとんどの systemd Linux システムでは、インストール時にサービスが自動的に開始されます。
ステータスを確認するには アパッチ Web サーバーがコマンドを実行します。
sudo systemctl status apache2
サービスが実行されていない場合は、コマンドを使用してサービスを開始します。
sudo systemctl start apache2
有効にする アパッチウェブ サーバーの起動時にコマンドを実行します。
sudo systemctl enable apache2
Apache を再起動するには、実行します。
sudo systemctl restart apache2
ステップ3: HTTPポートを許可するようにファイアウォールを構成する
もし、 UFW ファイアウォール すでに設定されている場合は、 アパッチ ファイアウォールを越えてサービスを提供し、外部ユーザーが Web サーバーにアクセスできるようにします。
これを実現するには、 ウェブ そして 翻訳 ファイアウォールのポート。
sudo ufw allow 80 sudo ufw allow 443
ファイアウォールでポートが許可されていることを確認するには、実行します。
sudo ufw status
さらに、 netstat コマンド または ssコマンド 示されているようにポートを確認します。
sudo ss -pnltu
ステップ4: Apache HTTP Webサーバーを確認する
すべての設定が完了したら、 お気に入りのウェブブラウザを開く 次のようにサーバーの IP アドレスまたは FQDN を参照します。
http://server-IP-address OR http://server-domain-name
ステップ5: ApacheでサンプルWebサイトをホストする
とともに アパッチ Web サーバーはすでにセットアップされているので、サンプル Web サイトをホストする準備が整いました。
デフォルトのApacheウェブページファイル index.html
は /var/www/html/
それは ウェブルート ディレクトリ。単一のサイトをホストすることも、仮想ホスト ファイルを作成して複数のサイトをホストすることもできます。
単一のサイトをホストするには、 index.html
ファイルは ウェブルート ディレクトリ。
ただし、最初に、示されているようにファイルのバックアップを作成してください。
sudo mv /var/www/html/index.html /var/www/html/index.html.bak
では、新しい index.html
ファイル。
sudo nano /var/www/html/index.html
図のように HTML サンプル コンテンツを追加してみましょう。
テキスト エディターを終了し、Web サーバーを再起動します。
sudo systemctl restart apache2
次に、Web ブラウザをリロードして、新しいサイトの変更を確認します。
ステップ6: Apacheで仮想ホストを作成する
ウェブサーバーで複数のサイトをホストしたい場合、これを回避する最善の方法は、Apacheウェブサーバーに仮想ホストを作成することです。仮想ホストは、1つのサーバーで複数のドメインをホストしたい場合に便利です。
まず、 ウェブルート ドメインのディレクトリ tecmint.com
。
sudo mkdir -p /var/www/html/tecmint.com/
次に、ディレクトリに必要な権限を割り当てます。 $USER
変数。
sudo chown -R $USER:$USER /var/www/html/tecmint.com/
次に、ドメインの Webroot ディレクトリに必要な権限を割り当てます。
sudo chmod -R 755 /var/www/html/tecmint.com
今あなたの お気に入りのテキストエディタ出かけてサンプルを作りましょう index.html
ファイル。
sudo nano /var/www/html/tecmint.com/index.html
図のように HTML サンプル コンテンツを追加してみましょう。
<html> <head> <title>Welcome to TecMint.com</title> </head> <body> <h1>Howdy Geeks!</h1> </body> </html>
保存してテキスト エディターを終了します。
次に、以下のコマンドを使用してドメインの仮想ホスト ファイルを作成します。
sudo nano /etc/apache2/sites-available/tecmint.com.conf
下記の内容をコピーして貼り付け、ドメインを置き換えてください tecmint.com
独自のドメインで。
ServerAdmin [email protected] ServerName tecmint.com ServerAlias www.tecmint.com DocumentRoot /var/www/html/tecmint.com/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
保存して終了。
この時点で、図のように仮想ホスト ファイルを有効にします。
sudo a2ensite tecmint.com.conf
では、デフォルトのサイトを無効にしましょう
sudo a2dissite 000-default.conf
変更を有効にするには、Apache Web サーバーをリロードします。
sudo systemctl restart apache2
次に、Web サーバーをリロードして、ドメインの変更を確認します。
ステップ 7: Apache で Let’s Encrypt を使用して HTTPS/SSL を有効にする
サイトを安全にするには 翻訳、使用する 暗号化しましょう 無料で入手 証明書 証明書。
無料のSSLを取得するには、 サートボット SSL 証明書の取得と更新のプロセスを自動化するツール。
sudo apt install certbot python3-certbot-apache -y
走る サートボット 証明書を取得して自動的に構成する アパッチ それを使用する。
sudo certbot --apache -d tecmint.com -d www.tecmint.com
メールアドレスを入力して利用規約に同意するよう求められます。 サートボット その後、 レッツ・エンクリプトCA 証明書を取得してインストールします。
Certbotは仮想ホストを自動的に設定して、 証明書 設定ファイルを確認することで確認できます。
sudo nano /etc/apache2/sites-available/tecmint.com-le-ssl.conf
次のようになります:
ServerAdmin [email protected] ServerName tecmint.com ServerAlias www.tecmint.com DocumentRoot /var/www/html/tecmint.com/ ErrorLog ${APACHE_LOG_DIR}/tecmint.com_error.log CustomLog ${APACHE_LOG_DIR}/tecmint.com_access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/tecmint.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/tecmint.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf
ウェブブラウザを開いて、 https://tecmint.com
そして https://tecmint.com
先ほど作成したサンプル ページが表示され、接続は HTTPS で保護されているはずです。
ステップ8: ApacheのSSL証明書を自動的に更新する
Let’s Encrypt 証明書の有効期間は 90 日間なので、cron ジョブによる自動更新を設定することが重要です。
sudo crontab -e
crontab に次の行を追加します。
0 0 * * 0 /usr/bin/certbot renew --quiet
これにより、SSL 証明書が毎週自動的に更新され、90 日間の有効期限が切れる前に確実に更新されるようになります。
結論
チュートリアルはこれで終わりです。このガイドでは、インストール方法を学びました。 アパッチ の上 デビアン12 また、他のドメインをホストするための仮想ホストも構成します。 ご意見をぜひお寄せください。
Hope this help!