Monthly Archives: 2月 2013

Apacheで特定のファイル、特定のディレクトリにだけ基本認証を掛けたい

まず、ファイルの拡張子でアクセスさせたくない場合はこう。

<Files ~ "\.(db|log|ini)$">
  Deny from all
</Files>

ディレクトリを指定して、そこだけ基本認証をかけたいならこう。 ※.htaccesに書くなら <Directory で囲む必要なし。

<Directory /home/xxx/public_html/private/>
  AuthType Basic
  AuthName "DEMO"
  AuthUserFile /home/xxx/.pwd
  AuthGroupFile /dev/null
  require valid-user
</Directory>

その中でも.phpと.htmlだけ基本認証を掛ける場合。※Auth~記述はDirectoryのほうに書くのがコツ。Files内に書いたらNGでした。

<Directory /home/xxx/public_html/private/>
  AuthType Basic
  AuthName "DEMO"
  AuthUserFile /home/xxx/.pwd
  AuthGroupFile /dev/null
  <Files ~ "\.(php|html)$">
    require valid-user
  </Files>
</Directory>

※ 上記のように .html に制限を掛けたいときは、index.htmlというファイル名を指定しない / でアクセスされた場合も考慮しないといけない。ファイル名部分が無い場合も対象になるように以下へ変更。

  <Files ~ "^(.+\.(php|html))?$">
    require valid-user
  </Files>

特定のディレクトリ以下は、基本認証の対象から外したくなった場合はこう。AnyでIP制限か基本認証のどちらか通過すればOKとする。デフォルトはAll

<Directory /home/xxx/public_html/private/non_protect/>
  Satisfy any
</Directory>

Plesk環境のqmailで拡張アドレスを使う

メールアドレスにhoge@exsample.jp が存在してるときに、hoge-xxx@exsample.jp やhoge-yyy@exsample.jp でも受信できるようにするのが拡張アドレスというやつです。

GmailやPostfixだとプラス記号が使えますが、qmailの場合はマイナス記号です。

Pleskサーバはqmailが入っているのですが、デフォルトでは拡張アドレスは受信できません。存在しないメールアドレスも受信するように設定を変えて、qmail-* という設定ファイルを置いて対応する必要があるらしい。

http://www.softel.co.jp/blogs/tech/archives/3813

追記:
Plesk11だと、bounce設定をしても /var/qmail/mailnames/ドメイン名/.qmail-default が作成されていない!!どこに行ったんだ;;
自分でファイルを新規に置いても認識されない。もう無理って事かも?

追記2:
Plesk9以降、Postfixとqmailが両方インストールされ、切り替えて使う仕様になったらしく実はpostfixが動いてました(笑)
でも、ユーザーディレクトリの.qmailファイルの記述は有効。。。
また、Pleskちゃん変な設定のPostfix動かしてやがるなー
http://kb.parallels.com/jp/5801