• 締切済み

イントラサーバ内のブログを、公開サーバ内で動作しているように見せるやり方

公開サーバAとイントラサーバBがあります。イントラサーバBにインストール、運用しているxoopsをそのまま外部からアクセスできるようにしたいのですがどのような方法が考えられますか。 単純にサーバB上の必要なディレクトリをサーバAにNFSマウントし、目的の.phpをvar/www/html以下にリンクさせれば、外部からの見た目はサーバA、しかし動作しているのはサーバBと言う風にいくかと考えているのですがどうでしょか。 Linuxに詳しい方からみたら、とんでもないideaなのかもしれませんが.... ちなみにxoopsはMySQLを必要としていますが、サーバAにはMySQLをインストールできないためこのような打開策を考えております。

みんなの回答

回答No.7

No. 5 です。 一応、質問された mmhan さん宛の補足と言う事でご理解ください。 イントラサーバへの NFS アクセスを許可すると言うことは、イントラサーバへのアクセス制御をかなり緩くすることになります。NFS サーバ側のセキュリティを維持するにはファイアウォールの設定が肝になるでしょうが、かなり面倒かつシビアな設定と運用が必要だろうと思います。 ファイアウォール周りに関しては参考 URL をご参照いただくと良いとおもいます。 なお、NFS が常に悪い、とは思いません。例えば   -- F/W --- Web サーバ群       |       -- NFS サーバ のように、保護されたネットワーク内であれば Web サーバ群にコンテンツを提供する NFS サーバを配置するのは良くやる方法です。ただ、今回のように NFS クライアント(公開サーバ)と NFS サーバ(イントラサーバ)が全く違うネットワークにあり、かつ NFS サーバが DMZ でもないイントラネットワークにある場合にはお勧めできないと考えます。 > ちなみにURL書き換えで、外部からのリクエストを内部サーバに転送しても単純に見ることはできませんよね? mod_write + mod_proxy で『単純に』見ることができますよ :)。ただ Zope コンテンツ内で URL パスを絶対表記(http://..../hoge.html など)しているとその辺の対応も必要になりそうです。これに関してはどのような方法を採っても同じ悩みですけれど。 参考になれば幸いです。

参考URL:
http://www.linux.or.jp/JF/JFdocs/NFS-HOWTO/security.html
全文を見る
すると、全ての回答が全文表示されます。
回答No.6

#5どの >公開サーバで NFS をつかうのはセキュリティ的にオススメできませんし >設定もかなり面倒です。 エクスポートするのは、イントラサーバ側で、公開サーバはマウントするだけなんですが、 セキュリティの問題がありますか? また、設定がかなり面倒というのも、判りません。 apacheでプロキシを設定して、知らずにオープンプロキシ化しているサイトを 良く見かけますが、個人的には、そちらのほうが怖いなと・・。 正しく設定されれば、apacheでプロキシでも、mod_rewriteでも、NFSより効率が良いのですが。

全文を見る
すると、全ての回答が全文表示されます。
回答No.5

公開サーバで NFS をつかうのはセキュリティ的にオススメできませんし、設定もかなり面倒です。 それよりは No.2 の方が書かれているようなリバースプロキシを用いるか、mod_rewrite などの使用をオススメします。サーバ A からサーバ B へのアクセスとして HTTP あるいは HTTPS のみを許可すれば良いので、セキュリティ的には NFS よりオススメです。 ただし xoops はセキュリティホールが多いことでも有名ですので、一般向けに公開するのでなければ Basic 認証を設定するなどして、第三者にはアクセスさせない方が良いでしょう。 参考になれば幸いです。

mmhan
質問者

お礼

ありがとうございます。 NFSがお勧めできないとご意見、参考にいたします。 mod_rewriteですね。そういう情報を探しておりました!ちなみにURL書き換えで、外部からのリクエストを内部サーバに転送しても単純に見ることはできませんよね? たぶんネットワークの構造を知っていればすぐわかることだとは思うのですが... 試してみます。 xoopsがセキュリティ的に甘いという情報も参考にいたします。ただ、xoopsではなくてZopeでありました... すいません。 Zopeを既存のredhat9に入れるためには、システム標準のPythonとは別のバージョンのPythonを別途インストールする必要等があるので、ちょっと抵抗があります。 そこで、イントラのVine3.2なりCentOS4.2なりにZopeを構築し(うまく動作することは確認済み)、RedHat9への外部からのアクセスを転送できたらというようなことを考えておりました。 いろいろ試すことがありますが、最終的な結果はご報告いたします。

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

#1です。 書き忘れているので、一応書いておきます。 DBの件ですが、別にローカル上にMySQLなり、PostgeSQLが居ないと xoopsが動作しないわけではありません。 アクセス可能なDBがあれば、それでOKです。 なので、イントラサーバ上に、DBを構築して、公開サーバからのアクセスを 許可すれば、それでかまいません。 むしろ問題は、公開サーバ(apache)とイントラサーバ(NFS,DB)の間を データが行ったり来たりするところで、パフォーマンスが出るかな?と。 (NFSって、結構遅いです)

mmhan
質問者

お礼

度々感謝いたします。 そうですよね、ご指摘のとおり大概のCMSは外部のDBをサポートしていますよね。 既存のxoopsやwikiをそのまま見えるようにしたいと考えていたのですが、 必要なphp等だけサーバAに移動して、DBの指定だけBにするというような方向も考えてみます。 NFSは使ったことがなかったので、パフォーマンスのことは考えていませんでした。 ありがとうございます。 公開サーバはライブラリ等々古い&あまりいじりたくないので、自由に設定変更できる複数台のイントラサーバでいろいろためし、 うまくいきそうなものをNFSでマウントさせ公開できたらということを考えていました。 NFSで公開と、php等コピーでDBはリモート、両方ためして見ます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

No2です。 下記の書き込み、AとBが逆です。すいません。

mmhan
質問者

お礼

ご回答感謝いたします。 確認なのですが、 >DBのアドレスをAに向ければ問題なのかもしれませんが。 この部分はそのまま >BのサーバにApacheを入れ、Aへのproxyとして動かすというのはどうでしょうか? この部分AとBが逆 という理解でよろしいでしょうか(自信なし)。 Aからxoops@Bが動くかどうか、とにかく試してみます。 その際MySQLのアクセス制限等の設定も気をつけてみるつもりです。 次にproxyですが、すいません、いまいち分かっていません.... 状況としては、ABともにapacheは稼動しています。リバースproxyということでしょうか? 少し考えて見ます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

Xoopsを理解していないので外しているかもしれませんが・・・ NFSでマウントするディレクトリにhtmlファイルやプログラムが入っているとしても、XoopsがローカルのDBにアクセスしようとするとエラーになるのでは? DBのアドレスをAに向ければ問題なのかもしれませんが。 それよりBのサーバにApacheを入れ、Aへのproxyとして動かすというのはどうでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

質問のタイトルからすると、イントラサーバを公開したい、というように取れますが、 内容的には、イントラサーバの公開でなくて、公開サーバからのファイルアクセスですよね。 公開サーバへマウントすれば良いだけなので、書かれた内容は実現可能です。 その際、イントラサーバに、公開サーバだけアクセスを認めるような 制限をかけておけば、外部からの直接のアクセスは排除できますので、 それで良いのではないでしょうか。 ただし、総てのapacheプロセスは、公開サーバで処理するので、誤解なく。

mmhan
質問者

お礼

ご回答感謝いたします。 まったくとんでもないideaを思いついていたわけではないということでしょうか。 ただ、'すべてのapacheプロセスは公開サーバとして処理される'ということは、たとえばNFSマウント上の.phpを読んだら、マウントしたサーバ側のphpが動くわけですよね(考えたら当然か...) サーバ環境に依存したCMS等だと、うまく動かない気もしてきました... ちょっと試験的に試して見ます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • NFSの仕組み・動作について(サーバを再起動する時に、NFSクライアントをアンマウントをする理由が知りたいです)

    NFSの仕組みについて調べております。 ◆背景 近々、お客様サーバセンターにて停電があります。 現在、Webサーバが画像サーバのディレクトリを NFSにてマウントしております。 今回、停電にて電源の落とす必要があるサーバは、 このNFSサーバとなります。 nfsクライアント(Webサーバ) ↓ nfsサーバ(画像サーバ) ◆質問 私の会社では、NFSサーバを再起動する際は、 必ずNFSクライアントにてマウントされているディレクトリを アンマウントし、NFSサーバにマウントがない状態で NFSサーバ再起動を行っております。 ※理由は、過去にNFSクライアントのアンマントを行わずにNFSサーバを  再起動したことがあり、その際にNFSクライアントのマウントが  できないことがありました。 今回、この停電はお客様のデータセンターで行われるため 「NFSサーバを再起動するために、NFSクライアントをアンマウントしないといけません!」と言いたいのですが、 技術的になぜその必要があるかをお客様にお話しする必要があります。 そこで、アンマウントをしないといけない理由をご存知の方 いらっしゃいましたら教えていただけますでしょうか。 また、そもそも「アンマウントなんて必要ない」というのであれば ご指摘いただけると助かります。 あわせて、NFSの技術的な情報を教えていただけますとなおありがたいです。 よろしくお願いいたします。

  • nfsマウントしたリモートディレクトリをftpdで公開できますか?

    nfsでマウントした別サーバーのディレクトリをftpで公開できるでしょうか?できるなら設定方法を教えてください。 Solaris ・nfsサーバ FedoraCore4 ・nfsクライアント ・vsftpd SolarisのディレクトリをFedoraCoreでnfsマウント。 このディレクトリをftpdで公開したい。 よろしくお願いいたします。

  • Linuxサーバ間でのマウントについて

    NFSサーバ側にクライアント側のディレクトリが見れるようにマウント設定したのですが、 サーバを再起動した後、NFSサーバのserver_mountディレクトリの中身とクライアント側のclient_mountの中身が 同期が取れていないような状況です。 また、異なったファイルがそれぞれ存在したりします。 (説明がわかりづらくてすみません。現象がよくわかりません。) 以下の通り設定したのですが、何か足りない箇所がありますでしょうか。 すみません。教えてください。 【NFSサーバ側】(IP:192.168.1.1) (1)/home/server_mountというNFSサーバ側のディレクトリを作成 (2)/etc/exportsに以下の1行を記述  /home/server_mount 192.168.1.2(rw,no_root_squash,sync) (3)service nfs start及びchkconfig nfs onをしておく。 ※ちなみに現在iptablesはoffにしています。 【NFSクライアント側】(IP:192.168.1.2) (1)マウントするディレクトリをルート直下、/client_mountとして生成 (2)#mount -t nfs 192.168.1.1:/home/server_mount /client_mount コマンド実行でエラー無し。

  • NFSでサーバ側を再起動させた場合のマウント

    OSは3台ともCentOS4.4です。 DB(NFSサーバ)web1(NFSクライアント)web2(NFSクライアント) webi、web2からDBのディレクトリをマウントして見えるようにしてあります。NFSクライアントを再起動した場合AUTOマウント出来るように設定はしてあり、そこは問題ないのですが、DB(NFSサーバ)側を再起動した場合クライアント側でマウントコマンドを叩かないとマウントされませんよね?それとも何か設定があるのでしょうか? 自分なりに調べたのですが、いまいちわからないのでわかる方教えてください。 よろしくお願いします。

  • UNIXサーバを跨いだリンク

    UNIXで同じサーバー内ではシンボリックリンクを貼ることでマスターファイル、ディレクトリを他から参照させることができると思いますが、サーバーを跨ぐ場合はどうしたら良いでしょうか?調べた所、lnコマンドでサーバー跨ぎはできそうもありませんでしたが、マウントするしかありませんか? また、マウントする場合の注意事項は何かありますでしょうか?(サーバAを再起動する際にサーバーBからサーバAのあるディレクトリをマウントしているとシャットダウンに失敗するなど・・・(自動でアンマウントされる?) 例: サーバーA: /etc/A/master/aaa.txt サーバーA: /etc/B/master/    (master -> /etc/A/master)   ln -fs /etc/A/master master サーバーA: /etc/C/master/   (master -> /etc/A/master)  ln -fs /etc/A/master master サーバーB: /etc/A/master/ サーバーB: /etc/B/master/ ■サーバーBに対して以下はできない? (master -> サーバーA@/etc/A/master) ln -fs サーバーA@/etc/A/master master ■マウントするしかない?(例:サーバーAのIPアドレスが192.168.mmm.nnn) mount -t nfs 192.168.nnn.mmm:/etc/A/master master 以上、アドバイスよろしくお願いします。

  • NFS接続+シンボリックリンクを使ったディレクトリの参照先について

    2台のLinuxサーバ(いずれもRedHat AS3.0) にて、 NFS接続+シンボリックリンクを使ったディレクトリにファイルをコピーしようとしています。 2台のLinuxサーバはそれぞれ  ・サーバA(NFSサーバ)  ・サーバB(NFSクライアント) と記載しています。 初めに、サーバBの「/home/SAVEDATA」をマウントポイントとして、 サーバAの「/home/SAVEDATA」にNFS接続するよう設定した後、 サーバBにtenletでログインし、NFS接続したサーバAのディレクトリをたどっていくと、 途中で「そのようなディレクトリは無い」と言われてしまいます。 ------------------------------------------------------------------------------------ [サーバB] $ vdir /home/SAVEDATA/ lrwxrwxrwx 1 user user 34 10月 3 12:21 /home/SAVEDATA/2005 -> /DSK10/SAVEDATA/2005 [サーバB] $ vdir /home/SAVEDATA/2005/ vdir: /home/SAVEDATA/2005/: そのようなファイルやディレクトリはありません ------------------------------------------------------------------------------------ おそらく、最後のコマンドでは 「サーバB」の「/DSK10/SAVEDATA/2005」を探してしまっているのではないかと思うのですが、 実際見て欲しいのは「サーバA」の「/DSK10/SAVEDATA/2005」です。 (サーバBには「/DSK10」は存在しません。) この環境で、正しくサーバAの「/DSK10/SAVEDATA/2005」を参照するようにすることは可能でしょうか。 お分かりになる方がいらっしゃいましたら、アドバイスをお願い致します。

  • マウントしたnfsディレクトリの権限

    すみません。教えてください。 2つサーバーがあり、片方をNFSサーバとして使います。NFSサーバ側で/etc/exportsに以下の内容を記述しました。 /マウントさせるディレクトリ IPアドレス(rw,no_root_squash,sync) NFSクライアントにSSHでログインし、マウントしたディレクトリにアクセスすると、その中のファイルなどは開くことができ、書き込みもできます。 しかし、ブラウザを使ってそのマウントしたディレクトリの中をファイルを開こうとすると403 Forbiddenの権限エラーになります。(※NFSクライアント側はWebサーバとなります。) マウントではなく、同階層に別のテスト用ディレクトリを作り、同じファイルをコピーし、ブラウザで開こうとすると問題無く開き、書き込むこともできます。 NFSサーバもしくはNFSクライアントどちらかに(追加?)何か権限設定をしなければならないのでしょうか? もしくはhttpd.confの設定でしょうか? 宜しくお願い致します。

  • Fedora4にてXOOPSを設定し、ブラウザにてエラー403が表示する。

    xoopsをインストールを実施しようとブラウザのアドレス欄にて http://サーバー名/xoopsを記載した所、エラー403が表示しました。 色々と調べましたがわからず困っています。 OS:Fedora4 ApacheとPHPとmysqlは設定済みです。 尚、httpd.confのファイルに下記を追加しました。 Alias /xoops "/var/www/xoops" <Directory "/var/www/xoops"> DirectoryIndex index.php index.html AllowOverride None Options None Order allow,deny Allow from all Allow from ::1 AddHandler php5-script .php </Directory> ご教授をお願いします。

  • 動作が軽快なレンタルサーバーを紹介してください

    現在レンタルサーバー「ロリポップ!」を借りてxoopsを運用しているのですが、レスポンスが遅い(ページが表示されるまでに3~4秒かかる)ので、動作が軽快なレンタルサーバーを探しています。 以下の要件を満たしていて、オススメのレンタルサーバーがあれば紹介してください。 ・動作が軽快(レスポンスが早い)。 ・月額1000円ぐらいまで。 ・PHP、MySQL、PHPMyAdmin、XOOPSが利用可能。 ・容量は200MB以上。 ・転送容量の制限が無い。 レンタルサーバー比較サイトでは、広告的な要素が強く、動作が軽快かどうかわかりにくいので、実際に利用されている方の情報がいただけると大変助かります。 よろしくお願いします。

  • MySQLのデータをrsyncしてもうまくいかない

    サーバーAとサーバーBがあって、 rsyncで、サーバーBのMySQLのvarディレクトリ内をサーバーAと同じにしているのですが、 実際にSELECT文などで確認すると、同じになっていません。 このやり方は、不可能なのでしょうか? レプリケーションは使わない方向で、行きたいのですが。。。 ご教授、宜しくお願いします。

    • ベストアンサー
    • MySQL
このQ&Aのポイント
  • グラボが認識できず、PC画面が映らなくなりました。昨日PCをスリープから立ち上げると画面が映らず、HDMIケーブルを刺し直したら強制終了して再起動しました。しかし、その後も画面が映らず、現在はマザーボードに接続しています。NVIDIAのドライバをインストールしようとしたが、インストールできず、互換性の問題が出ました。
  • グラボが壊れたのか、Windowsのアップデートのせいなのか分からず困っています。グラボは正常に動作しているようですが、画面が映らないため、解決方法を知りたいです。
  • 何かアドバイスがあればお願いします。
回答を見る