回答編集履歴
1
内容の改善。
answer
CHANGED
@@ -6,66 +6,45 @@
|
|
6
6
|
特に**Verify the supplied path and access permissions for whole of the path.**の部分が改善の具体策を与えてくれたと考えています。
|
7
7
|
この部分は「与えられているpythonのパス**/home/vagrant/anaconda3/envs/gaia**のパスがあっているか、またアクセス権限があるかを確認してください。」という意味だと考えました。
|
8
8
|
|
9
|
-
###そこで
|
10
|
-
|
9
|
+
###そこで以下の2点を見直しました。
|
10
|
+
(1)実行ユーザーは誰か?
|
11
|
+
(2)(1)で確認したユーザーは適切な権限を持っているか?
|
12
|
+
###なぜこの2点だと考えたか
|
13
|
+
apacheを起動するのはrootだが、ブラウザからのアクセスに対応しているのは実行ユーザという者らしいと知り、実行ユーザが適切な権限を持って、レスポンスに必要なファイルおよびディレクトリにアクセスできる必要があると考えたから。(正直、正確な理解はできてないです。http://honana.com/apache/apache_22/userとhttps://qiita.com/100/items/ab31e57fcc66ac661d5cを参考にしました。)
|
14
|
+
###(1)について
|
15
|
+
(/usr/local/apache2/conf/httpd.conf)でhttpd.confファイルの以下を確認。
|
11
16
|
```ここに言語を入力
|
17
|
+
User daemon
|
12
|
-
|
18
|
+
Group daemon
|
13
19
|
```
|
14
|
-
|
20
|
+
###(2)について
|
15
|
-
見方は左側が所有者、右側がグループです。(https://qiita.com/shizen-shin/items/453e408f78483d391930を参考しました。)
|
16
|
-
|
21
|
+
**/home/vagrant/anaconda3/envs/gaia**の各ディレクトリの権限を確認。各ディレクトリの上のディレクトリでls -laを使うことで、確認しました。
|
17
22
|
```ここに言語を入力
|
23
|
+
drwxr-xr-x. 3 root root 21 5月 13 2020 home
|
18
|
-
|
24
|
+
drwx------. 8 vagrant vagrant 258 9月 17 14:08 vagrant
|
19
25
|
drwxrwxr-x. 28 vagrant vagrant 4096 9月 15 12:11 anaconda3
|
20
|
-
drwxrwxr-x.
|
26
|
+
drwxrwxr-x. 3 vagrant vagrant 46 9月 15 12:17 envs
|
21
27
|
drwxrwxr-x. 11 vagrant vagrant 173 9月 15 12:17 gaia
|
22
|
-
|
23
28
|
```
|
24
|
-
これらのことから、
|
25
|
-
|
29
|
+
vagrantのディレクトリにアクセス権限がないことが問題のように思えました。
|
26
|
-
(1)今のユーザー
|
27
|
-
(
|
30
|
+
(アクセス権限の見方はhttps://qiita.com/shizen-shin/items/453e408f78483d391930を参考にしました。)
|
28
|
-
|
31
|
+
そこで、chmod o+r vagrantとchmod o+x vagrantを使って、権限を与えました。
|
29
|
-
|
30
|
-
|
32
|
+
コマンドの詳細はhttps://qiita.com/ntkgcj/items/6450e25c5564ccaa1b95を参考にしました。
|
31
|
-
(2)はcat /etc/passwdおよび cat /etc/group(https://eng-entrance.com/linux-user-showとhttps://kazmax.zpp.jp/linux_beginner/etc_group.htmlを参考)
|
32
|
-
|
33
|
+
その後、homeでls -laとすると、
|
33
|
-
を使いました。
|
34
|
-
(1)の結果
|
35
34
|
```ここに言語を入力
|
36
|
-
|
35
|
+
drwx---r-x. 8 vagrant vagrant 258 9月 17 14:08 vagrant
|
37
36
|
```
|
37
|
+
となっており、権限が確認されました。
|
38
|
-
|
38
|
+
###再起動して実際にアクセスすると、出力が返ってきました。
|
39
|
+
再起動。
|
39
40
|
```ここに言語を入力
|
40
|
-
|
41
|
+
systemctl restart apache2
|
41
42
|
```
|
42
|
-
|
43
|
+
リクエスト
|
43
|
-
```ここに言語を入力
|
44
|
+
```ここに言語を入力
|
44
|
-
|
45
|
+
curl localhost:81/myapp/
|
45
46
|
```
|
46
|
-
(3) もともと両方daemonになっていたので、(1)(2)の結果を受けて以下のように設定しなおしました。
|
47
|
-
```ここに言語を入力
|
48
|
-
<IfModule unixd_module>
|
49
|
-
|
47
|
+
出力
|
50
|
-
# If you wish httpd to run as a different user or group, you must run
|
51
|
-
# httpd as root initially and it will switch.
|
52
|
-
#
|
53
|
-
# User/Group: The name (or #number) of the user/group to run httpd as.
|
54
|
-
# It is usually good practice to create a dedicated user and group for
|
55
|
-
# running httpd, as with most system services.
|
56
|
-
#
|
57
|
-
User vagrant
|
58
|
-
Group vagrant
|
59
|
-
|
60
|
-
</IfModule>
|
61
48
|
```
|
62
|
-
|
63
|
-
これらからvagrantがapacheを動かすことになるのだろうと考え、つぎはpythonのパスに対してvagrantに権限与えることを考えました。
|
64
|
-
|
65
|
-
そこで、問題はhomeのグループ名にあると考えて、それをvagrantに変更しました。
|
66
|
-
コマンドは、**chown root:vagrant home**を使いました。(https://webkaru.net/linux/chown-command/を参考しました。)
|
67
|
-
その後、もう一度、/でls -laというコマンドを使って所有者とグループ名、およびその権限を確認しました。すると、
|
68
|
-
|
49
|
+
Hello World!
|
69
|
-
drwxr-xr-x. 3 root vagrant 21 5月 13 2020 home
|
70
|
-
```
|
50
|
+
```
|
71
|
-
のようにグループが変更されていることが確認できました。
|