teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

7

修正

2017/09/15 14:42

投稿

fagai
fagai

スコア2158

answer CHANGED
@@ -8,6 +8,8 @@
8
8
  C:/Homestead/Laravel5.1/Homestead→C:/Homestead/Laravel5.1
9
9
  で問題ないです
10
10
 
11
+ # もっと詳しく
12
+
11
13
  C:/Homestead/Laravel5.1の中身はこうなっていると思います。
12
14
  ```
13
15
  app/

6

修正

2017/09/15 14:42

投稿

fagai
fagai

スコア2158

answer CHANGED
@@ -27,6 +27,7 @@
27
27
  ```
28
28
 
29
29
  間違えてこのディレクトリ内で`git clone https://github.com/laravel/homestead.git Homestead`していたら削除してください。
30
+ もしもHomestead.yamlやVagrantfileが存在しない場合は`composer require laravel/homestead --dev`と`vendor\\bin\\homestead make`を実行してください。
30
31
 
31
32
  Homestead.yamlは以下のようにしていれば問題ないでしょう。
32
33
 
@@ -57,9 +58,10 @@
57
58
  - map: 'C:/Homestead/laravel5.1'
58
59
  to: /home/vagrant/Code
59
60
  ```
60
- のmapは自分の方のディレクトリを指定します。これはプロジェクトディレクトリを指定するのが普通です。
61
+ **mapは自分の方のディレクトリパス**を指定します。これはプロジェクトディレクトリを指定するのが普通です。
61
- そしてtoは仮想環境のサーバーのパスです。
62
+ そして**toは仮想環境のサーバーのパス**です。
62
- つまりこれはC:/Homestead/laravel5.1が仮想環境の/home/vagrant/Codeと共有状態になります。
63
+ つまりこれは**C:/Homestead/laravel5.1が仮想環境の/home/vagrant/Codeと共有状態**になります。
64
+ (なので、先程のC:/Homestead/laravel5.1/Homesteadという指定はプロジェクトのディレクトリの奥のディレクトリと共有することになります。仮想環境からはこうなってるとプロジェクトのディレクトリが確認できないのでマウントできたとしてもファイルが存在しないなどのエラーが起こります。)
63
65
 
64
66
  `vagrant up`をした時に以下のような文が最後の方に出てきますが、その部分をみることで共有されたかどうかが分かります。
65
67
 
@@ -78,7 +80,7 @@
78
80
  ```
79
81
  これはサイトのドキュメントルートとhost名を指定することで外からhost名でアクセス出来るようにできます。
80
82
  toは仮想環境のドキュメントルートを指定します。foldersの設定で/home/vagrant/CodeがC:/Homestead/laravel5.1と共有状態になっているので、C:/Homestead/laravel5.1/publicがドキュメントルートになります。
81
- ドキュメントルートはこのhomestead.appというホストにアクセスした時にサーバーがファイルを確認しにいくフォルダのパスのことです。
83
+ > ドキュメントルートはこのhomestead.appというホストにアクセスした時にサーバーがファイルを確認しにいくフォルダのパスのことです。
82
84
 
83
85
  laravelのドキュメントルートはプロジェクトのディレクトリの中にあるpublicディレクトリなので、このような指定になります。(実際に最初にアクセスしにいくファイルはpublic/index.phpです。)
84
86
 

5

追記しました。

2017/09/15 14:41

投稿

fagai
fagai

スコア2158

answer CHANGED
@@ -61,6 +61,14 @@
61
61
  そしてtoは仮想環境のサーバーのパスです。
62
62
  つまりこれはC:/Homestead/laravel5.1が仮想環境の/home/vagrant/Codeと共有状態になります。
63
63
 
64
+ `vagrant up`をした時に以下のような文が最後の方に出てきますが、その部分をみることで共有されたかどうかが分かります。
65
+
66
+ ```
67
+ ==> laravel5.1: Mounting shared folders...
68
+ laravel5.1: /vagrant => C:/Homestead/laravel5.1
69
+ laravel5.1: /home/vagrant/Code/Laravel => C:/Homestead/laravel5.1
70
+ ```
71
+
64
72
  ## sites
65
73
 
66
74
  ```
@@ -72,4 +80,7 @@
72
80
  toは仮想環境のドキュメントルートを指定します。foldersの設定で/home/vagrant/CodeがC:/Homestead/laravel5.1と共有状態になっているので、C:/Homestead/laravel5.1/publicがドキュメントルートになります。
73
81
  ドキュメントルートはこのhomestead.appというホストにアクセスした時にサーバーがファイルを確認しにいくフォルダのパスのことです。
74
82
 
75
- laravelのドキュメントルートはプロジェクトのディレクトリの中にあるpublicディレクトリなので、このような指定になります。(実際に最初にアクセスしにいくファイルはpublic/index.phpです。)
83
+ laravelのドキュメントルートはプロジェクトのディレクトリの中にあるpublicディレクトリなので、このような指定になります。(実際に最初にアクセスしにいくファイルはpublic/index.phpです。)
84
+
85
+ ちなみに、このsitesの設定を変更した場合は再度プロビジョニングが必要です。(`vagrant provision`コマンド)
86
+

4

色々書きました

2017/09/15 14:34

投稿

fagai
fagai

スコア2158

answer CHANGED
@@ -27,3 +27,49 @@
27
27
  ```
