ApacheWebルートをDebian8の新しい場所に移動する方法
序章
Debian 8では、Apache2Webサーバーはそのドキュメントを /var/www/html
デフォルトでは。 このディレクトリは、残りのオペレーティングシステムとともにルートファイルシステムにあります。 ドキュメントルートを別のマウントされたファイルシステムなどの別の場所に移動することをお勧めします。 たとえば、同じApacheインスタンスから複数のWebサイトにサービスを提供する場合、各サイトのドキュメントルートを独自のボリュームに配置すると、特定のサイトまたはクライアントのニーズに応じて拡張できます。
このガイドでは、ファイルを移動してApacheの構成ファイルを変更することにより、Apacheドキュメントルートを新しい場所に移動します。
前提条件
このガイドを完了するには、次のものが必要です。
-
root以外のユーザーがいるDebian8サーバー
sudo
特権。 これらの権限を持つユーザーを設定する方法の詳細については、 Debian8を使用した初期サーバー設定ガイドを参照してください。 -
Apache2 Webサーバー:まだセットアップしていない場合は、詳細な記事 Debian 8 にLinux、Apache、MySQL、PHP(LAMP)スタックをインストールする方法のApacheセクションで次のことができます。あなたを導きます。
-
ドキュメントルートの新しい場所:新しいドキュメントルートの場所は、ニーズに基づいて完全に構成できます。 ドキュメントルートを別のストレージデバイスに移動する場合は、デバイスのマウントポイントの下の場所を選択する必要があります。
このチュートリアルでは、ディレクトリを使用します
/mnt/volume-nyc1-01
、サーバーに接続されているブロックストレージボリュームを指します。 ブロックストレージを使用してWebページを保持する場合は、続行する前に、チュートリアルDigitalOceanでブロックストレージを使用してドライブをマウントする方法を完了してください。
ステップ1—ファイルを新しい場所にコピーする
Apacheの新規インストールでは、ドキュメントルートは次の場所にあります。 /var/www/html
. ただし、既存のサーバーを使用している場合は、対応するVirtualHostディレクティブに複数のドキュメントルートが含まれるなど、設定が大幅に異なる場合があります。
を使用して、追加のドキュメントルートの場所を検索できます grep
. で検索 /etc/apache2/sites-enabled
次のコマンドを使用して、フォーカスをアクティブなサイトに制限するディレクトリ:
- grep -R "DocumentRoot" /etc/apache2/sites-enabled
The -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 /mnt/volume-nyc1-01
を使用して -a
フラグは、アクセス許可とその他のディレクトリプロパティを保持しますが、-v
進行状況を追跡できるように、詳細な出力を提供します。 使用についての詳細 rsync
チュートリアルRsyncを使用してVPSでローカルディレクトリとリモートディレクトリを同期する方法。
注:ディレクトリに末尾のスラッシュがないことを確認してください。これは、タブ補完を使用する場合に追加される可能性があります。 末尾にスラッシュがある場合、 rsync
ディレクトリの内容を、それを含むものに転送するのではなく、マウントポイントにダンプします html
ディレクトリ:
ファイルは新しい場所にありますが、Apacheはまだ古い場所を探しているので、それを修正しましょう。
ステップ2—構成ファイルを更新する
Apache2は、グローバル構成ファイルとサイト固有の構成ファイルの両方を利用します。 構成ファイルの階層の背景については、UbuntuまたはDebianVPSでApacheWebサーバーを構成する方法を参照してください。
既存のインストールで作業している場合は、以前に見つけた仮想ホストファイルを grep
指図。 この例では、デフォルトでApacheに付属している2つの仮想ホストファイルを見ていきます。 000-default.conf
と default-ssl.conf
.
編集することから始めます 000-default.conf
ファイル:
- sudo nano /etc/apache2/sites-enabled/000-default.conf
で始まる行を見つける DocumentRoot
新しい場所で更新します。
<VirtualHost *:80>
...
ServerAdmin webmaster@localhost
DocumentRoot /mnt/volume-nyc1-01/html
次に、 Directory
元のパスも指すブロックと、新しいパスを指すように更新します。
新規インストールでは、 Directory
デフォルトサイトのエントリ。 次のコードを構成ファイルに追加して、Apacheが新しい場所からファイルを提供できるようにします。
...
ServerAdmin webmaster@localhost
DocumentRoot /mnt/volume-nyc1-01/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /mnt/volume-nyc1-01/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
...
最初 Directory
ブロックはいくつかの制限的なデフォルトのアクセス許可を設定し、2番目のブロックは新しいWebルートのオプションを構成します /mnt/volume-nyc1-01/html/
注:元のパスが表示された他の場所を探し、それらも新しい場所に変更する必要があります。 に加えて DocumentRoot
と Directory
設定では、更新が必要なエイリアスやリライトなども見つかる場合があります。 の出力に元のドキュメントルートのパスが表示される場所 grep
、新しい場所を反映するようにパスを更新する必要があります。
必要な変更を加えたら、ファイルを保存します。
次に、SSL構成に注目します。 新規インストールでは、SSLはまだ構成されていませんが、おそらく更新する必要があります ssl-default.conf
変更を加える必要があることを覚えていない場合は、後でいくつかの問題を回避するためにファイルしてください。
注: SSLが有効になっていない場合は、 ssl-default.conf
ファイルはにのみあります /etc/apache2/sites-available.
でSSLを有効にした場合 sudo a2ensite ssl-default
、シンボリックリンクはのファイルから作成されます sites-available
に /etc/apache2/sites-enabled
. その場合、どちらのディレクトリからでもファイルを編集できます。
ファイルを編集します。
- sudo nano /etc/apache2/sites-available/ssl-default.conf
次に、以前に行ったのと同じ変更を行います。 DocumentRoot
と確実に Directory
ルールは適切に構成されています。
...
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /mnt/volume-nyc1-01
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /mnt/volume-nyc1-01/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
...
構成の変更が完了したら、次のコマンドを使用して構文が正しいことを確認します。
- 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
デフォルトのインストールでは、前のメッセージが表示されますが、無視しても問題ありません。 あなたが見る限り Syntax OK
、Webサーバーを再起動します。 それ以外の場合は、報告された問題を追跡して修正します。
次のコマンドを使用して、Apacheを再起動します。
- sudo systemctl reload apache2
サーバーが再起動したら、影響を受けるサイトにアクセスして、期待どおりに機能していることを確認します。 すべてが順調に進んだら、データの元のコピーを削除することを忘れないでください。
結論
このチュートリアルでは、Apacheドキュメントルートを新しい場所に変更しました。 これは、単一のサーバーで複数のサイトを効果的にホストするなど、基本的なWebサーバーの管理に役立ちます。 また、ネットワークブロックストレージなどの代替ストレージデバイスを利用することもできます。これは、ニーズの変化に応じてWebサイトを拡張するための重要なステップです。
忙しいまたは成長しているWebサイトを管理している場合は、本番環境でパフォーマンスのボトルネックに遭遇する前に、Webサーバーの負荷テストを学習してパフォーマンスのボトルネックを特定することをお勧めします。 本番Webアプリケーションサーバーのセットアップを改善する5つの方法のこの比較で、本番エクスペリエンスの改善についてさらに学ぶことができます。