大変恥ずかしいのですがApacheのhttpd.confでaliasを設定しているのですがいくらやってもError 403になってしまいます.すみませんがチェックポイントを教えていただきたくお願いします.
環境
Ubuntu 20.0.4
XAMPP for Linux 7.4.19
http://localhost は問題なく表示されます.
外部から http://192.168.10.100/ でアクセスしてもOKです.
両方ともXAMPPのタイトルが表示されます.
Welcome to XAMPP for Linux 7.4.19
httpd.confに追加した内容
XAMPPなので、/opt/lampp/etc/httpd.conf になります.
追加内容は以下のとおりです.直接最後に追加しました.
<IfModule alias_module> Alias /ditadoc /home/tmakita/dita/Phase2TestData/out/root <Directory "/home/tmakita/dita/Phase2TestData/out/root"> Options Indexes FollowSymLinks ExecCGI Includes AllowOverride All Require all granted </Directory> </IfModule>
もちろん最初の方で
LoadModule alias_module modules/mod_alias.so
が入っています.
現象
おなじみのとおりで
http://localhost/ditadoc/test.php
とやると、該当のフォルダにtest.phpはあるんですが、以下のとおりです.
Access forbidden!
要求されたオブジェクトへのアクセス権がありません。 読み込みが許可されていないか、 サーバが読み込みに失敗したかでしょう。
サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。
Error 403
localhost
Apache/2.4.47 (Unix) OpenSSL/1.1.1k PHP/7.4.19 mod_perl/2.0.11 Perl/v5.32.1
フォルダとファイルの権限
test.phpは例のphpinfo()で、権限は次のとおりです.
php
1<?php 2phpinfo() 3?>
tmakita@Ubuntu-tmakita:~/dita/Phase2TestData/out/root$ ls -l test.php -rw-r--r-x 1 tmakita tmakita 20 7月 21 20:33 test.php
この階層に至るフォルダにはすべて「その他のユーザー」の読み取り・実行権限があります.
tmakita@Ubuntu-tmakita:~/dita/Phase2TestData/out$ ls -l 合計 4 drwx---r-x 4 tmakita tmakita 4096 7月 21 20:54 root
もちろん設定修正の都度、Apacheは立ち上げ直しています.
tmakita@Ubuntu-tmakita:~$ sudo /opt/lampp/lampp stop tmakita@Ubuntu-tmakita:~$ sudo /opt/lampp/lampp start
その他の情報
SELinuxは入っておりません.
tmakita@Ubuntu-tmakita:~$ getenforece コマンド 'getenforece' が見つかりません。もしかして: command 'getenforce' from deb selinux-utils (3.0-1build2) 次を試してみてください: sudo apt install <deb name>
初心者の質問ですが、よろしくお願いいたします.
追記
以下質問への追記依頼で行った結果です.そのまま載せさせていただきます.
Apacheの実行ユーザーになった状態で、該当ファイルを読めるか?
Apacheの実行ユーザーは、/opt/lampp/etc/httpd.confを見ると、daemonです.
<IfModule unixd_module> # # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User daemon Group daemon </IfModule>
vipwでdaemonのログインシェルを/sbin/nologinから/bin/bashに書き換えます.
以下でtest.phpをdaemonがアクセスできるか調べます.「許可がありません」になってしまいます.
tmakita@Ubuntu-tmakita:~$ su パスワード: root@Ubuntu-tmakita:/home/tmakita# su -c "cat /home/tmakita/dita/Phase2TestData/out/root/test.php" daemon cat: /home/tmakita/dita/Phase2TestData/out/root/test.php: 許可がありません root@Ubuntu-tmakita:/home/tmakita#
フォルダ階層のアクセス権限を調べます.
※ 関係ないフォルダ、ファイルは省略しています.
tmakita@Ubuntu-tmakita:~$ ls -l /home 合計 4 drwxr-xr-x 35 tmakita tmakita 4096 7月 21 20:36 tmakita tmakita@Ubuntu-tmakita:~$ ls -l /home/tmakita 合計 72 drwxrwxr-x 3 tmakita tmakita 4096 7月 21 22:12 dita tmakita@Ubuntu-tmakita:~$ ls -l /home/tmakita/dita 合計 4 drwxrwxr-x 11 tmakita tmakita 4096 7月 16 14:00 Phase2TestData tmakita@Ubuntu-tmakita:~$ ls -l /home/tmakita/dita/Phase2TestData 合計 36 drwx---r-- 3 tmakita tmakita 4096 7月 16 13:33 out tmakita@Ubuntu-tmakita:~$ ls -l /home/tmakita/dita/Phase2TestData/out 合計 4 drwx---r-x 4 tmakita tmakita 4096 7月 21 20:54 root tmakita@Ubuntu-tmakita:~$ ls -l /home/tmakita/dita/Phase2TestData/out/root 合計 12 -rw-r--r-x 1 tmakita tmakita 20 7月 21 20:33 test.php tmakita@Ubuntu-tmakita:~$
回答1件
あなたの回答
tips
プレビュー