CentOS6でApache仮想ホストを設定する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのCentOSについて説明します。 現在CentOS6を実行しているサーバーを運用している場合は、サポートされているバージョンのCentOSにアップグレードまたは移行することを強くお勧めします。
理由: CentOS 6は、2020年11月30日に保守終了(EOL)に達しました and no longer receives security patches or updates. For this reason, this guide is no longer maintained.
代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のCentOSリリースでは機能しない場合があります。 可能な場合は、使用しているCentOSのバージョン用に作成されたガイドを使用することを強くお勧めします。
次のDigitalOceanチュートリアルでは、CentOS7サーバーへのApacheWebサーバーのインストールの概要と、仮想ホストファイルの設定方法の概要を説明しています。
仮想ホストについて
仮想ホストは、単一のIPアドレスから複数のドメインを実行するために使用されます。 これは、1つの仮想プライベートサーバーから複数のサイトを実行する必要がある場合に特に便利です。 サイトは、ユーザーがサイトにアクセスしたときに、訪問者に異なる情報を表示します。VPSに追加できる仮想ホストの数に制限はありません。
設定
このチュートリアルの手順では、ユーザーがroot権限を持っている必要があります。 手順3と4の初期サーバー設定で設定方法を確認できます。 さらに、ステップでユーザーを参照する場合は、wwwという名前を使用します。 自分に合ったユーザー名を実装できます。
さらに、apacheを仮想サーバーにインストールして実行している必要があります。そうでない場合は、次のコマンドでダウンロードできます。
sudo yum install httpd
ステップ1-新しいディレクトリを作成する
仮想ホストを作成する最初のステップは、新しいWebサイトの情報を保持するディレクトリを作成することです。
この場所は、後でApache仮想構成ファイルのドキュメントルートになります。 コード行に-pを追加すると、コマンドは新しいディレクトリのすべての親を自動的に生成します。
sudo mkdir -p /var/www/example.com/public_html
仮想ホストが機能していることをテストするには、実際のDNS承認済みドメインまたはIPアドレスを指定する必要があります。 このチュートリアルでは、example.comを正しいドメイン名のプレースホルダーとして使用します。
ただし、未承認のドメイン名を使用してプロセスをテストする場合は、ステップ6でローカルコンピューターでそれを機能させる方法に関する情報を見つけることができます。
ステップ2—権限を付与する
ディレクトリをルートシステムに保持するだけでなく、ユーザーにディレクトリの所有権を付与する必要があります。
sudo chown -R apache:apache /var/www/example.com/public_html
さらに、誰もが新しいファイルを読み取れるようにすることが重要です。
sudo chmod 755 /var/www
これで、すべての権限が完了しました。
ステップ3—ページを作成する
構成ディレクトリ内にindex.htmlという新しいファイルを作成する必要があります。
sudo vi /var/www/example.com/public_html/index.html
ファイルにテキストを追加して、IPが仮想ホストにリダイレクトするときに何かを確認できるようにすることができます。
<html> <head> <title>www.example.com</title> </head> <body> <h1>Success: You Have Set Up a Virtual Host</h1> </body> </html>
保存して終了
ステップ4—仮想ホストをオンにします
次のステップは、apache構成ファイル自体を入力することです。
sudo vi /etc/httpd/conf/httpd.conf
探すべき行がいくつかあります。
テキストが下に表示されているものと一致していることを確認してください。
#Listen 12.34.56.78:80 Listen 80
ドキュメントの一番下までスクロールして、仮想ホストと呼ばれるセクションに移動します。
NameVirtualHost *:80 # # NOTE: NameVirtualHost cannot be used without a port specifier # (e.g. :80) if mod_ssl is being used, due to the nature of the # SSL protocol. # # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html ServerName www.example.com ServerAlias example.com ErrorLog /var/www/example.com/error.log CustomLog /var/www/example.com/requests.log </VirtualHost>
注目すべき最も重要な行は、NameVirtualHost、Virtual Host、Document Root、およびServerNameという行です。 これらを一度に1つずつ取りましょう。
- 変更を加えずにNameVirtualHostのコメントを解除(番号記号を削除)します。 スターは、ポート80を通過するすべてのIPアドレスが仮想ホストになることを意味します。 システムにはおそらくIPアドレスが1つしかないため、これは問題にはなりません。ただし、必要に応じて、スターをIPアドレスに置き換えることができます。
- の行に到達するまで、残りの数字マークをそのままにしておくことができます。 を介してそこからすべてのコメントを解除します。
- はそのままにします。詳細は、NameVirtualHostセクションの詳細と一致する必要があります。 そのセクションでスターを自分のIPアドレスに置き換えた場合は、ここでも同じことを行ってください。
- ドキュメントルートが重要です! このセクションでは、ステップ1で作成した新しいディレクトリの拡張子を書き込みます。 ドキュメントルートが正しくないか存在しない場合、仮想ホストを設定することはできません。
- サーバー名は、仮想ホストのドメイン名を含むもう1つの重要な情報です(例: www.example.com)。 ドメインを完全に綴ることを確認してください。 次の行に別の可能性を入れます。
- ServerAliasは、デフォルトでは存在しない構成ファイルの新しい行です。 これを追加すると、たとえば先頭にwwwがない場合など、ドメイン名のいくつかのバリエーションを一覧表示できます。
このセクションの残りの行は、仮想ホストをセットアップするために必要ではありません。 ただし、それでも彼らが何をしているのかを知ることは役に立ちます。
- サーバー管理者がウェブマスターのメールアドレスを要求します。
- エラーログとカスタムログは、サーバーの問題を追跡します。 エラーログはサーバーの保守中に発生する問題をカバーし、カスタムログはサーバー要求を追跡します。 これらのプロセスのカスタムの場所を設定できます。
- のコメントが解除されていることを確認してください。 次に、保存して終了します。
ステップ5—Apacheを再起動します
構成に多くの変更を加えました。 ただし、Apacheが再起動されるまで有効になりません。
まず、すべてのapacheプロセスを停止します。
sudo apachectl -k stop
次に、apacheをもう一度起動します。
sudo /etc/init.d/httpd start
次のエラーが表示される場合があります。
Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
メッセージは単なる警告であり、それ以上の問題なしに仮想ホストにアクセスできるようになります。
オプションのステップ6—ローカルホストの設定
ドメイン名が仮想プライベートサーバーのIPアドレスを指している場合は、この手順をスキップできます。ローカルホストを設定する必要はありません。 仮想ホストが機能するはずです。 ただし、実際のドメイン名に接続せずに新しい仮想ホストを試してみたい場合は、コンピューターだけでローカルホストを設定できます。 この手順では、ドロップレットではなく、コンピューター自体を使用していることを確認してください。
この手順を続行するには、コンピューターの管理者パスワードを知っている必要があります。そうでない場合は、実際のドメイン名を使用して仮想ホストをテストする必要があります。
MacまたはLinuxを使用している場合は、コンピューターのrootユーザー(su
)にアクセスし、hostsファイルを開きます。
nano /etc/hosts
Windowsコンピュータを使用している場合は、Microsoftサイトでホストファイルを変更する手順を見つけることができます。
次の例に示すように、このファイルにローカルホストの詳細を追加できます。 その行がある限り、たとえばexample.comにブラウザを向けると、対応するIPアドレスのすべての仮想ホストの詳細が表示されます。
# Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost #Virtual Hosts 12.34.56.789 www.example.com
ただし、今後の混乱を避けるために、完了したら、これらの構成されたアドレスをローカルホストフォルダから削除することをお勧めします。
ステップ7—結果:仮想ホストの動作を確認する
仮想ホストの設定が完了すると、オンラインでどのように表示されるかを確認できます。 ブラウザにIPアドレスを入力します(つまり、 http://12.34.56.789)
便利なスクリーンショットに少し似ているはずです
よくできた!
仮想ホストの追加
追加の仮想ホストを作成するには、上記のプロセスを繰り返すだけで、毎回適切な新しいドメイン名で新しいドキュメントルートを設定するように注意してください。 次に、以下に示すように、新しい仮想ホスト情報をコピーしてApacheConfigファイルに貼り付けます。
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html ServerName www.example.com ServerAlias example.com ErrorLog /etc/var/www/example.com/error.log CustomLog /var/www/example.com/requests.log </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/example.org/public_html ServerName www.example.org ServerAlias example.org ErrorLog /var/www/example.org/error.log CustomLog /var/www/example.orgrequests.log </VirtualHost>
続きを見る
仮想ホストを設定したら、サイトのSSL証明書の作成またはFTPサーバーのインストールに進むことができます。