お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2012-03-14 21:26:26

potato
新しいメンバ
登録日: 2011-06-01

Apache2 IPアドレスからの直接アクセス

Apache2の設定について教えて下さい、よろしくお願い致します。

現在、Ubuntu Server 11.04でApache2を使ってWEBページを公開する所までは出来ました。
自分の理想としては

アクセス可能 http://205.xxx.xxx.xxx/~username/
アクセス不可 http://205.xxx.xxx.xxx/

という形にしたいのですが、現在どちらからもアクセス可能になっています。
ブラウザからグローバルIPやドメイン名だけでアクセスすると
404 未検出 の様な感じになるようにしたいのですが、どう設定すればいいのか分かりません。

今は /home/username/の中にpublic_htmlというディレクトリを作り、そこに公開するhtmlファイル等を置いています。


よろしくお願いします。

オフライン

 

#2 2012-03-14 23:51:35

vbk
メンバ
From: Lake Hamana in Hamamatsu
登録日: 2009-12-22

Re: Apache2 IPアドレスからの直接アクセス

設定の仕方は色々有りそうですが、一例として /etc/apache2/sites-available/default に以下を記述すれば実現できるかと思います。

コード:

<Directory />
    Order allow,deny
    deny from all
</Directory>

Alias /~username /home/username/public_html
<Directory /home/username/public_html>
    Options Indexes FollowSymLinks MultiViews
    Order allow,deny
    allow from all
</Directory>

オフライン

 

#3 2012-03-15 01:15:43

potato
新しいメンバ
登録日: 2011-06-01

Re: Apache2 IPアドレスからの直接アクセス

vbkさん、お返事ありがとうございます。

教えて頂いたようにやってみましたが、どうも自分の環境では上手くいかないようです。
自分が使っている /etc/apache2/sites-available/default に該当する部分は
(/etc/apache2/sites-available/www と変更して使っています)


<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /home/username/public_html/
        <Directory />
                Order allow,deny
                deny from all
        </Directory>

        Alias /~pote /home/username/public_html
        <Directory /home/username/public_html/>
                Options Indexes FollowSymLinks MultiViews
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /home/username/public_html/cgi-bin/
        <Directory "/home/username/public_html/cgi-bin/">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


何か修正すべき点があるようでしたら、また助言の方よろしくお願いします。

オフライン

 

#4 2012-03-15 08:06:58

vbk
メンバ
From: Lake Hamana in Hamamatsu
登録日: 2009-12-22

Re: Apache2 IPアドレスからの直接アクセス

DocumentRootの行を削除するか、どこか別のディレクトリを指定してみてください。

DocumentRoot (外部から見た「/」) に~/public_htmlを指定しているため、alias先と同一になっています。
(Directoryに指定するパスは、外部から見たものではありません。)

オフライン

 

#5 2012-03-15 21:11:07

potato
新しいメンバ
登録日: 2011-06-01

Re: Apache2 IPアドレスからの直接アクセス

vbkさん、有難うございます。

>DocumentRootの行を削除するか、どこか別のディレクトリを指定してみてください。
このどちらの方法でも、僕が望んでいた動作をするようになりました。

>DocumentRoot (外部から見た「/」) に~/public_htmlを指定しているため、alias先と同一になっています。
>(Directoryに指定するパスは、外部から見たものではありません。)
また、この一文が自分には非常にわかりやすかったです。


このトピックとは直接関係の無い話題なのですが自分が作ったWEBページで
FLAVER 3.0という、Webページに動画を埋め込む感じのプレイヤーを使っていました。
DocumentRootの行を削除するか、どこか別のディレクトリを指定するという方法と取ると
このFLAVER 3.0がうまく動かなくなりました。

FLAVER 3.0の設定はサーバーのルート(最上段の階層)に FLAVER 専用の flaver3 と言うディレクトリを作成し
その中にプレイヤーSWFを収容するという形を取っていたので、DocumentRootを変更したことが影響して
動作が出来なくなったようです。

そこで教えて頂いた方法をすこし変えて

DocumentRoot /home/username/dummy/

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        Alias /~username/ /home/username/public_html/
        <Directory /home/username/public_html/>
                AllowOverride None
                Options Indexes FollowSymLinks MultiViews
                Order allow,deny
                Allow from all
        </Directory>

としてダミーのディレクトリを作って、その中にFLAVER 3.0を収納してみたら
IPアドレスからの直接のアクセスを防ぎつつ、FLAVER 3.0も動作するようになりました。
これで自分がやりたかった動作をするようになりました。

vbkさん、改めてお礼を申し上げます。
また、このトピックを興味を持って見てくれた皆様ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB