• ベストアンサー

このケース。シンボリックリンクで実現できますか?

レンタルサーバで定番の /home/user/public_htmlが WWWサイトのトップに設定されてます。 しかしこれですといろんなソフトを入れる度に public_htmlフォルダにファイルが増えたり混ざってしまいます。 とりあえず、 /home/user/testsoft/public_htmlを サイトのトップにしてみたく、シンボリックリンクをやってみたのですがうまく張れませんでした。リンクで実現することは可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

#1 です。 サーバ管理者でなくて、試してみたけど出来なかったのであれば『出来ない可能性』が高いですね。サーバ管理者がシンボリックリンク(先の参照を)禁止している場合、.htacess を使っても無理です。 何で(デフォルトでは)禁止されているかというと、例えば % ln -s /etc /home/users/testsoft/public_html が有効に出来ちゃったら、/etc/passwd などの重要なファイルも見えてしまうからなんです。更に言えば性能面でシンボリックリンクを追いかけるのもあまり良くないから、かな。 サーバの管理者の方に「シンボリックリンク使いたいんですけど...」と尋ねてみると良いでしょう。融通の利く(?)管理者であれば何とかしてくれるかもしれませんよ。  

natsuyori
質問者

お礼

大変わかりやすいご説明ありがとうございます。どうりでApacheの設定にもシンボリックリンクを許可するかという設定があるわけですね。素直に諦めて実態をpublic_htmlに置く事にしました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.2

ln -s /home/user/testsoft/public_html /home/user/public_html ということでしょうか?私も似たことをやってみましたが、シンボリックリンクでpublic_htmlより上は見られないようです。ハードリンクなら見られますが、ディレクトリのハードリンクは一般ユーザーでは出来ないので無理ですね。 何故そういうことをしたいのか良くわからないのですが、public_html をホームディレクトリだと思って管理すれば良いのではないのでしょうか?

natsuyori
質問者

お礼

なるほど。public_htmlより上は見れないんですね。みなさん共有サーバではできないようなので、これが普通ということがわかり良かったです。ハードリンクは実体ファイルが大きいので今回は向かない感じです。ありがとうございました。

回答No.1

あなたはサーバの管理者ですか? であれば apache(ですよね?)の httpd.conf を編集することで設定可能です。もし管理者でなければ、管理者に頼まないとできないかもしれません。どちらの立場でしょうか。

natsuyori
質問者

補足

回答ありがとうございます。 私はサーバ管理者ではありません。 WWWサーバの設定という発想はありませんでした。httpd.confを編集できる権限はありませんが、 .htaccessは使えるサーバのようです。 自分で設定する方法ありますでしょうか? よろしくお願いします。

