[[FrontPage]]
#contents

* Apache
* 正規表現の謎

#contents
(?i:hoge) とか (?i) が使えない環境あり?(そもそも使えるのか確認してないけど元々そう書いてあった.htaccessは存在する

** アクセス制限
* アクセス制限

- v6アドレスでアクセスしている場合はv4アドレスで制限/許可しても無効
- ローカルだと127.0.0.1でアクセスするので、グローバルIPを与えても無効
- v4で名前が引けてもv6で名前が引けなければドメインを書いても無効

* $0の扱い

/var/www下のCGIで $0 は /var/www/hoge.cgi のように展開される。~
設定で変えられるのかは未調査。

* SSIと文字コード

SSIでincludeしているとMETAタグ無視して AddDefaultCharset の文字コードと認識される??~
Firefox1.5 + Apache2.0(Debian)でそんなになった。

* sites-enabled の順序

Debianな設定ファイルよりの話。~

sites-enabledの読込順序はファイル名。

 Include /etc/apache2/sites-enabled/[^.#]*

a2ensite の中で、default の時だけは 000-default でシンボリックリンクを作るようにしてある。

* 2.0 → 2.2 変更時の修正 with Debian

%%2006-10-04現在、phpは使えない?%%~
%%てか suexec も動いてないので捨てー。%%

** 2006-10-12 追記

 Forcing reload of web server  (apache2)...
 Syntax error on line 141 of /etc/apache2/apache2.conf:
 Invalid command 'Order', perhaps misspelled or defined
 by a module not included in the server configuration failed!
dist-upgradeじゃ↑とかいわれるようにまでなったので、~
一旦全部 purge して再インストール。~

上の症状は Bug#392058: apache2.2-common: apache fails to start とか参照。~
http://thread.gmane.org/gmane.linux.debian.devel.apache/9279/focus=9279

*** 再インストール後の手順

a2enmod
- auth_basic
- authn_file
- authz_user
- authz_groupfile
- userdir
- suexec

suexec が利かないのは setuid されてないせいな。~
http://kitaj.no-ip.com/tdiary/20061004.html ~

 chmod 4755 /usr/lib/apache2/suexec

** アップグレード時の変更点

suexec ↑参照

*** 認証周り

認証周りのものの a2enmod~

命名規則はこんなんらしい。

|mod_auth_XX 	|認証の方法を提供|
|mod_authn_XX 	|認証バックエンドをサポート|
|mod_authz_XX 	|承認(アクセス制御)を提供|
|mod_authnz_XX 	|認証と承認(アクセス制御)の両方をサポート|

http://www.atmarkit.co.jp/flinux/special/apache22/apache01.html

*** a2dismod しておくもの

シンボリックリンクがなくてもロードされるようになった?~
と、思いきや purge 後は普通に cgi が存在した。~
謎。~

- cgi
- dav_svn

* SSL with Debian (etch)

 # まずはモジュール
 sudo a2enmod ssl

次に証明書の作成。~
/usr/sbin/make-ssl-cert を使う(apache2-ssl-certificate は etch にはない)。~
デフォルトが 30日なので make-ssl-cert を編集して有効期間延長(-days 365)。~

   if [ "$1" != "generate-default-snakeoil" ]; then
 - openssl req -config $TMPFILE -new -x509 -nodes -out $output -keyout $output > /dev/null 2>&1
 + openssl req -config $TMPFILE -new -x509 -days 365 -nodes -out $output -keyout $output > /dev/null 2>&1

生成。
 sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

sites-available/ssl を適当に編集。
 # 適当
 Listen 443
 
 NameVirtualHost *:443
 <VirtualHost *:443>
     SSLEngine on
     SSLCertificateFile ssl/apache.pem
 
     DocumentRoot /var/www
 </VirtualHost>

以下略。

** 期間延長

上記 make-ssl-cert を再実行したあと apache を再起動。~

** SSL 関係捕捉

- https でアクセスさせる
 SSLRequireSSL
- [[この辺>http://takagi-hiromitsu.jp/diary/20050327.html]] のリスク回避
-- オレオレ証明書をネットを経由させずに持ち運んでブラウザに記憶させる


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS