前書き
Debian 8では、Apache2 Webサーバーはデフォルトでドキュメントを `+ / var / www / html`に保存します。 このディレクトリは、オペレーティングシステムの残りのルートファイルシステムにあります。 ドキュメントルートを別の場所(別のマウントされたファイルシステムなど)に移動することもできます。 たとえば、同じApacheインスタンスから複数のWebサイトを提供する場合、各サイトのドキュメントルートを独自のボリュームに配置すると、特定のサイトまたはクライアントのニーズに応じて拡張できます。
このガイドでは、ファイルを移動し、Apacheの構成ファイルを変更して、Apacheドキュメントルートを新しい場所に移動します。
前提条件
このガイドを完了するには、次のものが必要です。
-
`+ sudo +`特権を持つ非rootユーザーを持つDebian 8サーバー。 Debian 8での初期サーバー設定ガイドでこれらの権限を持つユーザーを設定する方法の詳細を学ぶことができます。 。
-
Apache2 Webサーバー:まだ設定していない場合は、詳細な記事のApacheセクションhttps://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql -php-lamp-stack-on-debian-8 [Debian 8にLinux、Apache、MySQL、PHP(LAMP)スタックをインストールする方法]があなたを導きます。
-
ドキュメントルートの新しい場所:新しいドキュメントルートの場所は、ニーズに基づいて完全に構成可能です。 ドキュメントルートを別のストレージデバイスに移動する場合は、デバイスのマウントポイントの下の場所を選択します。
このチュートリアルでは、ディレクトリ `+ / mnt / volume-nyc1-01 +`を使用します。これは、サーバーに接続されたBlock Storageボリュームを指します。 Block Storageを使用してWebページを保持する場合は、チュートリアルhttps://www.digitalocean.com/community/tutorials/how-to-use-block-storage-on-digitalocean [ブロックの使用方法]を完了してください。 [DigitalOceanのストレージ]をクリックして、続行する前にドライブをマウントします。
手順1-ファイルを新しい場所にコピーする
Apacheの新規インストールでは、ドキュメントルートは `+ / var / www / html`にあります。 ただし、既存のサーバーを使用している場合は、対応するVirtualHostディレクティブに複数のドキュメントルートを含む、大幅に異なるセットアップがある場合があります。
`+ grep `を使用して、追加のドキュメントルートの場所を検索できます。 次のコマンドを使用して、「 / etc / apache2 / sites-enabled」ディレクトリを検索して、アクティブなサイトにフォーカスを絞ります。
grep -R "DocumentRoot" /etc/apache2/sites-enabled
`+ -R `フラグは、 ` grep +`が出力にDocumentRootとファイル名の両方を印刷することを保証します。
結果は次のようになりますが、既存のインストールでは結果の名前と数が異なる可能性があります。
Outputsites-enabled/000-default.conf DocumentRoot /var/www/html
「+ grep +」からのフィードバックを使用して、移動するファイルを移動していることを確認し、適切な構成ファイルを更新します。
ドキュメントルートの場所を確認したら、 `+ rsync +`を使用してファイルを新しい場所にコピーします。
最初に、 `+ rsync +`をインストールします
sudo apt-get install rsync
次に、次のコマンドを実行してファイルをコピーします。
sudo rsync -av /var/www/html
`+ -a `フラグを使用すると、パーミッションと他のディレクトリプロパティが保持され、 ` -v `は詳細な出力を提供するため、進行状況を追跡できます。 チュートリアルhttps://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vpsで ` rsync +`の使用の詳細をご覧ください[Rsyncを使用してVPSのローカルディレクトリとリモートディレクトリを同期する方法]。
ファイルは新しい場所にありますが、Apacheはまだ古い場所を探しているので、修正します。
ステップ2-構成ファイルの更新
Apache2は、グローバルおよびサイト固有の構成ファイルの両方を使用します。 構成ファイルの階層に関する背景については、https://www.digitalocean.com/community/tutorials/how-to-configure-the-apache-web-server-on-an-ubuntu-or-debianをご覧ください-vps#the-apache-file-hierarchy-in-ubuntu-and-debian [UbuntuまたはDebian VPSでApache Webサーバーを設定する方法]。
既存のインストールを使用している場合は、以前に見つけた仮想ホストファイルを `+ grep `コマンドで変更する必要があります。 この例では、デフォルトでApacheに同梱されている2つの仮想ホストファイル、 ` 000-default.conf `と ` default-ssl.conf +`を見ていきます。
`+ 000-default.conf`ファイルを編集することから始めます:
sudo nano /etc/apache2/sites-enabled/000-default.conf
`+ DocumentRoot +`で始まる行を見つけて、新しい場所で更新します。
/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
...
ServerAdmin webmaster@localhost
DocumentRoot
次に、元のパスも指している「+ Directory +」ブロックを探して、新しいパスを指すように更新します。
新規インストールでは、デフォルトサイトに「+ Directory +」エントリはありません。 Apacheが新しい場所からファイルを提供できるように、構成ファイルに次のコードを追加します。
/etc/apache2/sites-enabled/000-default.conf
...
ServerAdmin webmaster@localhost
DocumentRoot /mnt/volume-nyc1-01/html
...
最初の `+ Directory `ブロックは制限付きのデフォルトのアクセス許可を設定し、2番目のブロックは ` / mnt / volume-nyc1-01 / html / +`の新しいWebルートのオプションを設定します
必要な変更を行った後、ファイルを保存します。
次に、SSL構成に注目します。 新規インストールでは、SSLはまだ設定されませんが、変更を加える必要があることを覚えていない場合に後で問題が発生しないように、 `+ ssl-default.conf +`ファイルを更新することをお勧めします。
ファイルを編集します。
sudo nano /etc/apache2/sites-available/ssl-default.conf
次に、 `+ DocumentRoot `を変更し、 ` Directory +`ルールが適切に設定されていることを確認して、以前に行ったのと同じ変更を行います。
/etc/apache2/sites-available/ssl-default.conf
...
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot
...
構成の変更が完了したら、次のコマンドを使用して構文が正しいことを確認します。
sudo apachectl configtest
次のような出力が表示されます。
OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name,
using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
デフォルトのインストールでは、前述のメッセージが表示されますが、無視しても問題ありません。 `+ Syntax OK +`が表示されている限り、Webサーバーを再起動します。 それ以外の場合は、報告された問題を追跡して修正します。
次のコマンドを使用して、Apacheを再起動します。
sudo systemctl reload apache2
サーバーが再起動したら、影響を受けるサイトにアクセスし、それらが期待どおりに機能していることを確認します。 すべてが順調になったら、データの元のコピーを削除することを忘れないでください。
結論
このチュートリアルでは、Apacheドキュメントルートを新しい場所に変更しました。 これは、1台のサーバーで複数のサイトを効果的にホストするなど、基本的なWebサーバー管理に役立ちます。 また、ネットワークブロックストレージなどの代替ストレージデバイスを利用することもできます。これは、ニーズの変化に応じてWebサイトをスケーリングする重要なステップです。
忙しいまたは成長しているWebサイトを管理している場合、https://www.digitalocean.com/community/tutorials/how-to-use-apache-jmeter-to-perform-load-testing-の学習に興味があるかもしれません。 on-a-web-server [Webサーバーの負荷テスト方法]を使用して、本番環境で発生する前にパフォーマンスのボトルネックを特定します。 また、https://www.digitalocean.com/community/tutorials/5-ways-to-improve-your-production-web-application-server-setup [5つの方法実稼働Webアプリケーションサーバーのセットアップを改善する]。