2011-04-24 3 views
1

私はArch LinuxシステムにXamppをインストールしました。私が今したいこと:Xampp&Apache:エイリアスのアクセスが拒否されました

私のPHP作業ディレクトリは私のホームフォルダ(/home/luke/PHP)にあります。私は、Apacheがそれらのファイルにアクセスするようにしたいので、私はXampp Installation guideをArch Linux Wikiに従って、このディレクトリの別名を作成しました。その後

Alias /PHP /home/luke/PHP 
<directory /home/luke/PHP> 
    AllowOverride FileInfo Limit Options Indexes 
    Order allow,deny 
    Allow from all 
</directory> 

、私は(chmodコマンドを使用して)777にホーム/ルーク/ PHP -folderの権限を変更: これは(別名部)私のhttpd.confは次のようになります。私はのhttpに移動しようとしたとき、私はXAMPPを再起動し、403を得た:// localhostの/ PHP

のApache-Serverが(存在する)HTTP -Userの下で実行され、HTTP - グループ。だから、http私のグループのユーザ(chown-toolを使用して私のユーザからluke)を追加しました。私は、同じエラーをサーバーを再起動しました。ここで

がerror_logにファイル(から一部)である:だから

[Sun Apr 24 18:05:37 2011] [error] [client 127.0.0.1] (13)Keine Berechtigung: access to /PHP/ denied 
[Sun Apr 24 18:10:30 2011] [error] [client 127.0.0.1] (13)Keine Berechtigung: access to /PHP/ denied 
[Sun Apr 24 18:10:30 2011] [error] [client 127.0.0.1] (13)Keine Berechtigung: access to /PHP/ denied 

、私が作成したエイリアスは動作するはずですが、私は私の/ホーム/ルーク/ PHPを作るために何をすべきかが必要です - Apacheサーバーにアクセスできるフォルダ?

また、htdocs -folderにシンボリックリンクを作成しようとしましたが、これはどちらもうまくいきませんでした。

答えて

0

私は、上記のようにエイリアスを設定するが、私のユーザー(「ルカ」)にApacheのユーザーを設定し、グループを残すことによって、私の問題を修正:その後

# 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 luke 
#Group http 

を私はの所有者を変更htdocs - PHP -Directoryを私のユーザ(luke)に追加し、LAMPPを再起動しました。

すべて正常に機能します。 Pascal MARTINとhornetbzzにも感謝します!

2

は、Apacheができるようにする必要があります:あなたの/ home /ルーク/ PHPディレクトリから読む

  • - あなたはすでにそのディレクトリの親であるディレクトリトラバースaparently、その
  • を可能にしました。通常


、自分のホームディレクトリに、(彼らはその子に行くために、そのディレクトリをトラバースできるようになりますことを意味する)他の人を実行許可を与える必要があります:

chmod o+x /home/luke 


(特にマルチユーザー環境で)もちろん、あなたがして、他のユーザーが他のディレクトリやファイルにアクセスすることができないことを確認する必要があります - 通常012すべての権限を除去することにより、およびotherには、ホームディレクトリの下のディレクトリ/ファイルが存在する可能性があります。

+0

あなたが示したように実行許可を変更しましたが、ApacheはPHPフォルダ内のファイルを開けません。 –

+1

@ Lukas Knuth:ファイルとディレクトリの両方に対して再帰的にアクセス権を変更する必要があるかもしれません:find/home/luke -type f chmod 644 {} \;/home/luke-type d chmod 755 {} \を検索します。それらがapacheユーザーに属していることを確認してください。 chown -R nobody:nobody/home/luke – hornetbzz

+0

あなたはApacheの設定ファイル内にあり、システム上に存在するapacheユーザとグループが "nobody"に設定されていると仮定します。機械 ;)。 Apacheは「http」 - ユーザーとグループの下で実行されています。私が 'PHP'-Directory(chownを使って)の所有者を変更した場合、そこにファイルを書き込むことはできません。私は、777にフォルダモードを設定すると思ったので、誰でもそのファイルを修正することができます。 –

関連する問題