web-dev-qa-db-ja.com

Laravel Homestead IPアドレスが機能しない

Laravel Homestead 2.0 for my VMを使用しており、YAMLファイル192.168.10.10のデフォルトIPアドレスでサイトにサービスを提供しようとしています

/ etc/hostsファイルは次のようになります。

# Homestead
192.168.10.10   beta.dev
192.168.10.10   deploy.dev

私のHomestead.yamlファイルは次のようになります。

---
ip: "192.168.10.10"
memory: 2048
cpus: 1

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Projects
      to: /home/vagrant/Projects

sites:
    - map: beta.dev
      to: /home/vagrant/Projects/emorybeta/public
    - map: deploy.dev
      to: /home/vagrant/Projects/deploy/public

...

ドメインを127.0.0.1にリンクするとサイトが表示されますが、URLの末尾にポート8000​​を追加する必要があります(これは大したことではなく、指定したIPアドレスを機能させるだけです)。

ドメインが192.168.10.10を指しているのにサーバーに接続できない理由を誰かが知っていますか?


更新:

Deploy.devにpingを実行すると、正しいIPアドレスが表示されますが、それでもブラウザーがサーバーに接続できません。ヨセミテのDNSの問題と関係があるのではないかと思っています。

16
evcohen

私は数週間前に同じ問題を抱えていました。

まず、フォルダーパスが正しいことを確認します。正しい場合は、もう一度確認してください

次:Homestead destroyとHomestead upを実行してVMを再初期化する

それでも問題が解決しない場合:自宅に192.168.10.10にも接続されている可能性のあるデバイスがあるかどうかを確認します。

それでもうまくいかない場合は、おそらく問題を修正するのがはるかに難しいため、githubの問題を作成することをお勧めします。

7
Nick

こんにちは、まったく同じ問題がありました。私は最終的に、非推奨のnet-toolsパッケージをインストールすることで機能させました:Sudo apt-get updateおよびSudo apt-get install gnome-nettool

この後、 Homestead destroyおよびHomestead up

これにより、hostsファイルで指定した「ドメイン」を使用して、ローカルマシンのブラウザーから仮想マシンサイトにアクセスできるようになりました-あなたの場合、beta.devとdeploy.dev-without localhostまたはポートを参照します8000.がんばって、これがお役に立てば幸いです。

3
Logan Graba

これは私が私のWindows 10マシンのためにしたソリューションです:

Vagrantボックスに永続的なルートを追加していることを確認してください管理者コマンドプロンプトで、次のように入力してくださいroute -p add 192.168.10.0 mask 255.255.255.0 192.168.10.1

そして、あなたができることを確認してくださいping 192.168.10.1

また、virtualbox Host-onlyアダプターに構成されたIPアドレスが192.168.10.1で、マスクが255.255.255.0であることを確認します。

3
neethumol

Ubuntuにnet-toolsをインストールすると、これが修正されました

$ Sudo install net-tools
$ vagrant destroy
$ vagrant up
2
Giovanni S

私はまさにこの問題を抱えていて、TLS証明書をロードするときのエラーのためにnginxが起動に失敗していることがわかりました。 vagrant upコマンドは、nginxの起動に失敗したこと、またはポートのバインドに失敗したことを報告しません。

これを診断するために、次のことを行いました。

