前書き
Ubuntuでは、デフォルトで、Apache2 Webサーバーはドキュメントを `+ / var / www / html`に保存します。これは通常、オペレーティングシステムの他の部分と一緒にルートファイルシステムにあります。 ただし、ドキュメントルートを別の場所(別のマウントされたファイルシステムなど)に移動すると便利な場合があります。 たとえば、同じApacheインスタンスから複数のWebサイトを提供する場合、それぞれのドキュメントルートを独自のボリュームに配置すると、特定のサイトまたはクライアントのニーズに応じて拡張できます。
このガイドでは、Apacheドキュメントルートを新しい場所に移動する方法を示します。
前提条件
このガイドを完了するには、次のものが必要です。
-
* `+ sudo +`特権を持つ非rootユーザーを持つUbuntu 16.04サーバー*。 これらの権限を持つユーザーを設定する方法については、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04 [Ubuntu 16.04での初期サーバー設定]をご覧ください。 ]ガイド。
-
* Apache2 Webサーバー*:まだ設定していない場合は、詳細な記事のApacheセクション、https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache -mysql-php-lamp-stack-on-ubuntu-16-04 [Ubuntu 16.04にLinux、Apache、MySQL、PHP(LAMP)スタックをインストールする方法]が参考になります。
-
ドキュメントルートの新しい場所:新しいドキュメントルートの場所は、ニーズに基づいて完全に構成可能です。 ドキュメントルートを別のストレージデバイスに移動する場合は、デバイスのマウントポイントの下の場所を選択します。
この例では、 `+ / mnt / volume-nyc1-01 +`ディレクトリを使用します。 DigitalOceanでBlock Storageを使用している場合、https://www.digitalocean.com/community/tutorials/how-to-use-block-storage-on-digitalocean [このガイド]は、続行する前にドライブをマウントする方法を示しますこのチュートリアルで。
手順1-ファイルを新しい場所にコピーする
Apacheの新規インストールでは、ドキュメントルートは `+ / var / www / html`にあります。 ただし、既存のサーバーを使用している場合は、対応するVirtualHostディレクティブに複数のドキュメントルートを含む、大幅に異なるセットアップがある場合があります。
`+ grep `を使用して、追加のドキュメントルートの場所を検索できます。 ` / etc / apache2 / sites-enabled `ディレクトリを検索して、アクティブなサイトにフォーカスを絞ります。 ` -R `フラグは、 ` grep +`が出力にDocumentRootとファイル名の両方を印刷することを保証します:
grep -R "DocumentRoot" /etc/apache2/sites-enabled
結果は以下の出力のようになりますが、既存のインストールでは結果の名前と数が異なる可能性があります。
Outputsites-enabled/000-default.conf DocumentRoot /var/www/html
「+ grep +」からのフィードバックを使用して、移動するファイルを移動していることを確認し、適切な構成ファイルを更新します。
ドキュメントルートの場所を確認したので、 `+ rsync `を使用してファイルを新しい場所にコピーします。 ` -a `フラグを使用すると、パーミッションと他のディレクトリプロパティが保持され、 ` -v +`は詳細な出力を提供するため、進行状況を追跡できます。
sudo rsync -av /var/www/
これで、構成を更新する準備ができました。
ステップ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 />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory >
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
これらの変更を保存した後、SSL構成に注意を向けます。 新規インストールでは、SSLはまだ設定されていませんが、変更を加える必要があることを覚えていない場合、後でトラブルシューティングを避けるために、おそらく `+ ssl-default.conf +`を更新する必要があります。
sudo nano /etc/apache2/sites-available/ssl-default.conf
/etc/apache2/sites-available/ssl-default.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot
. . .
ステップ3-Apacheの再起動
設定の変更が完了したら、 `+ configtest +`を使用して構文が正しいことを確認できます。
sudo apachectl configtest
新しくインストールすると、 `+ 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アプリケーションサーバーのセットアップを改善する]。