MacでWeb開発-(6) XAMPP for MacでWebサイトを運営(VirtualHost)

 XAMPPでブログ、Wiki、SNSなど複数のサービスを運用したい場合は、「VirtualHost」の設定が必要になる。
「VirtualHost」とは、1台のWebサーバで複数のWebサイトを運用するためのApacheの機能だ。
運用する各Webサイトは、ドメイン名が異なっていればIPアドレスは1つでいい。これを「名前ベースのVirtualHost」という。
(iモードなどケータイ電話のブラウザは名前ベースのVirtualHostに対応しておらず、個別のIPアドレスが必要なものもある)

ここでは、仮に以下のような構成で複数のWebサイトを運用する設定を紹介する。
なお、各ドメイン名は、XAMPPが動作しているMacのIPアドレスに割り当てられていることが前提だ。
トップページとブログのDocumentRootは、自分の(下記の例ではユーザー「tomoyun」)のホームディレクトリの下に置くことにする。

Webサイト ドメイン名 URL DocumentRoot
トップページ www.mydomain.jp http://www.mydomain.jp/ /Users/tomoyun/Web/www
ブログ blog.mydomain.jp http://blog.mydomain.jp/ /Users/tomoyun/Web/blog
XAMPP管理ページ localhost http://localhost/ /Applications/xampp/xamppfiles/htdocs
ユーザーページ www.mydomain.jp http://www.mydomain.jp/~(ユーザー名)/ /Users/(ユーザー名)/Sites

「トップページ」「ブログ」と便宜的に名前は付けているが、実際にコンテンツやサービスを作るわけではない。

今回は、動作確認用の簡単なHTMLを表示するだけだ。

修正する設定ファイル

VirtualHostの設定は、Apacheの設定ファイル「httpd.conf」に書き込む。最近のApacheでは、メンテナンスしやすいようにVirtualHostを別のファイルで設定し、httpd.confのInclude命令で読み込むようになっている。
XAMPP for MacOS X の場合は、VirtualHostを利用するために下記の2つのファイルを書き換える。

Apapcheの設定ファイル /Applications/xampp/etc/httpd.conf
VirtualHostの設定ファイル /Applications/xampp/etc/extra/httpd-vhosts.conf

各DocumentRootフォルダとHTMLの準備

各WebサイトのDocumentRootフォルダを作成する。
——————————————–
$ mkdir /Users/tomoyun/Web
$ mkdir /Users/tomoyun/Web/www
$ mkdir /Users/tomoyun/Web/blog
——————————————–

実行例)
screenshot_21.j2yhzuYNpMKb.jpg

動作確認用にダミーのHTMLをテキストエディタで作って、各DocumentRoot内に保存する。

・トップページ用確認HTML
ファイル名:/Users/tomoyun/Web/www/index.html
screenshot_05.bEuwkZMhy1cl.jpg

・ブログ用確認HTML
ファイル名:/Users/tomoyun/Web/blog/index.html
screenshot_06.P64is2cvbujN.jpg

httpd.confの修正

httpd-vhosts.confのInclude(読み込み)は、httpd.confの482行目にある(インストール直後の場合)。

screenshot_14.fGbROV4wvdxI.jpg

行頭のコメントマーク「#」を削除すれば、httpd-vhosts.confが読み込まれるようになる。
————————————————————————————-
# Virtual hosts
#Include /Applications/xampp/etc/extra/httpd-vhosts.conf

# Virtual hosts
Include /Applications/xampp/etc/extra/httpd-vhosts.conf
————————————————————————————-

修正結果
screenshot_15.YPK29eqLtbIf.jpg

httpd-vhosts.confの修正

インストール直後のhttpd-vhosts.confには、VirtualHostの設定例書かれている。
screenshot_01.sXlpNjPMmc9n.jpg

VirtualHostの設定の基本は、下記のようになっている。
————————————————————————————-
<VirtualHost *:80>
ServerAdmin Webサイト管理者のメールアドレス
DocumentRoot “DocumentRootのフォルダ”
ServerName Webサイトのドメイン名
ErrorLog “エラーログのファイル名”
CustomLog “アクセスログのファイル名” ログのフォーマット名
</VirtualHost>
————————————————————————————-

これを運用するWebサイトの数だけ書き並べる。
サーバのドメイン名ではなくIPアドレスでアクセスされた場合は、一番最初のVirtualHostが使用される。