$ nmap Homestead.app
Starting Nmap 7.01 ( https://nmap.org ) at 2017-10-03 16:16 NZDT
Nmap scan report for Homestead.app (192.168.10.10)
Host is up (0.00077s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
1025/tcp open  NFS-or-IIS
3306/tcp open  mysql
5432/tcp open  postgresql

リストにはポート80がありません。ポート80を再確認してみましょう。

$ nmap Homestead.app -p 80
...
Host is up (0.00020s latency).
PORT   STATE  SERVICE
80/tcp closed http

ですから、確実に閉鎖されています。ゲストログは何と言っていますか? vagrant sshそして...

    $ systemctl status nginx.service
    ...
    Active: failed (Result: exit-code) since Tue 2017-10-03 03:06:12 UTC; 1min 30s ago
    ...
 Homestead systemd[1]: Starting A high performance web server and a reverse proxy server...
 Homestead nginx[1250]: nginx: [emerg] PEM_read_bio_X509_AUX("/etc/nginx/ssl/Homestead.app.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICA
 Homestead nginx[1250]: nginx: configuration file /etc/nginx/nginx.conf test failed
 Homestead systemd[1]: nginx.service: Control process exited, code=exited status=1
 Homestead systemd[1]: Failed to start A high performance web server and a reverse proxy server.
 Homestead systemd[1]: nginx.service: Unit entered failed state.
Homestead systemd[1]: nginx.service: Failed with result 'exit-code'.

設定にエラーがあるため、nginxを起動できませんでした。 PEM_read_bio_X509_AUXエラーは/etc/nginx/ssl/Homestead.app.crtファイルを指しています。そのファイルは構成のどこで使用されますか?

$ Sudo vim /etc/nginx/sites-enabled/Homestead.app

私は関連する行をコメントアウトしました:

@@ -1,6 +1,6 @@
 server {
     listen 80;
-    listen 443 ssl http2;
+#    listen 443 ssl http2;
     server_name Homestead.app;
     root "/home/vagrant/Code/public";

@@ -42,7 +42,7 @@ server {
         deny all;
     }

-    ssl_certificate     /etc/nginx/ssl/Homestead.app.crt;
-    ssl_certificate_key /etc/nginx/ssl/Homestead.app.key;
+#    ssl_certificate     /etc/nginx/ssl/Homestead.app.crt;
+#    ssl_certificate_key /etc/nginx/ssl/Homestead.app.key;
 }

$ Sudo service start nginxを使用してnginxを起動し、ホストからnmapを再度実行します。

$ nmap Homestead.app -p 80,443
...
PORT   STATE SERVICE
80/tcp open  http
443/tcp closed https

ポート80が開いており、 http://Homestead.app からアクセスできるはずです。もちろんTLSは機能しませんが、新しい証明書を生成することで修正できるはずです。そもそも証明書の読み込みに失敗した理由がわかりません。

2
PeloNZ

私も同じ状況でしたが、変更を加えました。

/ etc/hostsファイルをこのIPで変更しました127.0.0.1

1
navamario

私の場合、問題はvagrant upゲストの追加をインストールします。

~/Homestead (master|✔) $ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/Homestead' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
[...]
GuestAdditions versions on your Host (5.0.26) and guest (5.0.20) do not match.
[...]
Copy iso file /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
mount: /dev/loop0 is write-protected, mounting read-only
Installing Virtualbox Guest Additions 5.0.26 - guest version is 5.0.20
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.26 Guest Additions for Linux............
VirtualBox Guest Additions installer
Removing installed version 5.0.20 of VirtualBox Guest Additions...
Removing existing VirtualBox DKMS kernel modules ...done.
Removing existing VirtualBox non-DKMS kernel modules ...done.
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox DKMS kernel modules ...done.
Removing existing VirtualBox non-DKMS kernel modules ...done.
Building the VirtualBox Guest Additions kernel modules ...done.
Doing non-kernel setup of the Guest Additions ...done.
You should restart your guest to make sure the new modules are actually used

この後、予想されるIPアドレスを使用して新しいインターフェイスを取得しました。

enp0s8    Link encap:Ethernet  HWaddr 08:00:27:e8:04:04
          inet addr:192.168.8.10  Bcast:192.168.8.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fee8:404/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:996 (996.0 B)
1
crishoj

昨日、ホームステッド5でも同様の問題がありました。問題の原因は、間違ったVagrantfileを実行していることが原因であることがわかりました。

インスタンスはIPアドレスに応答を返す必要があります:192.168.10.10

私の場合の問題を修正するために私がしたことはこれらの指示に従うことでした: http://laravel.com/docs/5.0/Homestead

要点をまとめると:

ターミナルで:

vagrant box add laravel/Homestead

その後

git clone https://github.com/laravel/Homestead.git Homestead

その後

cd ./Homestead  

そしてこのコマンドを新しい "Homestead"フォルダの内側から実行します

bash init.sh

次に、vagrant up内に作成されているはずのVagrantfileに対して、コマンドvagrant provisionおよび./Homesteadを実行します。

私のシステムでのvagrant provisionコマンドの出力は次のようになります。

    vagrant provision
==> default: Running provisioner: file...
==> default: Running provisioner: Shell...
    default: Running: inline script
==> default: Running provisioner: Shell...
    default: Running: inline script
==> default: Running provisioner: Shell...
    default: Running: /var/folders/q6/pgygb1ln4rg7_nvv0p8n1v300000gn/T/vagrant-Shell20150714-94163-17xwlzk.sh
==> default: Running provisioner: Shell...
    default: Running: /var/folders/q6/pgygb1ln4rg7_nvv0p8n1v300000gn/T/vagrant-Shell20150714-94163-rncs6l.sh
==> default: nginx stop/waiting
==> default: nginx start/running, process 1751
==> default: php5-fpm stop/waiting
==> default: php5-fpm start/running, process 1766
==> default: Running provisioner: Shell...
    default: Running: /var/folders/q6/pgygb1ln4rg7_nvv0p8n1v300000gn/T/vagrant-Shell20150714-94163-e9qxwn.sh
==> default: Warning: Using a password on the command line interface can be insecure.
==> default: Warning: Using a password on the command line interface can be insecure.
==> default: Running provisioner: Shell...
    default: Running: /var/folders/q6/pgygb1ln4rg7_nvv0p8n1v300000gn/T/vagrant-Shell20150714-94163-14rlz2c.sh
==> default: Running provisioner: Shell...
    default: Running: /var/folders/q6/pgygb1ln4rg7_nvv0p8n1v300000gn/T/vagrant-Shell20150714-94163-16ethaq.sh
==> default: Running provisioner: Shell...
    default: Running: inline script
==> default: Running provisioner: Shell...
    default: Running: inline script
==> default: Running provisioner: Shell...
    default: Running: inline script
==> default: php5-fpm stop/waiting
==> default: php5-fpm start/running, process 1861
==> default: Running provisioner: Shell...
    default: Running: inline script
==> default: You are already using composer version 92faf1c7a83a73794fb914a990be435e1df373ca.
==> default: Running provisioner: Shell...
    default: Running: /var/folders/q6/pgygb1ln4rg7_nvv0p8n1v300000gn/T/vagrant-Shell20150714-94163-btuuhg.sh
1
Nate Flink

Windowsマシンでこの問題が発生しましたが、フォルダセクションの「マップ」と「宛先」を誤って逆にしたことがわかりました。フォルダーがvagrant sshセッションの〜/ code /の下にないことがわかったとき、それが正しく機能していないことは明らかでしたが、パスを再確認しても何も起こりませんでした。

Windowsマシンでフォルダーセクションをマップする正しい方法を次に示します。

folders:
    - map: D:/Development/PHP/projects/
      to: /home/vagrant/code
1
Josh Maag