VirtualBox経由でApacheにサイトを提供する方法は?


8

このチュートリアルでは、Windows 7ホストマシンのVirtualBoxにUbuntuサーバー(12.10、64ビット)VMを作成し、Apacheをインストールして、ホストマシンのブラウザーからアクセスできるダミードメインからサイトにサービスを提供する方法を学びました。

それは1日と多くの試行を要し(レイアウトが指示されていたため、指示に従っていたように見えましたが、常に何か間違っていました)、最終的にそれを実行しました。

UbuntuはWindowsよりもはるかにシームレスな開発環境だと思うので、Ubuntuでも同じことをしたいと思っていました。そこで、今回は、UbuntuホストマシンのVirtualBoxにUbuntu Server VMを作成し、Apacheをインストールして構成しました。しかし、ダミードメイン経由でサイトにアクセスすると、「サーバーが見つかりません」というエラーが表示されます。

はい、チュートリアルで/etc/hosts述べたとおりにファイルを変更しまし(これはWindows 7用です)。しかし、私はそれを機能させることができませんでした。何が悪いのか分からない。誰かが私が他に何をすべきか知っていますか?

編集:私が十分に明確でない場合は、質問してください。明確にしたいと思います。


あなたのコンピュータから(例えば開発のために)またはネットワーク内の他の人からサーバを使いたいですか?
Davisein

サーバーが仮想マシンにインストールされ(virtualboxを使用)、ホストマシンのブラウザーからサーバーが提供するテストWebサイトにアクセスしたい。それが明確であることを願っています。回答を投稿しました(ただし、回答済みとしてマークできるのは2日後のみです)。
its_me

1
確かに、私はすでにあなたの答えを支持しています。ホストオンリーとブリッジ(インターネットアクセス用)の両方を追加することをお勧めします。そして、もう1つの答えは、外部からVMにアクセスする場合のブリッジ環境での要件です。他の人のために質問を完全に明確にするために;)
Davisein

回答:


5

物理ネットワーク内の他のマシンがVMに到達できるようにする必要がある場合、またはVMがインターネットアクセスを必要とする場合は、ブリッジネットワークを使用します。それ以外の場合は、ホストのみのネットワークに固執します。

  1. VMを停止し、VirtualBox(OSE)Managerでその設定を開きます

  2. [ ネットワーク ]タブに移動します

  3. ネットワークモードを選択します(ブリッジネットワークまたはホストのみ)。

    ブリッジネットワークを使用する場合は、名前:____________で適切なネットワークアダプターを選択する必要があります。有線接続の場合は、などの名前を選択しますeth0。ワイヤレス接続には通常名前が付けられますwlan0(数値は異なる場合があります)。

  4. 設定を保存する

  5. Ubuntu VMを起動する

  6. 起動したら、次のコマンドを実行してIPアドレスを収集できます。

    sudo ifconfig
    

    出力は次のようになります。

    eth0      Link encap:Ethernet  HWaddr 08:00:27:f4:c3:7b  
              inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::a00:27ff:fef4:c37b/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:20 errors:0 dropped:0 overruns:0 frame:0
              TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:3244 (3.2 KB)  TX bytes:2512 (2.5 KB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    

    上記の出力の192.168.1.4(2行目)は、VMにアクセスするためにUbuntuホストシステムで使用できるIPアドレスです。

  7. 次に、Ubuntuホストマシンでhostsファイルを開きます。

    sudo gedit /etc/hosts
    

    (を使用したくない場合はgedit、単語をお好きなエディターの名前に置き換えてください。例:vimnano

    ファイルが開いたら、次の行を追加して保存します。

    192.168.1.4   my-dummy-site.com
    
  8. ホストマシンで任意のブラウザーを開きmy-dummy-site.com、VirtualBoxから直接提供されるWebサイトにアクセスします。

(に感謝@iSethためのヘルプが。全面に基づいてこの答え、ビットは同じではありません。)


1
このソリューションは機能するはずです。私は今この設定で開発サーバーを試しています。さらに、ブリッジとホストのみの両方を同時に使用できます。Bridgedは、ホスティングマシンが自分のサーバーに到達することを許可しません(私の知る限り)。また、ホストオンリーはインターネットへのアクセスを許可していません(更新はありません)。私は通常両方を使用します
Davisein

1
@Davisein間違っています。ブリッジネットワークモードでは、ホストマシンから仮想マシンにアクセスできると同時に、ホストが使用するインターネット接続へのアクセス(VM)も可能です。:)
its_me 2013

そうだね。私は以前のコメントを削除しないので、あなたのコメントは奇妙に見えませんが、それは間違っています。ここで言うvirtualbox.org/manual/ch06.htmlのように、ホスティングとゲストマシンの通信を許可しないシステムはNAT です。
Davisein 2013

IPTablesが接続をブロックしていないことを確認します...
Ethereal

私はTにこれらの指示に従いました。UbuntuVMでブラウザーを開くと、DNSを解決してmy-dummy-site.comにサービスを提供できます。ただし、Ubuntu VMの外部(VMがインストールされているWindows 10マシン上)でブラウザーを開くと、my-dummy-site.comを解決できません。ただし、IP 192.168.1.118を解決できます。何が問題でしょうか?
Chris Nielsen

0

root1024未満のポートしか開くことができないため、通常のユーザーがVirtualBoxを実行している場合、ホストのポート80を開いてゲストに転送することはできません。

次のコマンドを実行することで、プログラムが特権ポートを開くことを許可できます。

setcap 'cap_net_bind_service=+ep' /path/to/executable

VirtualBox実行可能ファイルへのパスはわかりませんが、の出力で「VirtualBox」のようなものを検索すると簡単にわかりますps auxf


私はそれを試して、あなたに知らせます。一方、「ルートのみが1024未満のポートを開くことができる」とおっしゃっていましたが、それでも機能させることができました(以下の私の解決策をご覧ください)。
its_me 2012年

@its_meこれは、ソリューションがブリッジネットワークを利用するためです。
Eric Carvalho

うん、いいよ。説明をありがとうエリック。:)
its_me
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.