web-dev-qa-db-ja.com

public_htmlでのApache書き込み許可?

ホストされているウェブサーバーにアカウントがあり、SSHアクセスがあります。

/home/sandra/public_htmlに入れられたファイルはオンラインです。

DokuWikiは、dataおよびconfディレクトリがDocument Rootにないことを推奨しているため、それらを/home/sandra/data/および/home/sandra/confに移動しました。

問題は、Apacheがこれらのディレクトリに書き込めないことです。

/home/sandra/の所有権はsandra.sandraです。

質問

この問題に対する他の解決策はありますか

chmod 777 /home/sandra

Rootユーザーは私を助けることができますか?

3
Sandra

Hexで既に記述されているように、ディレクトリはApacheを実行するユーザーが書き込み可能である必要があります。これを実現するには、グループをApacheユーザーのプライマリグループ(Ubuntuのwww-data)に変更し、グループに書き込み権限を付与します。

chgrp -R www-data /home/sandra/data /home/sandra/conf
chmod -R g+rwX /home/sandra/data /home/sandra/conf

また、ユーザーはこれらのディレクトリにcdできる必要があるため、親ディレクトリに対するexecute権限が必要です。

chmod o+X /home/sandra

別のオプションは、ファイルシステムがそれらをサポートしている場合、ApacheユーザーのそれぞれのACLを追加することです。

setfacl -m default:u:www-data:rwx /home/sandra/data /home/sandra/conf
setfacl -m u:www-data:x /home/sandra

所有者を変更することはお勧めしません。

2
Ansgar Wiechers

あなたが試すことができます

chown -R Apache /home/sandra/conf 

このコマンドは、Apacheをこれらのファイルの所有者にします。次に、Apacheにフォルダへのフルアクセスを許可します。

chmod 770 /home/sandra/conf

両方のコマンドは、それぞれ両方のフォルダーで実行する必要があります。

1
Bortix