Apacheの基本:インストールと構成のトラブルシューティング

前書き

Apache Webサーバーは、その柔軟性、パワー、および広範なサポートで人気のあるオープンソースWebサーバーです。 このガイドでは、サービスの停止、開始、有効化、仮想ホストファイルとディレクトリの操作、サーバー上の重要なファイルとディレクトリの特定など、Apacheサーバーを管理するための一般的な手順について説明します。

このガイドは、UbuntuでApacheを使用するユーザーを対象としています。 CentOSおよびその他のRHELベースのディストリビューションで作業しているユーザーは、https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-のセクション1をチェックアウトできます。 CentOSにApacheをインストールする方法については、centos-7 [このチュートリアル]。

このガイドの使用方法:

  • 各セクションは他のセクションとは独立して使用できるため、必要に応じてセクションにスキップしてください。

  • 各コマンドは自己完結型であり、赤色の値を独自の値に置き換えることができます。

  • 各セクションにはリンクされたリソースがあり、カバーされたトピックの詳細を参照できます。

Apacheサービスのインストール

Apacheサービスをインストールするには、パッケージインデックスを更新してからインストールします。

sudo apt-get update
sudo apt-get install apache2

インストールプロセスの詳細については、https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-16-04 [How To]のチュートリアルに従ってください。 Ubuntu 16.04にApache Webサーバーをインストールします]。

Apacheユニットの有効化と無効化

Apacheサービスは、ブート時に自動的に開始するように構成されています。 ただし、この動作を変更する場合は、次のように入力できます。

sudo systemctl disable apache2.service

起動時にApacheが再び起動できるようにするには:

sudo systemctl enable apache2.service

Apacheの停止、起動、および再読み込み

Apacheサーバーを停止するには、次のコマンドを入力します。

sudo systemctl stop apache2

Apacheサーバーを起動するには、次を入力します。

sudo systemctl start apache2

サービスを停止して再度開始するには、次のように入力します。

sudo systemctl restart apache2

設定を変更する場合は、接続を切断せずにApacheをリロードできます。 次のコマンドを入力してください。

sudo systemctl reload apache2

+ systemd + initシステムと `+ systemctl +`コマンドの詳細については、https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and-をご覧ください。 the-journal [systemd essentialsの紹介]。

サーバーの状態を確認する

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

sudo systemctl status apache2

このコマンドの出力は、Apacheが実行されているかどうかを示し、ログファイルの最後の数行を示します。

静的Webサイトのドキュメントルートディレクトリの作成

Apacheを使用してWebサイトを構築する場合、開発者は個々のサイトまたはドメインで構成される「仮想ホスト」ユニットを頻繁に使用します。 このプロセスには、コンテンツを提供するときにApacheがチェックする最上位ディレクトリである `+ document root +`のディレクトリの作成が含まれます。

ディレクトリを作成します。

sudo mkdir -p /var/www//public_html

ディレクトリの所有権を非ルートユーザーに割り当てます。

sudo chown -R $USER:$USER /var/www//public_html

一般的なWebディレクトリへの読み取りアクセスを許可します。

sudo find /var/www -type d -exec chmod  {} \;

許可の詳細については、https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-permissions [Linux許可の概要]を参照してください。 権限はニーズやユースケースによって変わる可能性があることに注意してください。

動的処理モジュールのドキュメントルートディレクトリの作成

PHPのような動的処理モジュールを使用している場合、ドキュメントルートディレクトリを次のように作成します。

sudo mkdir -p /var/www//public_html

ディレクトリの所有権を非ルートユーザーに割り当て、グループの所有権を `+ www-data +`グループに割り当てます。

sudo chown -R :www-data /var/www//public_html

構成設定の変更

仮想ホストを使用する場合、Apacheがドメインリクエストに正しく応答できるように、ドメイン固有を反映するように構成設定を変更する必要があります。

仮想ホスト構成ファイルを開きます。

sudo nano /etc/apache2/sites-available/.conf

以下を変更します。

ServerAdmin
ServerName
ServerAlias
DocumentRoot /var/www//public_html

変更すると、ファイルは次のようになります(以前に変更されていない場合)。

/etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
       ServerAdmin
       ServerName
       ServerAlias
       DocumentRoot /var/www//public_html
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

トラブルシューティングを行うときは、このファイルとそのディレクティブを再確認してください。

仮想ホストの操作の詳細については、https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04 [working Ubuntu 16.04上のApache仮想ホストを使用]。

構成ファイルの有効化と無効化

仮想ホストファイル

仮想ホスト構成ファイルを有効にするには:

sudo a2ensite .conf

構成ファイル(この特定の例では、Apacheのデフォルトの仮想ホスト構成ファイル)を無効にするには:

sudo a2dissite 000-default.conf

モジュール

`+ / etc / apache2 / mods-available +`にあるモジュールを有効にするには、次のコマンドを使用します。

sudo a2enmod

特定のモジュールを無効にするには:

sudo a2dismod

構成ファイル

仮想ホストタイプに関連付けられていない + / etc / apache2 / conf-available + -filesの設定ファイルを有効にするには:

sudo a2enconf

構成ファイルを無効にするには:

sudo a2disconf

構成テスト

Apacheの構成ファイルを変更する場合は、必ず次のコマンドを実行して構文エラーを確認してください。

sudo apache2ctl configtest

重要なファイルとディレクトリ

Apacheでの作業を続けると、次のディレクトリとファイルに遭遇します。

コンテンツ

  • + / var / www / html:このディレクトリはサイトのWebコンテンツを保持し、デフォルトのルートです。 `+ var / www`内の他のディレクトリを指すようにApacheのデフォルト設定を変更できます。

サーバー構成

  • + / etc / apache2 +:すべての構成ファイルのホームであるApacheの構成ディレクトリ。

  • + / etc / apache2 / apache2.conf +:Apacheのプライマリ設定ファイル。グローバル設定を保存します。 構成ディレクトリ内の他のファイルは、このファイルからロードされます。 また、設定の有効化と無効化を制御する `+ FollowSymLinks +`ディレクティブも保存します。

  • + / etc / apache2 / sites-available / +:このディレクトリは、仮想ホスト設定ファイルを保持します。これは、 `+ sites-enabled `ディレクトリへのリンクを通じて有効にされます。 サーバーのブロックファイルへの変更はこのディレクトリで行われ、 ` a2ensite +`コマンドによって有効になります。

  • + / etc / apache2 / sites-enabled / +:アクティブ化された仮想ホスト設定ファイルはここに保存されます。 Apacheが起動またはリロードすると、完全な構成に準拠しているため、このディレクトリ内の構成ファイルとリンクを読み取ります。

  • + / etc / apache2 / conf-available +`および `+ / etc / apache2 / conf-enabled +: `+ sites-available `および ` sites-enabled +`と同じ関係で、これらのディレクトリは仮想ホスト構成ファイルに添付されていません。

  • + / etc / apache2 / mods-available +`および `+ / etc / apache2 / mods-enabled +:これらのディレクトリには、使用可能および有効化されたモジュールが含まれ、2つのコンポーネントがあります。特定のモジュール、およびこれらのモジュールの設定を保存する「+ .conf +」で終わるファイルをロードします。

サーバーログ

  • + / var / log / apache2 / access.log +:このファイルには、Apacheの構成設定が変更されていない限り、Webサーバーへのすべてのリクエストが含まれます。

  • + / var / log / apache2 / error.log +:このファイルにはエラーが含まれています。 エラーログの詳細の量を変更するには、 `+ / etc / apache2 / apache2.conf `の ` LogLevel +`ディレクティブを変更します。

Apacheユニットに関する情報にアクセスする別の方法は、アプリケーションとカーネルからログ情報を収集する「+ journald +」コンポーネントを使用することです。 Apacheユニットのエントリを表示するには、次を入力します。

sudo journalctl -u apache2

結論

このガイドでは、サービスの停止、開始、有効化、仮想ホストファイルとディレクトリの操作、サーバー上の重要なファイルとディレクトリの特定など、Apacheサーバーを管理するための一般的な手順について説明しました。 Apacheの操作の詳細については、次のリソースを参照してください。