ノート:
- このチュートリアルではOracle Cloudにアクセスする必要があります。無料アカウントに登録するには、Oracle Cloud Infrastructure Free Tierの使用を開始するを参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントに例の値を使用します。演習を完了するときは、これらの値をクラウド環境に固有の値に置き換えます。
Apache Web Serverのインストール
イントロダクション
Apacheは1993年以来積極的に開発されており、時間の経過とともに世界で最も人気のあるWebサーバーの1つとなっています。Apache Webサーバーは、LAMP (Linux、Apache、Oracle MySQLおよびPerl/PHP)ソフトウェア・スタックの主要コンポーネントであり、現在も広く使用されています。
Apache Webサーバーは、Oracle Linux 8以降のApplication Streamsリポジトリから直接入手でき、デプロイおよび構成が簡単です。
前提条件
- Oracle Linux 8がインストールされている任意のシステム
目的
このチュートリアルを終了すると、次の操作を実行できるようになります。
- Apacheパッケージのインストールおよび構成
- ファイアウォールの構成
- Apache構成の適用
- Webサービスの保護
Webサーバーパッケージのインストールおよび構成
-
httpd
パッケージとその依存関係をインストールします。sudo dnf install httpd
-
httpd
サービスを有効化および起動します。このコマンドは、
httpd
サービスを即時使用できるように有効化および起動し、システムの再起動後にサービスを自動的に起動します。sudo systemctl enable --now httpd.service
サービスのステータスを確認するには、次のように入力します。
sudo systemctl status httpd
-
(オプション)カスタム・ファイアウォール・プロファイルまたはOracle Cloud Infrastructureインスタンスを使用している場合は、Apache Webサービス(80)のファイアウォール・ポートを開きます。
これらのコマンドは、Apache Webサービスのファイアウォールポートを有効にし、デフォルトのファイアウォールサービスをリロードします。
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload
-
デプロイメントのテスト
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
が作成されます。
-
/etc/httpd/conf.d/example.com.conf
に次の情報を追加して、仮想ホストを作成します。聴く*:80
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.comDocumentRoot /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アドレスを指定できます。
-
ドキュメントのルート・フォルダを作成します。
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/
-
構成を適用します。
sudo systemctl restart httpd
Webサービスの安全確保
ベスト・プラクティスとして、HTTPSを使用してWebブラウザとApacheサーバー間のすべての通信を保護します。セキュアな設定では、TLS証明書が必要です。
- TLS/SSL証明書を構成します。
ノート:
Oracleでは、外部認証局(CA)によって署名されたTLS証明書を使用することを強くお薦めします。詳細は、Oracle Linux:証明書および公開鍵インフラストラクチャの管理を参照してください。
-
ApacheのHTTPSアドオンをインストールします。
sudo dnf install mod_ssl sudo systemctl restart httpd
-
Apache構成を更新します。たとえば、
/etc/httpd/conf.d/example.com.conf
で、次の構成を追加します。聴く*:443
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.comSSLCertificateFile /etc/pki/tls/private/certificate.crt
SSLCertificateKeyFile /etc/pki/tls/private/private.keyのSSLEngineDocumentRoot /var/www/example.com/html/
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_access.logの組合せ</VirtualHost>
-
HTTPリクエストをHTTPSにリダイレクトします。
既存のHTTP VirtualHost構成を次のようにリダイレクトに置き換えます。
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.comリダイレクト"/" "https://example.com/"
</VirtualHost>
-
Apacheサービスを再起動して、新しい構成をロードします。
sudo systemctl restart httpd
-
(オプション)ファイアウォールを構成します。
これらのコマンドは、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ヘルプ・センターを参照してください。