Apache

Apache2 + mod_perl2 環境で再起動するまでメモリ使用量が増え続ける問題の解決策

とあるアプリケーションを Apache2 + mod_perl2 の1層構造で運用していたところ、 httpd プロセスがメモリを消費しつづけ解放せず、ログローテートのタイミングでメモリが解放される現象がありました。 原因は MaxRequestsPerChild の設定にありました。 運…

リバースプロキシ先で、リモートIPアドレスを取得する方法

バックエンドが Apache2 + mod_perl2 の環境で、リバープロキシ先のバックエンド側で、リモートIPアドレスを取得する方法 if ( $r->subprocess_env->{HTTP_X_FORWARDED_FOR} ) { my @clients = split( /,/, $r->subprocess_env->{HTTP_X_FORWARDED_FOR} ); $…

Catalystアプリケーションを mod_perl1 で

Catalystアプリケーションを mod_perl 環境で動作させるための設定をメモ。 ・前提条件 Apache1.3 + mod_perl1 がインストール済み。 ・Apacheに設定を追加 Port 8080 +<Location /catalyst> + SetEnv PERL5LIB ライブラリのPATHを列挙 + + SetHandler perl-script + PerlHandler</location>…

(98)Address already in use: make_sock: could not bind to address [::]:80

Apache2.2 を起動しようとしたら以下のエラーが出力されて、起動できませんでした。 # ./bin/apachectl start (98)Address already in use: make_sock: could not bind to address [::]:80 (98)Address already in use: make_sock: could not bind to addres…

Apache + SSI が改行される

Apache で SSI を利用しているんですが、ブラウズ後のHTMLソースを見ると改行されています。 JavaScript に渡す値を SSI で実装していて困りました。 問題点 JavaScriptの変数を "(ダブルクォート)で囲まないと、IE6 で JavaScript のエラーと判定される。 …

Apache2.0 + mod_perl2 で Class::DBI のキャッシュを防ぐ

Apache2.0 + mod_perl2 の環境で、Class::DBI を利用したところ、 Class::DBIがどうにもデータをキャッシュして困りました。 調べたところ yappo さんのところで解決策を発見しました。 http://blog.yappo.jp/yappo/archives/000284.html 解決策 $Class::DBI…

解決! Apache2.0.x + mod_perl2.0.x インストール[2]

前回は、make test でエラーになっていました。 $ make test ... t/apache/util...........................FAILED tests 1-4 Failed 4/8 tests, 50.00% okay ... Failed Test Stat Wstat Total Fail Failed List of Failed - t/apache/util.t 8 4 50.00% 1-…

Apache2.2.x + mod_perl2.0.x インストール[1]

Apache2.2.x + mod_perl2.0.x のインストールで以下のエラーが発生しました。 $ make test ... t/apache/util...........................FAILED tests 1-4 Failed 4/8 tests, 50.00% okay ... 検索しても解決方法が出てこなくて。。 上記のエラーは、静的に…

mod_rewrite で ファイルが無ければバックエンドに飛ばす

フロントエンドにアクセスされた場合、ファイルであればそのまま返却して、 ファイルが無ければ、バックエンドに処理をまわすリライト構文。 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ http://127.0.0.1:8080/app?id=$1 [L…

mod_perl2 でアプリケーション

Apache2 + mod_perl2 環境でアプリケーションを作成する方法です。 ・環境 Apache - 2.0.59 mod_perl - 2.0.3 ・インストール 省略.. ・httpd.conf /perl でアクセスされたら、ModPerl2.pm を呼ぶ設定 PerlModule mod_perl2 PerlRequire /home/own/perl/lib/…

[notice] child pid 12143 exit signal Segmentation fault (11)

Apache1.3 + mod_perl を構築して、/(ルート)にアクセスした時点でエラーが発生しました。 logs/error_log [notice] child pid 17208 exit signal Segmentation fault (11) googleで検索するとPHP関連が多くHitしましたが、今回はPHPはインストールしていま…

shared object not open

Apache2.0.x で PHP4.1.x を使おうとして Apache が起動できなくなりました。 ・エラーメッセージ # bin/apachectl configtest Syntax error on line 235 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp4.so into s…

TRACEメソッドをOffにする方法

■Traceメソッドとは? クライアントが送信したリクエストをそのまま返す機能 ■Traceメソッドを利用した攻撃方法 「クロスサイトトレーシング」というものがあります。 これは、クライアントにTRACEメソッドを発行するように仕向け、そのレスポンスを なんら…

tracをmod_pythonで動かす

http://dev.guesswork.jp/guesswork-classic/wiki/TracModPythonを参考にプロジェクトのパス以外は記述されたとおりに設定しました。 自分のところではCGIと比べて体感でも十分早くなりました。かなりのストレス軽減です。簡単に設定できるしオススメ。

Apache2.2 mod_status を弄ってみる

Apache2.2のmod_statusを使うと簡単にApacheの状態を見ることができるということで設定してみました。 conf/httpd.conf にmod_statusの記述を追加する SetHandler server-status Order Deny,Allow Deny from all Allow from allアクセス http://localhost/se…

null: Parsing of undecoded UTF-8 will give garbage when decoding entities at /home/someone/cpan-lib/HTML/FillInForm.pm line 86, line 1.

HTML::FillInFormを使っていたら動作はしますが、Apacheのエラーログにログが出力されました。 エラーログ null: Parsing of undecoded UTF-8 will give garbage when decoding entities at /home/someone/cpan-lib/HTML/FillInForm.pm line 86, <GEN0> line 1.per</gen0>…

MTのApacheを最新の2.2系にしたんだけど遅くなった。。

MTを今までは1.3系の上に置いていました。 折角なので2.2系に乗せ変えましたが、体感だけど大分遅くなってしまった。。 ※1.3系でmod_perlとかfcgiとかにはしてないapache2.2.0インストール wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.…

Apache + WebDAV + Basic認証でファイルサーバを構築する

ファイルサーバを構築することになり、下記の環境で構築することにしました。 [環境] Apache 2.0.55(最新) WebDAV(mod_dav) Basic認証 ブラウザ上で動作させる分には上手くいくんですが、Basic認証を掛けてWindows上でエクスプローラからアクセスすると上手…

Apache1.3系でmod_sslをインストールできるか確認する

DSOでインストール済みのApache1.3.34にmod_sslをインストールできるか確認する方法このとき、opensslを/usr/local/sslにインストール済みとする。 $ cd /usr/local/src $ wget http://www.modssl.org/source/mod_ssl-2.8.25-1.3.34.tar.gz $ tar xvfz mod_s…

init.d に apacheを登録する

やること /etc/init.d/ へapacheスクリプトを配置する chkconfigでランレベルを設定する (例) apachectlを/etc/init.dへ配置する(Apache を prefix=/usr/local/apache でインストール済みとする) $ su # cp /usr/local/apache/bin/apachectl /etc/init.d/apa…

SOAP::Lite x mod_perl で エラー(Unexpected Content-Type '' returned)

SOAP::Lite x mod_perl 環境下で "Unexpected Content-Type '' returned" が返される問題。 mod_perlを利用せず、CGIなら動作する。 ・原因 SOAP::Lite のバージョンが古かった(v0.55) ・解決方法 SOAP::Lite のバージョンをv0.60a以上にする リリースノート