#author("2021-02-17T11:33:42+09:00","","") #author("2021-02-17T11:50:32+09:00","","") #nofollow #norelated 総数:&counter(total); 今日:&counter(today); 昨日:&counter(yesterday); * もくじ [#v6d80c68] #contents &size(22){&color(blue){apache2.4.41にWebサイトのバーチャルホストを作成};};&br; 参考url: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04-ja &br; 参考url: [[一つのApacheサーバーで複数ドメインのサイトを公開する方法>https://dawaan.com/apache-multiple-sites/]] &br; *バージョンを確認 [#v72fa647] ~$ apache2 -version Server version: Apache/2.4.41 (Ubuntu) Server built: 2020-08-12T19:46:17 -2.4.41 だった。&br; Apache Webサーバーを使用している場合、バーチャルホストを作成して設定の詳細をカプセル化し、単一のサーバーから複数のドメインをホストすることができます。&br; ここでは、your_domainというドメインを設定しますが、このドメイン名を自分のドメイン名に置き換える必要があります。&br; &br; Ubuntu 20.04上のApacheには、/var/www/htmlディレクトリからドキュメントを提供するように設定されているデフォルトで有効になっている1つのサーバーブロックがあります。&br; これは単一のサイトに適していますが、複数のサイトをホストしている場合、扱いにくくなる可能性があります。&br; var/www/htmlを変更する代わりに、&br; クライアントのリクエストが他のサイトと一致しない場合に提供されるデフォルトのディレクトリとして/var/www/htmlをそのままにして、&br; your_domainサイトの/var/www内のディレクトリ構造を作成します。&br; *your_domainのディレクトリを次のように作成します。 [#e79b4c19] ~$ sudo mkdir /var/www/your_domain -example |phpテスト用ドメイン|sudo mkdir /var/www/test_php| |pythonテスト用ドメイン|sudo mkdir /var/www/test_python| *現在のシステムユーザーを参照する環境変数$USERでディレクトリの所有権を割り当てます。 [#ef27fd5f] ~$ sudo chown -R $USER:$USER /var/www/your_domain -example |phpテスト用ドメイン|sudo chown -R $USER:$USER /var/www/test_php| |pythonテスト用ドメイン|sudo chown -R $USER:$USER /var/www/test_python| *Apacheのsites-availableディレクトリに新しい設定ファイルを開きます。 [#b16cf63e] ~$ sudo gvim -f /etc/apache2/sites-available/your_domain.conf -次のbare-bones 設定に貼り付けます。 <VirtualHost *:80> ServerName your_domain ServerAlias www.your_domain ServerAdmin webmaster@localhost DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> -example |phpテスト用ドメイン|sudo gvim -f /etc/apache2/sites-available/vhost_test_php.conf| <VirtualHost *:80> ServerName test_php ServerAlias www.test_php ServerAdmin webmaster@localhost DocumentRoot /var/www/test_php ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> -example |pythonテスト用ドメイン|sudo gvim -f /etc/apache2/sites-available/vhost_test_python.conf| <VirtualHost *:80> ServerName test_python ServerAlias www.test_python ServerAdmin webmaster@localhost DocumentRoot /var/www/test_python ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> -完了したら、ファイルを保存して閉じます。 このVirtual Host設定により、&br; Web rootディレクトリとして/var/www/your_domainを使用して、&br; Apacheにyour_domainにサービスを提供するよう指示します。&br; *新しいバーチャルホストを有効にする [#z752f668] ~$ sudo a2ensite your_domain -example |phpテスト用ドメイン|sudo a2ensite vhost_test_php.conf| |pythonテスト用ドメイン|sudo a2ensite vhost_test_python.conf| **デフォルトのWebサイトを無効にしたい場合 [#rc872993] Apacheと一緒にインストールされているデフォルトのWebサイトを無効にしたい場合があります。&br; Apacheのデフォルト設定はバーチャルホストを上書きするため、&br; カスタムドメイン名を使用していない場合にはこれは必要です。&br; ApacheのデフォルトのWebサイトを無効にするには、次のように入力します。&br; ~$ sudo a2dissite 000-default *設定ファイルに構文エラーが含まれていないことを確認する [#xa1d39e3] ~$ sudo apache2ctl configtest *最後に、Apacheをリロードする [#ke0a8428] ~$ sudo systemctl reload apache2 *hostsファイル設定追加 [#md3aa3f1] ~$ sudo gvim -f /etc/hosts -example 下記を追記 192.168.3.12 www.test_php 192.168.3.12 www.test_python *新しいWebサイトにindex.htmlファイルを作成 [#ae504da1] 新しいWebサイトはアクティブになりましたが、Web root /var/www/your_domainはまだ空です。&br; その場所にindex.htmlファイルを作成し、バーチャルホストが予想通りに動作するかどうかテストできます。&br; ~$ gvim -f /var/www/your_domain/index.html このファイルに以下を記述します。 <html> <head> <title>your_domain website</title> </head> <body> <h1>Hello World!</h1> <p>This is the landing page of <strong>your_domain</strong>.</p> </body> </html> *確認 [#nd08bcbf] ここでブラウザにアクセスして、もう一度サーバーのドメイン名またはIPアドレスにアクセスしてください。&br; http://server_domain_or_IP