関連するQ&A

  • リンクを自動生成する方法

    どの言語で実現できるか不明ゆえに質問させていただくため、 カテゴリが違うかもしれませんが、どうかご容赦を・・・ 次のようなディレクトリ構造を持ったWebサイトを作りたいと考えています。 ================================================ [root] top.html  |  |――――――――――  |              | [folder1]          [folder2]  |              | [A.html B.html C.html] [A.html B.html C.html] ================================================ つまり、同じ名前のHTMLファイルを格納したフォルダが複数個存在している状態です。 ※上の図ではA.html、B.html、C.htmlの3つだが、  実際はA.html~EZ.htmlのように100個以上のファイルを格納している。 ※上の図ではフォルダがfolder1とfolder2の2つだが、  実際はfolder1~folder30のように30個以上のフォルダが並列に存在している。 このような構造で、top.htmlに全ファイルへのリンクを作りたいと考えています。 top.htmlでどのように動かしたいかというと・・・ (top.htmlの簡易デザイン↓) ================================================ [フォルダを選択できるリストボックス]  ・Aへのリンク  ・Bへのリンク  ・Cへのリンク ================================================ [フォルダを選択できるリストボックス]でフォルダを選択すると、 Aへのリンク、Bへのリンク、Cへのリンク、 それぞれのリンク先が、 選択されたフォルダのA.html、B.html、C.html、 になって欲しいのです。 このような動かし方は可能でしょうか? 可能ならば、どのようにすれば実現できるでしょうか。 アドバイスいただければ幸いです。

    • ベストアンサー
    • CSS
  • Apacheでユーザディレクトリが公開できません。

    はじめまして。恐れ入りますがぜひともご教示下さい。 今まで自宅サーバにてApacheでサイト運営していたのですが、友人にせがまれ、友人向けのサイトスペースを用意することになりました。 そこで、友人用のユーザアカウントを用意し(今までは特にユーザーディレクトリを用意して運営していなかった)、ドキュメントルート /home/"ユーザ名"/public_html にindex.htmlと.htaccessを用意し、設定を終えたはずなのですがlocalhost/"ユーザ名"/にアクセスするとforbiddenになってしまいます。 /home/"ユーザ名"/public_html以下の全てのディレクトリ/ファイルは所有者nobodyでパーミッションは755です。 また、.htaccessでは、以下の様な設定になっております。 DocumentRoot "/home/"ユーザ名"/public_html/ <Directory "/home/"ユーザ名"/public_html"> Options FollowSymLinks AllowOverride AuthConfig Limit </Directory> です。行き詰まってしまったので考えられる 処置を教えていただけませんでしょうか? OS:Vinelinux3.1 Webサーバ:Apache1.3.33 よろしくお願いします。

  • さくらサーバでのシンボリックリンク

    知り合いから、さくらサーバへlaravelで作ったサイトをアップしてほしいと頼まれて、自分の借りてるサーバで試している所なんですが、シンボリックリンクの作成がうまくいきません。 指示では、 storage/app/upload/customer → public/files/upload/customer storage/app/upload/interview → public/files/upload/interview のシンボリックリンクを作成してくださいとの事なんですが、 色々サイトを調べても、答えに行き着かず困っています。 windowsのショートカットの様なものとまではわかりましたが、どこのフォルダに、どの名前でという指示もないので、理解不能に陥っています。 わかる方がいたら、何卒よろしくお願いしますm(__)m ローカルサーバでは、シンボリックリンクは何もしなくてもなぜか表示できてます。

    • ベストアンサー
    • PHP
  • .htaccessについて教えて下さい。

    .htaccessについて教えて下さい。 [.htaccess] AuthUserFile /home/ユーザー名/public/www/aa_cgi/.htpasswd AuthGroupFile /dev/null AuthName ByPassword AuthType Basic require valid-user ハッスルサーバーを使っています。 上記でキチントaa_cgiのフォルダにアクセス制限がかかります。 動作は問題ありません。 しかし、アクセス制限していない htmlファイル(top.html)を開くと パスワード認証の画面が表示されるのです。 何故こんな事が起こるのか、どなたかおおしえ下さい。よろしくお願い申し上げます。 |-aa_cgi(制限したいディレクトリ) | |-.htaccess | |-.htpasswd | |-top.html |-link.html |-index.html |-pic.html aa_cgiのフォルダと同じ階層に top.html link.html index.html pic.html があります。.htaccessはaa_cgiのフォルダの中にあります。 なのになぜか、top.htmlだけパスワードを聞かれます。他のlink index pic ファイルは開いてもパスワードを聞かれません。

    • ベストアンサー
    • CGI
  • PHPファイルのシンボリックリンクの実行で Internal Server Error

    プログラムファイルが以下にあるとします。 /home/pgroot/public_html/test.php 内容は、 <?php print "ok"; ?> という最小限のスクリプトです。 これに、以下のようにシンボリックリンクを張ります。 /home/myhome/public_html/test.php (---->/home/pgroot/public_html/test.php) リンクの方をWEBからアクセスすると、Internal Server Error になります。本物の方をWEBからアクセスすると、正常に動作します。 Internal Server Error の時の Apache のエラーログには以下の記述があります。 [error] Premature end of script headers: /home/myhome/public_html/test.php 他のサーバーでは普通に動くのですが、なぜこのサーバーでは動かないのかという鯨飲を知りたいのですが、どなたかアドバイスいただけませんか? よろしくお願いします。

  • 安全な共用WWWサーバーについて

    安全な共用WWWサーバーを作りたいので バーチャルホスト毎に異なるユーザ・グループ権限で ウェブサーバを実行したいのですが、 Apache1系では、何もインストールせず、httpd.confで 以下のように設定するだけで問題ないでしょうか? <VirtualHost xxx> User user Group group UserDir public_html ServerName xxx DocumentRoot /home/vhost/xxx <VirtualHost vhost> SuEXECという方法があるようですが、調べたところ SuEXECモジュールでは、phpの実行権限を変えることはできないかったりパフォーマンスが悪いという事で どういう方法で実現すべきか悩んでおります。

  • 教えてください。リンクの件

    ホームページビルダー9を使う初心者です 1、独自ドメイン○○○.com/index.htmlから同一フォルダー内のリンクは出来るのですが ○○○.com/membar(例)/inndex.htmlのように間にmembarを入れてリンクさす時 フォルダーは別にmembarのフォルダーを生成するのでしょうか? 同一フォルダーに生成でしょうか? 2、別フォルダー、同一フォルダーを生成して保存した後のサイト転送は(例)public_html/membarでいいのでしょうか? それともpublic_html/membar/index.htmlなのでしょうか? public_html/membar/index.htmlからリンクの時は membarの同一フォルダーなら出来るのでしょうか? 初心者なので過去ログも探しましたが見当たりませんでした 詳しく教えて頂ければありがたいです お願いします。m(_ _)m

  • 自宅でサーバーを立ち上げたのですがLANからのアクセスで悩んでいます。

    自宅でサーバーを立ち上げたのですがLANからのアクセスで悩んでいます。 現在バーチャルドメインで複数のドメインを割り当てています。 例えば /home/user/public_html/aaaa/ → http://www.aaaa.xxx/ /home/user/public_html/bbbb/ → http://www.bbbb.xxx/ という風に公開しているのですが、ここをLAN(ローカル)からアクセスするには /home/user/public_html/aaaa/ → http://192.168.0.50/~user/aaaa/ /home/user/public_html/bbbb/ → http://192.168.0.50/~user/bbbb/ といったURLになるのですがこれを外側からと同じアドレス、もしくは ルートドメインを指定してアクセスしたいのですがどういった方法があるでしょうか? hostファイルも考えたのですがIPアドレスでしか指定できないのでフォルダーを ドメイン指定できないと思うのですが。よろしくお願いします。

  • シンボリックリンクでマルチサイトを実現

    全国向けのサイト構築を考えています。 トップページは、都道府県を選択するようにし、 都道府県のサイトは別ドメインで実現しようと思ってます。 <トップ> http://www.hogehoge.com <都道府県別> http://hokaido.hogehoge.com http://aomori.hogehoge.com : http://okinawa.hogehoge.com それぞれのデザインや機能などは同じなので、 シンボリックリンクでソースを一元化したいと思っています。 一元化はしますが、どの都道府県のページを開いてるのかは、区別しなければなりません。 どのように区別したらいいのでしょう?というのが質問です。 シンボリックリンクを作成し、それぞれのページで "__FILE__" を参照したところ、 元ソースのパスとなっていますので区別ができません。 簡単にできそうな気がするのですが・・・。

    • ベストアンサー
    • PHP
  • 作成したホームページの保存の仕方とリンクに付きまして

    ちなみに、ソフトはビルダー6.5で、OSはXPです。 一つのHPサイトに写真を複数枚使いまして、それを18ページ作成したいと考えております。 其の場合の保存の仕方に付きまして、以下の方法で、リンクの設定、もしくは、アップロードをする際に不都合がないかどうかをアドバイス下さい。 1)18ページのサイトを保存しておくホルダー「A」を作りました。 2)其の中に、それぞれのページごとのホルダーを「1」~「18」まで作成しました。 3)この状況では、もちろん「index.html」ページから「18」ページまでのそれぞれのページの写真とか、ロゴとかの素材も、それぞれのページごとに分かれて保存します。もちろんTopページから、各ページには、リンクを貼っています。 確認内容  A)リンク設定の有効性に付きまして  ここで確認させていただきたいとのですが、実際には、現在作成途中なのですが、Topページと各ページとの間にリンクを貼っているのですが、リンクが設定出来ないように思います。 この状態では、リンクを設定した場合に、Aフォルダーの中の各フォルダーをまたいで、其の中のファイルに対してのリンクということになりますが、不都合なくリンクは設定できるのでしょうか。 それとも、リンク設定を前提にすれば、Aフォルダーの中を細分化せずに、保存したほうがいいのでしょうか。 B)それと、これらのファイルをアップロードする際に、同じように、Aフォルダーの中にTopから最後のページまでを保存していたほうがいいのでしょうか。 C)フォルダーを細分化したのは、画像枚数を含めて、素材ファイルがかなりのボリュームになりますので、細分化したほうがいいのではないかと思っただけですが。 以上よろしくお願いいたします。