2007.05.08

Category: Apache / Tags:

.htaccess で メンテナンスの振り分け

指定のIPからは通常通りサイトが見られて、それ以外のIPについては、
メンテナンス画面の表示をする場合の一つの手段
.htaccessを利用して

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^xxx.xxx.xxxx.xx$ [OR]
RewriteCond %{REMOTE_ADDR} !^yy.yy.yy.yy$ [OR]
RewriteCond %{REQUEST_URI} !^http://www.pictnotes.jp/maintenance.html$
RewriteRule ^.* http://www.pictnotes.jp/maintenance.html [L]
</IfModule>

リモートのIPが xxx.xxx.xxxx.xx や yy.yy.yy.yy でなく リクエストURLがhttp://www.pictnotes.jp/maintenance.html
で無い場合は
http://www.pictnotes.jp/maintenance.html
を表示という感じ
RewriteCond %{REQUEST_URI} !^http://www.pictnotes.jp/maintenance.html$
は、永久ループをさけるための処置、メンテナンス画面が表示されている(はず。。)

2007.05.07

Category: Apache / Tags:

セキュリティーを高める 404ページとかの修正

httpd.confで下記の設定を修正

# ServerTokens
# This directive configures what you return as the Server HTTP response
# Header. The default is ‘Full’ which sends information about the OS-Type
# and compiled in modules.
# Set to one of: Full | OS | Minor | Minimal | Major | Prod
# where Full conveys the most information, and Prod the least.
#
ServerTokens Prod

これにより、HTTPレスポンスヘッダーには、 Apacheとしか表示されなくなる。
デフォルトは Full

# Optionally add a line containing the server version and virtual host
# name to server-generated pages (internal error documents, FTP directory
# listings, mod_status and mod_info output etc., but not CGI generated
# documents or custom error documents).
# Set to “EMail” to also include a mailto: link to the ServerAdmin.
# Set to one of: On | Off | EMail
#
ServerSignature Off

これにより、404 Not Found とかのページのシグネチャー(フッター)に、情報が
でなくなる。
default は、 On
下記デフォルトエイリアスのコメント化

#Alias /icons/ “/var/oriena/c21/apache/apache-front/icons/”
#AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ “/var/oriena/c21/apache/apache-front/manual$1″

ディレクトリ一覧の表示の禁止 (Indexesオプションの使用禁止)

Options -Indexes FollowSymLinks
もしくは
Options FollowSymLinks

-(マイナス)を頭につける事により無効化
HTTPヘッダーの TRACEの出力の抑制

TraceEnable Off

FileEtag での inode number の利用の抑制

FileETag -INode

2007.04.20

Category: Apache / Tags:

Apache のモジュール(DSO)追加 – mod_hoge.so

apache2.x に mod_hoge.so を追加したい場合(動的モジュール DSO の追加)
ちなみに、静的モジュールではいっていなか先に確認すること

/bin/httpd -l

で静的にリンクされているモデュールが表示される。
静的にリンクされているモデュールを、httpd.confに
LoadModule で既述してしまうと、

/bin/apachectl -t

とかで、エラーがでる場合があります。
まず、modulesディレクトリにファイル存在しないか確認。
ある場合は、
httpd.confに

LoadModule rewrite_module mod_rewrite.so

と記載すればOK
ない場合は、作成する必要があります。 apxs を使えばOK

/bin/apxs -ic /path/mod_cgi.c

追加したい、モジュールのCファイルを指定します。
mod_cgi.cとかは、ソースを解凍したあとのmoduleディレクトリ内にあります。
(configerまでしないとでてこないかも・・・未確認)
あとは、httpd.confのLoadModule に設定を書き込めばOK

2006.09.07

Category: Apache / Tags:

rewriteEngine の利用方法

pictnotes.jp に来たアクセスを pictnotes.ne.jp に飛ばしたい場合

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(pictnotes\.jp)(:80)?
RewriteRule ^(.*) http://www.pictnotes.ne.jp/$1 [R=301,L]

とする。

newsyslog – ログの管理(ローテーション)

freebsd に標準でついているログ管理ツール
/etc/newsyslog.conf を編集して管理する。
今回修正したいのは、apacheのログ
ログは、
/var/log/httpd/host_name/host_name-access.log
/var/log/httpd/host_name/host_name-error.log
の形式で保存
【newsyslog.confの書式】
logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
ログファイル名  所有者:グループ 権限 バックアップ数 ファイルサイズ いつ実行するか 圧縮形式 pidファイル
になってる。
logfilename は、ログ管理するファイルまでのパス
size と when は、それぞれ指定のサイズかくるか指定の時間がきたらログのローテーションを実行します。
apacheの場合、ログファイルを切り分けると、pidに対してシグナルを送ってあげないといけないので、 pid_file sig_num もあわせて設定します。
【具体的な設定例】
・日曜日の24時(月曜日の0時)にログの切り分けを行う。
・週に一回、48週間ログをためる。
・ログのパーミッションは644。
・gzipで圧縮する。
/var/log/httpd/host_name/host_name-access.log 644 48 * $W1D0 Z /var/run/httpd.pid 30

2006.07.04

Category: Apache / Tags:

logrotate の導入

下記URLを参考
http://cyberam.dip.jp/linux_foundation/systemlog/logrotate_main.html
で、freebsd に logrotate を導入(apacheのアクセスログ管理のため)
ports を利用。

ログのローテーションの種類

http://taizooo.g.hatena.ne.jp/keyword/apache%20log%20rotate
の、解説が便利です。
■ apache の log rotate の方法
* rotatelogs
o apache 付属のツール
o /usr/local/sbin/rotatelogs
o ログファイルを自動的に消さない
o log.YYYY-mm-dd といった日付をつけることができる.
* newsyslog
o FreeBSD システムツール
o /usr/sbin/newsyslog
o 指定した世代数を超えると、それより古いログファイルは自動的に削除
o log.0 , log.1 , log.2 といった名称になる
* logrotate
o ports ツリーの sysutils/logrotate
o 指定した世代数を超えると、それより古いログファイルは自動的に削除
o log.YYYY-mm-dd といった日付をつけることができる.
* daemontools
o これはある意味、飛び道具
o apache を daemontools でうごかして multilog で log をとる
– ここまで引用
こちらは、ログの名称に日時を入れたいので、logrotate か rotatelogs
を入れるようにする。

2006.07.04

Category: Apache / Tags:

htpasswordの新規登録

一番簡単にすますのなら
$ htpasswd -b password_file user_name password
とすれば一発

version – バージョンの確認方法

/bin/version.sh
windowsなら /bin/version.exe かな
を実行
$ ./version.sh
[***** *** Classpath Loaded Up]
Using CATALINA_BASE: /path/path
Using CATALINA_HOME: /path/path
Using CATALINA_TMPDIR: /path/path
Using JAVA_HOME: /usr/local/java
Version: Apache Tomcat/5.0.28

2006.07.04

Category: Apache / Tags:

version – バージョンの確認方法

2系の場合、apachectl コマンドで確認しましょう。

  Newer Entries »