SuPHPを使用する私の目標は、Webサイトが/home
フォルダーを指すようにし、ホームフォルダー内のすべてのユーザーが独自のindex.html
ページを持つようにすることです。現在、index.html
フォルダに/home
ページはありませんが、ログインページを配置するのに論理的な場所です。これが私が求めている構造です
home
├── index.html
├── user1
│ └── index.html
├── user2
│ └── index.html
├── user3
│ └── index.html
├── user4
│ └── index.html
├── user5
│ └── index.html
└── user6
└── index.html
192.168.1.8
に移動すると、/home/index.html
をロードしたいと思います。 192.168.1.8/user1
に移動すると、/home/user1/index.html
をロードします。
現在、Apacheは、/home
またはネストされたフォルダーのいずれかに対する権限がないと言っています。 /home
がrootに属しているからだと思いますか?これを再形成する方法に関する提案
まず、以下はApacheの(仮想)ホストである必要があります。
<VirtualHost 192.168.1.8:80>
DocumentRoot /home
</VirtualHost>
ページを提供するには、Apacheがアクセスしようとしているファイルに対する読み取り権限が必要です。試行していることを実現する最も簡単な方法は、rootとして実行することです。
# find /home -type d -exec chmod 755 {} \;
# find /home -type f -exec chmod 744 {} \;
これらは、すべてのホームディレクトリ内のすべてのファイルにグローバルな読み取り権限を付与します。個々のユーザーがすべてのファイルをユーザーに読み取られるとは限らないため、通常はこれに対して警告しますが、これらのファイルはWeb経由で読み取り可能であるため、ほとんど違いはありません。
パブリックファイルとプライベートファイルの両方を持つユーザーのオプションを提供する場合は、並列ディレクトリ/ home/wwwを作成することを検討してください。この中に、0755/0655権限を持つ各ユーザーのディレクトリを作成し、chownします。次に、プライベートファイルを/ home/userに保持しながら、全員に表示したいファイルだけを/ homw/www/userに配置できます。
これがまだあなたの計画に合うかどうかはわかりませんが、
これを実現する最も簡単な方法は、おそらくuserdir
-ディレクティブを使用することです。また、各ユーザーのwebrootをホームディレクトリのサブディレクトリに配置することもできます。そのため、すべてのファイルをWebサーバーに公開する必要はありません。
ここでuserdirのドキュメントを確認してください: http://httpd.Apache.org/docs/2.0/mod/mod_userdir.html#userdir
あなたが置く予定のファイルを/home
のどこかに置きます。