はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/01/16
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 当サイト情報 >> スレッド

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

このスレッドはクローズされています。記事の閲覧のみとなります。

 ルートディレクトリについて
日時: 2007/07/09 04:29
名前: サブ

管理人様。
いつもお世話になっております。

いよいよWEBサーバー公開に向けて大詰めとなってきました。
これもひとえに管理人様の絶大なるサポートのお陰でございます。

その後、WinSCP及びvsFTPDならびにchrootやWEBサーバーに関して必死に勉強してまいりました。
その結果、安全性や操作性を考えてドキュメントルートの設定を上手く行えばファイル転送を
より安全性を高めながら操作しやすくなると考えました。

vsFTPDのchrootではBINDのchrootと違いユーザー(ホーム)の限定をするための設定のようなので、
以下のようにしたいと考えております。

例)
メインドメイン   :domain.com
           (homeディレクトリで、できればユーザー(仮称:domain-com)を
            作成したホームディレクトリ)
           http://domain.comでアクセス可。
           ファイル転送ソフト表示「/****」他ディレクトリ移動不可

バーチャルドメイン1:domain.net
           (homeディレクトリで、できればユーザー(仮称:domain-net)を
            作成したホームディレクトリ)
           http://domain.netでアクセス可。
           ファイル転送ソフト表示「/****」他ディレクトリ移動不可

バーチャルドメイン2:domain.jp
           (homeディレクトリで、できればユーザー(仮称:domain-jp)を
            作成したホームディレクトリ)
           http://domain.jpでアクセス可。
           ファイル転送ソフト表示「/****」他ディレクトリ移動不可

バーチャルドメイン2はバーチャルドメイン1の応用なので1ができれば
バーチャルドメイン2もできるということですよね。

以上のことは可能なのでしょうか。
可能だとすればWEBサーバーの構築はどのようにすれば良いのでしょうか?

そこで、教えていただきたいのですが、
?ドキュメントルートの設定はどのように行うのがベターなのでしょうか?
 (どこまで落とし込むことができるのでしょうか?)
?そして、どのように記述すればよいのでしょうか?
?また、ドキュメントルートの設定を変更した場合にその他の設定を
 変更しなければならないところはあるのでしょうか?

お忙しいこととは思いますが、何卒宜しくお願い致します。

■ コンテンツ関連情報

 Re: ルートディレクトリについて ( No.1 )
日時: 2007/07/09 15:43
名前: 管理者

> vsFTPDのchrootではBINDのchrootと違いユーザー(ホーム)の限定をするための設定のようなので、
> 以下のようにしたいと考えております。
>
> 例)
> メインドメイン   :domain.com
>            (homeディレクトリで、できればユーザー(仮称:domain-com)を
>             作成したホームディレクトリ)
>            http://domain.comでアクセス可。
>            ファイル転送ソフト表示「/****」他ディレクトリ移動不可
>
> バーチャルドメイン1:domain.net
>            (homeディレクトリで、できればユーザー(仮称:domain-net)を
>             作成したホームディレクトリ)
>            http://domain.netでアクセス可。
>            ファイル転送ソフト表示「/****」他ディレクトリ移動不可
>
> バーチャルドメイン2:domain.jp
>            (homeディレクトリで、できればユーザー(仮称:domain-jp)を
>             作成したホームディレクトリ)
>            http://domain.jpでアクセス可。
>            ファイル転送ソフト表示「/****」他ディレクトリ移動不可
>
> バーチャルドメイン2はバーチャルドメイン1の応用なので1ができれば
> バーチャルドメイン2もできるということですよね。
>
> 以上のことは可能なのでしょうか。


簡単に記すと、以下の意味で宜しいですよね?
  ・バーチャルサーバを構築する
  ・ユーザー毎にバーチャルドメインのホームページを公開し、そのユーザにてホームページを公開する
    例)
      root → リアルドメイン  (domain.com) :「http://domain.com」
      user1 → バーチャルドメイン(domain.net) :「http://domain.net」
      user2 → バーチャルドメイン(domain.jp)  :「http://domain.jp」


厳密に言えば上記の構築方法はできません。(当方がその構築方法の術が分かりません。)
リアルドメインもバーチャルドメインも、そのプロセス(実行しているID)は『apache』となります。
ユーザホームページ公開は、そのユーザページでアクセスされた場合は『apache』がそのユーザに成り切って実行しますが、バーチャルはその様には動作いたしません。

-----
一部のセキュリティを無視すれば取りあえずは可能です。
それは、ディレクトリやファイルのパーミッションを変更する方法です。(以下に説明しますが、他人にも書き込み権限を与えるので危険です。)

ディレクトリやファイルには「パーミッション」があり、その所有者やグループ、他人に対して「Read/Write/Execute」を指定できます。
このパーミッションの「他人」に対して「読み取り(必須)」「書き込み(適時)」「実行(適時)を与えてあげれば可能となります。
ただし、Webページアクセス時にファイルを作成するようなスクリプトの場合、新規に作成されたファイルは、当然プロセスを実行している「apache」となります。
以下にその設定方法を明記しますね。(上記で挙げた例に準拠)

 リアルドメイン(domain.com)の公開パス:/var/www/html/
 バーチャル(domain.net)の公開パス  :/home/user1/public_html
 バーチャル(domain.jp)の公開パス   :/home/user2/public_html

? バーチャル設定ファイルの新規作成(内容は以下)
# vi /etc/httpd/conf.d/virtualhost.conf
---------- ここから ----------
NameVirtualHost *:80
# リアルドメインの定義
<VirtualHost *:80>
  ServerName domain.com
  DocumentRoot /var/www/html
  ErrorLog logs/domain_com_error_log
  CustomLog logs/domain_com_access_log common
</VirtualHost>
# リアルドメイン1の定義
<VirtualHost *:80>
  ServerName domain.net
  DocumentRoot /home/user1/public_html
  <Directory "/home/user1/public_html">
    Options Includes ExecCGI FollowSymLinks
    AllowOverride All
  </Directory>
  ErrorLog logs/domain_net_error_log
  CustomLog logs/domain_net_access_log common
</VirtualHost>
# リアルドメイン2の定義
<VirtualHost *:80>
  ServerName domain.jp
  DocumentRoot /home/user2/public_html
  <Directory "/home/user2/public_html">
    Options Includes ExecCGI FollowSymLinks
    AllowOverride All
  </Directory>
  ErrorLog logs/domain_jp_error_log
  CustomLog logs/domain_jp_access_log common
</VirtualHost>
---------- ここまで ----------

? バーチャルドメイン公開ディレクトリの構造とパーミッション等
/home/
|-- [drwx-----x user1  user1  ] user1
|  `-- [drwxrwxrwx user1  user1  ] public_html
|    `-- [-rw-r--r-- user1  user1  ] index.html
`-- [drwx-----x user2  user2  ] user2
  `-- [drwxrwxrwx user2  user1  ] public_html
    `-- [-rw-r--r-- user2  user2  ] index.html


? vsFTPDのchroot化。(これを行うことによりログインディレクトリより上層には行けなくなる)
  (telnetやsshログインを許可してしまうと、当然たのディレクトリに行けるので注意)

ざっと、上記のような感じですが先述した様にセキュリティ的にも危険です。
ほかに方法があるのかも知れませんが、当方にはその構築方法は不明です。
 Re: ルートディレクトリについて ( No.2 )
日時: 2007/07/09 16:50
名前: サブ

管理人様。
お世話になっております。
いつもながら簡潔で分かりやすいご説明有難うございます。
理論的には構築可能ということですね。

丁度、所有者とパーミッションについて理解を深めていたところです。
(まだ、あまり深くないですが(^^;;)

そこで、幾つか教えていただきたいのですが、
SHHでログインすると他のディレクトリへの移動が可能になってしまいますよね?
先ほどご説明頂いた方法では他のディレクトリへの移動が不可能になりますよね?
知識の乏しい私にはどちらも一長一短のような気がするのですが・・・。

サーバー構築に関する操作は限定ユーザーによるSSHでWEBサイトに関しては
vsFTPDのchrootを使用するなど上手く使い分けることができればイイのですが・・・。

管理人様からご指摘いただいたセキュリティ的な問題というのは全ての人に書込み権限が
与えられてしまうと言う事なのでしょうか?

例えば以下の部分↓を
>`-- [drwxrwxrwx user1  user1  ] public_html ←全ての人に対して全てのことを許可している
        ↓ 
        ↓下のように設定すると運用上どのような問題があるのでしょうか?
        ↓(不可能な設定なのでしょうか?)
        ↓
`-- [drwxr-xr-x user1  user1  ] public_html ←所有者以外は書き込みを禁止している

上記のような設定は無理があるのでしょうか?(既に無理があるのかもしれませんが(^^;;)

お忙しいとは思いますが宜しくお願い致します。





 Re: ルートディレクトリについて ( No.3 )
日時: 2007/07/09 17:25
名前: 管理者

> 管理人様からご指摘いただいたセキュリティ的な問題というのは全ての人に書込み権限が
> 与えられてしまうと言う事なのでしょうか?
>
> 例えば以下の部分↓を
> >`-- [drwxrwxrwx user1  user1  ] public_html ←全ての人に対して全てのことを許可している
>         ↓ 
>         ↓下のように設定すると運用上どのような問題があるのでしょうか?
>         ↓(不可能な設定なのでしょうか?)
>         ↓
> `-- [drwxr-xr-x user1  user1  ] public_html ←所有者以外は書き込みを禁止している
>
> 上記のような設定は無理があるのでしょうか?(既に無理があるのかもしれませんが(^^;;)


本来であればご認識のように、所有者以外は書き込み権限を与えなければ問題ありません。

しかし、

>>リアルドメインもバーチャルドメインも、そのプロセス(実行しているID)は『apache』となります。

上記のコメントを前に書かせて頂いたように、バーチャルサーバでは「apache」で動作します。
バーチャルドメインでの公開で、ファイルの書き込みがあるようなページであった場合、動作しなくなります。

※:注意して頂きたいのは、現在書かせて頂いてるのは『ユーザホームページの公開』ではありません。
  バーチャルドメインの公開ですので、話が混乱されないように注意。

最初の当方のコメントに書かせて頂いたように、基本的にはユーザ毎にバーチャルドメイン公開は不可能と思ったほうが良いと思います。
 Re: ルートディレクトリについて ( No.4 )
日時: 2007/07/09 18:07
名前: サブ

どうやら、私の考えていることはできないようですね。

現在、使っているレンタルサーバーと同じ使い勝手にしたかったのですが
やはり無理なのでしょうか・・・。

 Re: ルートディレクトリについて ( No.5 )
日時: 2007/07/09 18:36
名前: 管理者

> どうやら、私の考えていることはできないようですね。
>
> 現在、使っているレンタルサーバーと同じ使い勝手にしたかったのですが
> やはり無理なのでしょうか・・・。


当方が先述させて頂いた『基本的にはユーザ毎にバーチャルドメイン公開は不可能と思ったほうが良い』と言うのは、私自身がその設定方法が分からない為『できない』と思ってください。
当該レスを見ている方で有識者から的確なアドバイスが頂けるかも知れませんので、もう暫くお待ちお待ちいただいた方が良いと思いますよ。
 Re: ルートディレクトリについて ( No.6 )
日時: 2007/07/09 22:10
名前: サブ

そんなコトもあるんですね!?

わかりました。

どなたかご存知の方や別の方法などご存知の方が
おりましたらアドバイスなどご教授いただけたら
有難いと思います。

宜しくお願い致します。

 Re: ルートディレクトリについて ( No.7 )
日時: 2007/07/10 00:34
名前: メロン

管理者が言っているように無理でしょう。
 Re: ルートディレクトリについて ( No.8 )
日時: 2007/07/10 11:33
名前: サブ

やはり無理と回答された方がいらっしゃいますね。

色々調べてみましたがサーバーのOSやFTPの接続ソフトの違いにより
できそうなコトが書いてあるサイトもあるのですが、
LINUX系でApacheとなるとvsFTPDのchrootを使用し
ユーザーディレクトリより上位階層にいかせない方法しか見つけられません。

今までに教えていただいたことや調べた範囲内ではバーチャルドメインを
使うかサーバースペースの一部をユーザーとして貸し出す以外の方法はないんですよね?

でも、なぜレンタルサーバーではできるのでしょうか???
親ドメインの配下ではない取得したドメインをそのままでFTPサーバーを利用し、
他ディレクトリへの移動を制限することが。
名前ベースのバーチャルではなくIPベースのバーチャルとか???(考えられないど思いますが)

PHPで制御するとか別の方法なのか・・・。

う〜ん。
無理なのかなぁ・・・。
 Re: ルートディレクトリについて ( No.9 )
日時: 2007/07/10 11:45
名前: Johann
参照: http://www.geocities.co.jp/SiliconValley-Sunnyvale/1839/index.html

>色々調べてみましたがサーバーのOSやFTPの接続ソフトの違いにより
>できそうなコトが書いてあるサイトもあるのですが、


どこですか?
後学のため、ご教示いただければ幸いです。
 Re: ルートディレクトリについて ( No.10 )
日時: 2007/07/10 12:34
名前: サブ

Johann様。
はじめまして。
Johann様のサイトも以前に拝見したことがございます。

私はサーバ構築自体を初めて2ヶ月で実際OSのインストールからだと
1ヶ月しか経っていない超ド級の素人です。

ですので、
よくわからないことだらけなので“気がする”だけですが・・・。

あと、調べて関連がありそうなサイトをお気に入りに追加しただけでも
80を超えていますのでちょっと時間が掛かりますが・・・。

とりあえず、私はGoogleで検索していますが
キーワードを“chroot”、“ディレクトリ”、“制限”、“FTP”、“jail”、
“シンボリックリンク”、“エイリアス”の組合せを変えて
検索すると似たようなことが書かれているサイトがでてきます。

ちなみに「Identity Server」なるものや「ProFTPD」などではできそうなことがかいてるのですが 
どれも例文が「/home/・・・」での説明ばかりでしたし、管理人様にご指摘を受けたようにバーチャルでの設定ではやはり無理があるのかなぁ?などと思ったりもします。

ホントに超ド級の素人なので参考になるのかはわかりません。
もし、全然違っていたら申し訳有りません。ごめんなさい。スイマセン。
 Re: ルートディレクトリについて ( No.11 )
日時: 2007/07/11 21:38
名前: まさ

はじめまして。

僕も前に同じ事をしようとしたんですけど、結局情報(基本的にできない?)もなく断念しました。
当然、apacheはバーチャルサーバーをサポートしているので複数(無限?)公開することはできるらしいんですけど、
レンサバのようなアップロードで公開する事はできないらしいです。
色々と調べて1年位経つんですけど未だに方法が分かりません。
 Re: ルートディレクトリについて ( No.12 )
日時: 2007/07/20 16:34
名前: サブ

やはり、情報不足のため不可能ということなのでしょうかね。

これにてこのスレッドは一度閉じたいと思います。

■ その他

ページ先頭へ


Copyright(©)2004-2018 First home server construction. All Right Reserved.