apache

0pt

モジュールのマニュアル
http://httpd.apache.org/docs/2.2/ja/mod/

オプション

$ sudo /etc/init.d/httpd restart
$ sudo /etc/init.d/httpd graceful

gracefulオプションは現在実行中のプロセスを待ってから再起動する

設定逆引き

phpファイルをテキストで表示

AddHandler text/plain .php

強制的にphpとして実行

ForceType application/x-httpd-php

.htaccessを許可/禁止する

AllowOverride All  # 許可
AllowOverride None # 禁止

ディレクトリアクセスしたときにindex.htmlを表示する

DirectoryIndex index.html

DocumentRootのディレクトリ以外を公開したい

Aliasを使う

Alias /hoge "/path/to/htdocs"

VirtualHostを使う

<VirtualHost 127.0.0.1>
  <Directory /path/to/htdocs>
     allow from all
  </Directory>
</VirtualHost>

ディレクトリアクセスしたときに中身を表示しない

Options -Indexes

表示したい場合はハイフン"-"なしで

シンボリックリンクをたどるのを許可する

Options FollowSymLinks

hogeをリクエストしてhogeがなければhoge.*を表示するようにする

Options MultiViews

Basic認証をかける

AuthType Basic
AuthName "authenticate required"
AuthUserFile /path/to/.htpasswd
Require valid-user

他の設定ファイルを読み込む

Include /path/to/another/httpd.conf

phpファイルだけに適用させる

<Files ~ "\.php$">
  ...
</Files>

IP直打ちの場合は別のVirtualHostを表示したい

IP直打ちするとVirtualHostの一番最初の設定が表示される。

てきとーなやつを先頭に入れるだけでよい。

VirtualHostを設定したのにIP直打ちで来る人を残念賞にする方法
http://d.hatena.ne.jp/ir9Ex/20071014/1192366566

キャッシュクリア

<IfModule headers_module>
<Files ~ "\.css$">
Header set Pragma no-cache
Header set Cache-Control no-cache
</Files>
</IfModule>

画像等不要なファイルはアクセスログを取らないようにする

SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)|(ico)$" nolog
CustomLog "/path/to/log" combined env=!nolog


CustomLogで否定しないやり方も考えてみた。
URIのマッチングに否定戻り読み言明を使った。

SetEnvIf Request_URI "(?<!\.gif)(?<!\.jpg)(?<!\.png)(?<!\.css)(?<!\.js)(?<!\.ico)$" hoge
CustomLog "/path/to/log" combined env=hoge

こうすれば、特定のディレクトリのみ別のログにするというのも可能
(上記SetEnvIfをDirectoryディレクティブに追加すればいい)

[^\.(gif)|(jpg)] でいけるかなと思ったけど、文字に分解されちゃうのでダメだった。

アクセスログを日別に記録する

CustomLog "|/usr/sbin/rotatelogs /path/to/log/access.%Y%m%d.log 86400 540" combined

ログPHPから情報を追加する

http://neta.ywcafe.net/000607.html

apache_note("originallog", $val);
LogFormat "%h %l %u %t \"%r\" %>s %b %{originallog}n" common

メモ

  • 同じパスのDirectoryディレクティブを2つ書くと、常に後に記述した方のみが適用され、前の方の設定は失われるっぽい。

「apache」について友人に書いてもらう。

あなたにとって「apache」とは?

ログインするとワンクリックでキーワードを投稿できます

ログインする 新規登録する

お気に入りの説明

0 pt
UNIX 系 OS で動く WEB サーバー UNIX 系だと、他にも NCSA H TTP d Netscape Enterprise Server などがあるらしい。
もっと読む
0 pt
sudo /sbin/service httpd configtest してから sudo /sbin/service httpd restart
もっと読む

関連したキーワードを持つお気に入り

他の人の「apache」を見る