裸の王様社会🌟

鏡子 (きょうこ)

文字の大きさ
上 下
464 / 1,546
様々な気付き

1つのIPアドレス上で複数のウェブサイトを名前ベースのバーチャルホストで運用するように設定しよう。

しおりを挟む

こんな記事見つけた。

↓↓↓↓↓


ハウツー:Apacheでバーチャルホストを設定する

2007年8月27日10:47 James-Lees(2007年8月15日(水))

 1台のウェブサーバ上で1つのサイトを運用するというのも十分に厄介な作業になり得るが、複数の顧客のために複数のサイトをホストする必要がある場合には下手に設定すると非常に厄介なことになる。Apacheを使用しているなら、バーチャルホストを設定することで作業を楽に行なうことができる。バーチャルホストを使用すれば、1つのIPアドレス上で複数のドメインを管理することができるようになり、「http://あなたのサイト.com/バーチャルホスト関連/顧客のディレクトリ/ファイル名.html」のようなURLではなく「http://顧客のドメイン.com/ファイル名.html」のようなURLで指定することが可能になり、「/srv/www/htdocs/バーチャルホスト関連/顧客のディレクトリ」といったファイル構成でドメイン転送の設定をせずに済ませることができるようになる。

 Apacheが正しくインストールされていれば、バーチャルホストの設定はApacheの設定ファイルを編集することで簡単に行なうことができる。/etc/apache2ディレクトリにはhttpd.conf、error.conf、server-tuning.confなど数多くの設定ファイルがある。これらのファイルは一般ユーザには読み取りのみ可の設定になっているため、ファイルを変更するためにはsudoやsuを使用してroot権限を得る必要がある。

 /etc/apache2/httpd.confを開いて以下のような行を見つけよう。

Include /etc/apache2/vhosts.d/*.conf
 上記の行を変更して、.confファイルを具体的に指定するようにする。ここでは、後ほど作成するvhost.confというファイルを指定する。


Include /etc/apache2/vhosts.d/vhost.conf
 変更が完了したら、ファイルを保存しよう。次に再びroot権限で、/vhosts.d/にあるvhost.templateファイルの名前を以下のように変更してvhost.confを作成する。

# mv vhost.template vhost.conf
 それではvhost.confファイルを編集して、1つのIPアドレス上で複数のウェブサイトを名前ベースのバーチャルホストで運用するように設定しよう。まず始めに、「NamevirtualHost *」としてバーチャルホスト用のディレクティブを追加する。なおアスタリスクはワイルドカード文字であり、すべてのアドレスを表わす。次に以下のようにして、NamevirtualHostディレクティブの下に1つめのバーチャルホストを追加しよう。

NamevirtualHost *
<VirtualHost *>
ServerAdmin youremail@yoursite.com
DocumentRoot /srv/www/htdocs/directory_of_your_choice/
ServerAlias yourdomain.com *.yourdomain.com
<virtualHost>


 最初の部分(<VirtualHost *>)は、バーチャルホストを定義するブロックを開始するためのタグだ。ServerAdminは、404などのエラーが起こった場合に管理者の電子メールアドレスを表示するための設定だ。DocumentRootは、定義するサイトのルートディレクトリで、例えば私の場合、これまでにホストしたサイトはすべて「/srv/www/htdocs/バーチャルホスト関連/サイト名/」の中に各サイト用のファイルを置くようにしていた。次はServerAliasまたはServerNameで、サイトを閲覧したりサイトにアクセスするために使用することができる名前を指定する。ServerAliasやServerNameごとに異なるDocumentRootを指定することによって、それぞれのドメイン名に対応するそれぞれ異なるページを表示させることができる。上記でServerAliasに2つのエントリがある理由は、サーバが複数のServerNameで呼び出されることがしばしばあるからだ。そのような場合には、ServerAliasに複数のアドレスを設定しておくことができる。なおワイルドカードは、.yourdomain.comの前に何が指定されても良いようにするために使用している。

 それでは、(1つはサーバのメインのIPアドレス、もう1つはlocalhost(127.0.0.1)上に)複数のバーチャルホストを2つの異なるNameVirtualHostブロックを使って設定したい場合はどうなるだろうか。コードは以下のようになる。

NameVirtualHost *
<VirtualHost *>
ServerAdmin admin@mixfevers.com
DocumentRoot /srv/www/htdocs/
ServerAlias mixfevers.com *.mixfevers.com
</VirtualHost>

<VirtualHost *>
ServerAdmin admin@snapnshare.com
DocumentRoot /srv/www/htdocs/snapnshare/
ServerAlias snapnshare.com *.snapnshare.com
</VirtualHost>

<VirtualHost *>
ServerAdmin admin@boomerwebzine.com
DocumentRoot /srv/www/htdocs/~/boomer/
ServerAlias boomerwebzine.com *.boomerwebzine.com
</VirtualHost>

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
   DocumentRoot /srv/www/htdocs/
   ServerName localhost
</VirtualHost>

変更を有効にするためには、設定ファイルを保存した後、Apacheをroot権限で再起動する必要がある。

# /etc/init.d/apache2 restart
 上記の設定は、1台のサーバ上で複数のサイトをホストする小企業や、ウェブサイトをデザインしてホストしたいホビイスト向けとしてうまく機能するだろう。特定のドメイン名に関するリクエストに対してどのページを表示したらいいのかを設定しているので、IPアドレスが静的な場合だけでなく動的な場合にもこの設定を使うことができる。

 なおApacheプロジェクトによって、様々なバーチャルホストの設定/管理についての文書が提供されている。

James Leesはウェブサイト開発者。ネットワークエンジニアリングとウェブ開発を学ぶために大学へ行きたいと考えている。一途なLinuxユーザ。

Linux.com 原文 

Web技術 デベロッパー


※ 転載ここまで。



機械音痴で、いまいち意味が理解出来ず。

vhostsが、気になったから、調べた。


vhostsは、バーチャルホストを設定する時に、表示される言葉だった。





クリックしたら、妨害画面。





◎注目記事
《Include /etc/apache2/vhosts.d/*.conf
 上記の行を変更して、.confファイルを具体的に指定するようにする。ここでは、後ほど作成するvhost.confというファイルを指定する。》



バーチャルホストが作れるってことは、
IP 153.254.170.6と、nogisawa .net  は同一人物?




しおりを挟む
1 / 5

この作品を読んでいる人はこんな作品も読んでいます!

転生した悪役令嬢の断罪

恋愛 / 連載中 24h.ポイント:11,851pt お気に入り:1,628

【完結】私の婚約者は、いつも誰かの想い人

恋愛 / 完結 24h.ポイント:8,129pt お気に入り:3,633

月の砂漠に銀の雨《二人の騎士と異世界の神子》

BL / 連載中 24h.ポイント:326pt お気に入り:4,791

公爵子息の母親になりました(仮)

恋愛 / 連載中 24h.ポイント:1,029pt お気に入り:3,317

先日、あなたとは離婚しましたが?

恋愛 / 完結 24h.ポイント:575pt お気に入り:711

処理中です...