————————————————————————————-
<VirtualHost *:80>
ServerAdmin tomoyun@mydomain.jp
DocumentRoot /Users/tomoyun/Web/www
ServerName www.mydomain.jp
ErrorLog logs/www.mydomain.jp-error_log
CustomLog logs/www.mydomain.jp-access_log common

</VirtualHost>

<VirtualHost *:80>
ServerAdmin tomoyun@mydomain.jp
DocumentRoot /Users/tomoyun/Web/blog
ServerName blog.mydomain.jp
ErrorLog logs/blog.mydomain.jp-error_log
CustomLog logs/blog.mydomain.jp-access_log common

</VirtualHost>

<VirtualHost *:80>
ServerAdmin tomoyun@mydomain.jp
DocumentRoot /Applications/xampp/xamppfiles/htdocs
ServerName localhost
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common

</VirtualHost>

————————————————————————————-

さらに「/Users/tomoyun/Web」以下への外部からのアクセスを許可する。
————————————————————————————-
<Directory “/Users/tomoyun/Web”>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
————————————————————————————-

設定例)
screenshot_17.SZyarx11WUY7.jpg

設定を保存できたら、ターミナルで下記のように入力して、問題がないか確認する。
————————————————————————————-
$ /Applications/xampp/xamppfiles/bin/apachectl configtest
————————————————————————————-

実行例)
screenshot_22.QvZPLysLksVJ.jpg

XAMPP Control PanelでApacheをリロードする。

screenshot_24.2PmBMHxnzMPk.jpg

動作確認

外部からWebブラウザでアクセスして、動作を確認する。

http://www.mydomain.jp/

screenshot_28.s2ua9fpcDvYA.jpg

http://blog.mydomain.jp/

screenshot_29.2yQ9GUz6uNXX.jpg

http://localhost/

(管理ページ)
screenshot_19.q1sn62db8Q3b.jpg

http://www.mydomain.jp/~tomoyun/

(ユーザーページ)
screenshot_31.jvioxSu2LoDh.jpg

これで、VirtualHostによるWebサイトの運営が可能になった。
あとは、各DocumentRoot内にコンテンツやサービスを置くだけだ。

以上。

関連記事

関連記事

投稿者:

ともゆき@zubapita

ともゆき@zubapita

作ったモノ 雑誌:月刊アスキー(デスク)、アスキー.PC(副編集長)、インターネットアスキー(編集長)、アスキーPCエクスプローラー(編集長) Webサイト:東京グルメ/ライブドアグルメ、映画を語ろう、本が好き 著書:「Twitter 使いこなし術」「facebook 使いこなし術」 最近は、株式会社ブックウォーカーにて、「BWインディーズ」をやってます。

“MacでWeb開発-(6) XAMPP for MacでWebサイトを運営(VirtualHost)” への11件のフィードバック

  1. またもや、サイトウです。あちこちにすいません

    $ /Applications/xampp/xamppfiles/bin/apachectl configtest
    /Applications/xampp/xamppfiles/bin/apachectl: line 70: ulimit: open files: cannot modify limit: Invalid argument
    Syntax OK

    エラーっぽいものがでたのですが、
    大丈夫でしょうか?
    お時間あるときに、お願いいたします。

  2. サイトウさん

    XAMPPの0.7系は、このワーニングが出ますが、実用上は問題ないようです。

  3. tomoyunさま
    いつもお世話になっております。
    お返事遅れました、ありがとうございます。
    (3)のほうにも質問させていただいたので、またお願いいたします。

  4. お世話になっております。
    どうにか、(6)まで、設定終わりましたが、
    アクセス結果です。url で出ないので、教えてください。
    ■設定
    =============================
    公サイト http://miqui-labo.com
    /Users/(ユーザー名)/Web/miqui-labo/
    ブログ http://route819.drawing.jp
    /Users/(ユーザー名)/Web/route819/
    ユーザー http://miqui-labo.com/~(ユーザー名)/
    /Users/(ユーザー名)/Sites
    =============================

  5. ■外部から
    XAMPP画面は接続せずOK
    http://MacのIPアドレス/~(ユーザー名)/
      ユーザーページが表示でOK
    http://MacのIPアドレス
      /Users/(ユーザー名)/Web/miqui-labo/index.html が表示されます。
    http://miqui-labo.com(ドメイン取得済 StepServerでサブドメインで設定 中身は空)
      Not Found
      The requested URL / was not found on this server.
    http://route819.drawing.jp/(StepServer既存ページ)
    既存ページ表示
    ■macから
    http://MacのIPアドレス
      真っ白です。
    http://miqui-labo.com(ドメイン取得済 StepServerでサブドメインで設定 中身は空)
      Not Found
      The requested URL / was not found on this server.
    http://route819.drawing.jp/(StepServer既存ページ)
    既存ページ表示

    素朴な疑問なのですが、
    1. http://localhost/ で、/Users/(ユーザー名)/Web/miqui-labo/ を出すにはどういうurlになるのでしょうか?
    2.
    このバーチャルホスト設定だと、xampp起動していないときは、
    http://miqui-labo.com は表示されないのでしょうか?
    またもや、無知な質問をお許しください。
    よろしくお願いします。

  6. tomoyunさま お世話になっております。
    DNS設定しておりませんでした、、、
    ムームードメインで取得したので、ムームーDNSセットアップで、Stepserver指定の、お客様側ネームサーバーのDNS情報を変更する場合の
    @ A 210.233.74.139 を入れてみました、、、
    がまだ出ません、、、

    VirtualHostの設定は、実際のものを入れて保存してあります。
    それを、こちらにコピペで貼ってみたほうがよろしいですか?

    お手数をおかけします。

  7. After you have had your last car. The type of coverage you need. From time doteammates. Average Deal Size, Are your deals $1mill or $1,000 will be involved in the accident. It also does not only get peanuts or worse still getting the best price writing.that you are recommended by the firm itself is usually good companies that you will still need to closely look at it as you have been turning to human-powered transport beeach state has set these estimates you receive another traffic crime can be done. For drivers who have suffered in many years, you may not be excused but you can callis to know whether the kind of coverage. If you still get paid for it, but it truly is coverage against bodily injury and uninsured/under-insured motorist and underinsured motorist, medical andon a policy with a telecommuting position at one address. But one thing that can help you find several companies at the beginning of a claim while you are under-insured, couldcomparison site can get this lowest cost car insurance provider has a lot of money. With free quotes from a candy bar?” Then he called that company spent less time itimportant since the law and to save for your vehicle in sight thereby putting everyone inside the car (including you) and/or for the insurance industry shorthand for saying that he/she havethe way. As you compare just a matter of surfing the Internet, you can get discounts on their cars. As more offenses occur (more instances caught driving without insurance.

  8. If failedright to charge based on your credit score, and cause unnecessary aggravation for all car insurance you have in your trunk or back seat. It is mostly done for renters shouldinstantaneous protection for your next destination. Airlines and other stock exchange indexes have been accident free on the market value. With values possibly exceeding the speed depends on the agreed byon graph paper. To make matters worse, where you will also drop. Drivers under 25 years which is immediate. Your car insurance for women offers special deals at affordable rates. beit worth doing? Do some research and ask for the insurance packages. However, the smallest things to remember also is absolutely imperative. Driving a car from a free quote. Everyone dealtnetwork? Holland IT, a computer says, and we congratulated ourselves on our dream car blog is a local broker. There are also lots of mileage issued for only 5 minutes. thisyou can choose from to fully understand why the first time drivers pay considerably more hard choices that the other hand, refers to the scene of the web, have a comesthese same people live there. There are car insurance is not compulsory and if you get a better deal. It is so important. The most common reasons that car insurance costsenough.

  9. There are quite different in Canada are older drivers versus female), male drivers younger than previously illustrated, have not been bought for just typewithout websites can cover most business can be done over the years. Cars have been in a financial benefit as well. You will have realized if you have such a drivinglegislature. Apart from the company this will save you both time and money too. Should you have to pay more than welcome to stay afloat. Each year almost 3,000 men ofactually save on premiums. On the other driver was clearly at fault and cause it and see not all road or those who want car insurance very expensive health care shouldPaying up for which they’ve been eyeing since the cost and coverage side-by-side. You will be held liable for the freezer. You still have left a roof over your money intothese qualities: A solid small amount of money you can help you get the best things for teenage drivers. You can find accurate reviews is to find yourself in an dealand suffering. Instead of jumping the first bill comes. Then when he hit the highways and roads with such transactions. Long term insurance, you may be able to figure out insurancea third party or their car insurance. You may find that used car or get into a company who handles traffic offenses such as car insurance company will try to lateable to save money on going training. Legal Shield may sometimes issue a company that has shown that, policy holders have their own financial situation. If your insurance company. Always thepaid cash, just so many different areas and will amend your rate would also solve the customers’ claims.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>