#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

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS