ノート:

Apache Web Serverのインストール

イントロダクション

Apacheは1993年以来積極的に開発されており、時間の経過とともに世界で最も人気のあるWebサーバーの1つとなっています。Apache Webサーバーは、LAMP (Linux、Apache、Oracle MySQLおよびPerl/PHP)ソフトウェア・スタックの主要コンポーネントであり、現在も広く使用されています。

Apache Webサーバーは、Oracle Linux 8以降のApplication Streamsリポジトリから直接入手でき、デプロイおよび構成が簡単です。

前提条件

目的

このチュートリアルを終了すると、次の操作を実行できるようになります。

Webサーバーパッケージのインストールおよび構成

  1. httpdパッケージとその依存関係をインストールします。

    sudo dnf install httpd
    
  2. httpdサービスを有効化および起動します。

    このコマンドは、httpdサービスを即時使用できるように有効化および起動し、システムの再起動後にサービスを自動的に起動します。

    sudo systemctl enable --now httpd.service
    

    サービスのステータスを確認するには、次のように入力します。

    sudo systemctl status httpd
    
  3. (オプション)カスタム・ファイアウォール・プロファイルまたはOracle Cloud Infrastructureインスタンスを使用している場合は、Apache Webサービス(80)のファイアウォール・ポートを開きます。

    これらのコマンドは、Apache Webサービスのファイアウォールポートを有効にし、デフォルトのファイアウォールサービスをリロードします。

    sudo firewall-cmd --add-service=http --permanent
    sudo firewall-cmd --reload
    
  4. デプロイメントのテスト

    Webブラウザで、システムのドメイン名またはIPアドレス(http://myserver.example.com.など)に移動しますApache Webサーバーがデフォルトのテスト・ページを開きます。

Apacheの構成

Webサーバーのルート・パスを変更するには、/etc/httpd/conf/httpd.confファイルを直接編集しないでください。かわりに、推奨される方法として、/etc/httpd/conf.dディレクトリにサイト固有の構成ファイルを作成します。

次の例では、仮想ホストの構成を含むファイル/etc/httpd/conf.d/example.com.confが作成されます。

  1. /etc/httpd/conf.d/example.com.confに次の情報を追加して、仮想ホストを作成します。

    聴く*:80

    <VirtualHost *:80>

    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/example.com/html/

    ErrorLog /var/log/httpd/example.com_error.log
    CustomLog /var/log/httpd/example.com_access.logの組合せ

    </VirtualHost>

    ServerNameおよび ServerAliasには、サービスへのアクセスに使用できるホスト名、ドメイン名またはIPアドレスを指定できます。

  2. ドキュメントのルート・フォルダを作成します。

    rootフォルダは、Apacheがブラウザに提供するWebページをホストします。

    sudo mkdir -p /var/www/example.com/html
    sudo echo "example.com" > /var/www/example.com/html/index.html
    sudo chown -R apache:apache /var/www/example.com/html
    

    強制モードでSELinuxが有効になり、/var/www directory内からページが提供されないシステムでは、DocumentRootディレクトリに正しいセキュリティ・コンテキストを適用する必要があります。たとえば、/mnt/example.comディレクトリからWebページを提供するには、次のように入力します。

    sudo semanage fcontext -a -t httpd_sys_content_t "/mnt/example.com(/.*)?"
    sudo restorecon -Rv /mnt/example.com/
    
  3. 構成を適用します。

    sudo systemctl restart httpd
    

Webサービスの安全確保

ベスト・プラクティスとして、HTTPSを使用してWebブラウザとApacheサーバー間のすべての通信を保護します。セキュアな設定では、TLS証明書が必要です。

  1. TLS/SSL証明書を構成します。

ノート:
Oracleでは、外部認証局(CA)によって署名されたTLS証明書を使用することを強くお薦めします。詳細は、Oracle Linux:証明書および公開鍵インフラストラクチャの管理を参照してください。

  1. ApacheのHTTPSアドオンをインストールします。

    sudo dnf install mod_ssl
    sudo systemctl restart httpd
    
  2. Apache構成を更新します。たとえば、/etc/httpd/conf.d/example.com.confで、次の構成を追加します。

    聴く*:443

    <VirtualHost *:443>

    ServerName example.com
    ServerAlias www.example.com

    SSLCertificateFile /etc/pki/tls/private/certificate.crt
    SSLCertificateKeyFile /etc/pki/tls/private/private.keyのSSLEngine

    DocumentRoot /var/www/example.com/html/

    ErrorLog /var/log/httpd/example.com_error.log
    CustomLog /var/log/httpd/example.com_access.logの組合せ

    </VirtualHost>

  3. HTTPリクエストをHTTPSにリダイレクトします。

    既存のHTTP VirtualHost構成を次のようにリダイレクトに置き換えます。

    <VirtualHost *:80>

    ServerName example.com
    ServerAlias www.example.com

    リダイレクト"/" "https://example.com/"

    </VirtualHost>

  4. Apacheサービスを再起動して、新しい構成をロードします。

    sudo systemctl restart httpd
    
  5. (オプション)ファイアウォールを構成します。

    これらのコマンドは、Apache HTTPSサービスでファイアウォールポート443を有効にし、デフォルトのファイアウォールサービスをリロードします。

    sudo firewall-cmd --add-service=https --permanent
    sudo firewall-cmd --reload
    

その他の学習リソース

docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルでさらに無料の学習コンテンツにアクセスします。さらに、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerにします。

製品ドキュメントは、Oracleヘルプ・センターを参照してください。