28
28
 
29
29
  間違えてこのディレクトリ内で`git clone https://github.com/laravel/homestead.git Homestead`していたら削除してください。
30
+
31
+ Homestead.yamlは以下のようにしていれば問題ないでしょう。
32
+
33
+ ```
34
+ ip: 192.168.10.10 ←ここは複数立てるときは別のipへ変更してください
35
+ memory: 2048
36
+ cpus: 1
37
+ provider: virtualbox
38
+ authorize: ~/.ssh/id_rsa.pub
39
+ keys:
40
+ - ~/.ssh/id_rsa
41
+ folders:
42
+ - map: 'C:/Homestead/laravel5.1'
43
+ to: /home/vagrant/Code
44
+ sites:
45
+ - map: homestead.app
46
+ to: /home/vagrant/Code/public
47
+ databases:
48
+ - homestead
49
+ name: laravel5.1
50
+ hostname: laravel5.1
51
+ ```
52
+
53
+ ## folders
54
+
55
+ ```
56
+ folders:
57
+ - map: 'C:/Homestead/laravel5.1'
58
+ to: /home/vagrant/Code
59
+ ```
60
+ のmapは自分の方のディレクトリを指定します。これはプロジェクトディレクトリを指定するのが普通です。
61
+ そしてtoは仮想環境のサーバーのパスです。
62
+ つまりこれはC:/Homestead/laravel5.1が仮想環境の/home/vagrant/Codeと共有状態になります。
63
+
64
+ ## sites
65
+
66
+ ```
67
+ sites:
68
+ - map: homestead.app
69
+ to: /home/vagrant/Code/public
70
+ ```
71
+ これはサイトのドキュメントルートとhost名を指定することで外からhost名でアクセス出来るようにできます。
72
+ toは仮想環境のドキュメントルートを指定します。foldersの設定で/home/vagrant/CodeがC:/Homestead/laravel5.1と共有状態になっているので、C:/Homestead/laravel5.1/publicがドキュメントルートになります。
73
+ ドキュメントルートはこのhomestead.appというホストにアクセスした時にサーバーがファイルを確認しにいくフォルダのパスのことです。
74
+
75
+ laravelのドキュメントルートはプロジェクトのディレクトリの中にあるpublicディレクトリなので、このような指定になります。(実際に最初にアクセスしにいくファイルはpublic/index.phpです。)

3

修正

2017/09/15 14:29

投稿

fagai
fagai

スコア2158

answer CHANGED
@@ -6,4 +6,24 @@
6
6
  そして回答ですがmapするのはプロジェクトルートになるのでHomesteadディレクトリがあったとしても、そこまで指定する必要はありません。
7
7
 
8
8
  C:/Homestead/Laravel5.1/Homestead→C:/Homestead/Laravel5.1
9
- で問題ないです
9
+ で問題ないです
10
+
11
+ C:/Homestead/Laravel5.1の中身はこうなっていると思います。
12
+ ```
13
+ app/
14
+ bootstrap/
15
+ config/
16
+ database/
17
+ public/
18
+ resources/
19
+ storage/
20
+ tests/
21
+ vendor/
22
+ .vagrant/ ←このディレクトリが存在することを確認してください
23
+ .env
24
+ Homestead.yaml ←このファイルが存在することを確認してください
25
+ Vagrantfile ←このファイルが存在することを確認してください
26
+ 他ファイル幾つか
27
+ ```
28
+
29
+ 間違えてこのディレクトリ内で`git clone https://github.com/laravel/homestead.git Homestead`していたら削除してください。

2

修正

2017/09/15 14:18

投稿

fagai
fagai

スコア2158

answer CHANGED
@@ -3,3 +3,7 @@
3
3
  なので、プロジェクトの下に.homesteadディレクトリがない場合はプロジェクトのルートディレクトリにHomestead.yamlが存在します。
4
4
 
5
5
  前回は実際に検証して答えたわけではなかったので、仕様が変更されていることを認知できていませんでした。
6
+ そして回答ですがmapするのはプロジェクトルートになるのでHomesteadディレクトリがあったとしても、そこまで指定する必要はありません。
7
+
8
+ C:/Homestead/Laravel5.1/Homestead→C:/Homestead/Laravel5.1
9
+ で問題ないです

1

修正

2017/09/15 14:10

投稿

fagai
fagai

スコア2158

answer CHANGED
@@ -1,3 +1,5 @@
1
1
  どうやら、途中からHomesteadの仕様も変わったようで、プロジェクトのディレクトリ以下にHomestead.yamlが作られるように変更されているようです。
2
2
 
3
- なので、プロジェクトの下に.homesteadディレクトリがない場合はプロジェクトのルートディレクトリにHomestead.yamlが存在します。
3
+ なので、プロジェクトの下に.homesteadディレクトリがない場合はプロジェクトのルートディレクトリにHomestead.yamlが存在します。
4
+
5
+ 前回は実際に検証して答えたわけではなかったので、仕様が変更されていることを認知できていませんでした。