適当に・・・

何の目的も無くブログを立ち上げてみました。更新は不定期ですね。

apache2.2 tomcat6.0

2010年01月03日 05時59分02秒 | Apache
apache2.2 tomcat6.0 連携

もう昔の頭じゃついて行けない。w
mod_jkとか要らないしスゲー楽。

apacheのコンパイル時に

./configure --prefix=/usr/local/httpd-2.2 --enable-proxy --enable-proxy-ajp --enable-proxy-balancer
(prefix=httpd-2.2は自分の環境にあわせて記述
proxy-balancerはバランシング用だからいらなきゃ削る)

make all
make install

でconfディレクトリの下の
extraに
httpd-proxy.confを作成
中身はマッピング

ProxyPass hoge ajp://localhost:8009/hoge

とか記述して保存して

httpd.confの下の方に
Include conf/extra/httpd-proxy.conf
を記述して保存

apacheを再起動してアクセスチェックして終了。

(tomcatの設定とか書いてないけどデフォルトで
ajp有効になってるからOKだと思う)

以上。

apache rotatelogs

2009年08月26日 09時58分55秒 | Apache
rotatelogs apacheをインストールするとついてくる。
とても便利 apacheはもちろんtomcatとかpostgresなんかに適用してログをローテーションできる。

例えばpostgresなんかの起動スクリプトのコピーを作るとき
cp PGVERSION/contrib/start-scripts /etc/rc.d/init.d/postgres

として、新規に # LOG UTILITY ROTATELOGS="/usr/local/apache/bin/rotatelogs"

パラメータを追加し、

su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1

となっているところを

su - $PGUSER -c "${DAEMON} -D '${PGDATA}' 2>&1 | ${ROTATELOGS} ${PGLOG}_%Y%m%d 86400 540 &"

とすると日付毎のログが作成される。

HUPシグナルを・・・・とか面倒だからな。

以上

mod_gzip インストール

2009年04月23日 15時38分07秒 | Apache
mod_gzipをインストールして帯域と
時間を節約しようと思う。

必要なもの
mod_gzip-1.3.26.1a.gz

tar xvzf mod_gzip-1.3.26.1a.gz
cd mod_gzip-1.3.26.1a

APXS=/usr/local/apache/bin/apxs make
APXS=/usr/local/apache/bin/apxs make install

で インストールは簡単に終了

httpd.confに

LoadModule gzip_module modules/mod_gzip.so
AddModule mod_gzip.c

以下を追加し忘れないように。www(私が書き忘れた)
Include mod_gzip.conf

を記述

mod_gzip.confを
/usr/local/apache/confに作成して

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_keep_workfiles No
mod_gzip_minimum_file_size 2000
mod_gzip_maximum_file_size 0
mod_gzip_dechunk Yes
mod_gzip_temp_dir "/tmp"
mod_gzip_item_include mime "application/x-httpd-cgi"
mod_gzip_item_include mime "application_x-httpd-php"
mod_gzip_item_include mime text/*
mod_gzip_item_include file ".shtml$"
mod_gzip_item_exclude mime "image/.*"
mod_gzip_min_http 1001
</IfModule>

で確認

/etc/init.d/httpd configtest
Syntax OKなら
/etc/init.d/httpd restart

以上

mod_chxj を 試す

2009年01月27日 11時01分57秒 | Apache
apache2.0用の携帯変換用モジュール
mod_chxjを試してみる。

用意するものは
httpd-2.0.63.tar.gzと
mod-chxj_0.12.31.src.tar

mod-chxjはapache2.0系およびapache2.2系で使えるらしいけど
apache2.0をコンパイルしてみる。(オプションは1.3系のコピーでw)
./configure --prefix=/usr/local/apache-2.0.63 --enable-shared=max --enable-module=so --enable-module=headers --enable-module=rewrite --enable-module=vhost_alias --enable-module=proxy --enable-module=usertrack

make all
make install

OKトニー
とりあえずapache2.0は入った。

次 tar xvzf mod-chxj_0.12.31.src.tar
cd mod-chxj_0.12.31

./buildconf.sh

./configure --with-apxs=/usr/local/apache2/bin/apxs

で実行・・・・

エラー キタ━━━━━━(゜∀゜)━━━━━━ !!!!!

configure: error: wand-config not found.

なんかwand-configがみあたらねーって言われてるよ。
yum -y install ImageMagick-develで
ImageMagick-develをインストール

で次のエラーw
error: apr-config and apr-1-config not found.

どんどんオプションを追加して、

./configure --with-apxs=/usr/local/apache2/bin/apxs --with
-apr-config=/usr/local/apache2/bin/apr-config --with-apu-config=/usr/local/apache2/bin/apu-config

再度ここで
error: pcre-config and pcre-1-config not found.
のエラーw

yum -y install pcre-develで
pcreインストール

再度

./configure --with-apxs=/usr/local/apache2/bin/apxs --with
-apr-config=/usr/local/apache2/bin/apr-config --with-apu-config=/usr/local/apache2/bin/apu-config

を実行
通りました。

Cookieシミュレート機能でMySQLやmemcachedで使えるらしいけど、
その辺はとりあえずデフォルトで良いから。

make all
make install

でインストール完了

httpd.confとかの変更があるから~。
マンドクセーw

/usr/local/apache2/conf/に
chxj.confを作成以下を記述
(コピーなんだけどね~w)

#====================================================================================
# モジュールをApache2.xにロード
#====================================================================================
LoadModule chxj_module modules/mod_chxj.so

#====================================================================================
# デバイスデータの設定
#====================================================================================
ChxjLoadDeviceData /usr/local/apache2/conf/chxj/device_data.xml

#====================================================================================
# 絵文字データの設定
#====================================================================================
ChxjLoadEmojiData /usr/local/apache2/conf/chxj/emoji.xml

#====================================================================================
# 変換エンジン動作指示命令
# ChxjConvRule ==> ディレクティブ
# "^/chxj.+$" ==> Perl互換のURIパターン
# EngineOn ==> 変換エンジンを動作させる指示。動作させたく無い場合は"EngineOff"
# EUC-JP ==> サーバ側の文字コード。(NONEを指定した場合は文字コード変換しない)
# EUC-JPからCP932に文字コード変換します。
#====================================================================================
ChxjConvertRule "^/chxj.+$" "EngineOn" "NONE"

でhttpd.confに

Include /usr/local/apache2/conf/chxj.conf

を記述

mkdir /usr/local/apache2/conf/chxj
cp /usr/local/src/mod-chxj_0.12.31/etc/* /usr/local/apache2/conf/chxj


/usr/local/apache2/bin/apachectl start

エラー キタ━━━━━━(゜∀゜)━━━━━━ !!!!!

Syntax error on line 4 of /usr/local/apache2/conf/chxj.conf:
Cannot load /usr/local/apache-2.0.63/modules/mod_chxj.so into server: /usr/local/apache-2.0.63/modules/mod_chxj.so: undefined symbol: SSL_set_ex_data

後でgoogle大先生に教えてもらおう

結果
apacheのコンパイルオプション足りないらしいw

--enable-ssl コレ重要w

再度一通りインストールをし
apache再起動
エラーなし。

テストは
適当なi-mode用のxhtmlを書いてみた
内容はヒミツよ~w

でローカルな環境なので当然携帯からアクセスできんわなw
最近、便利だと思い使い始めたFireFox登場
(おせーよおめぇはって言われるけどね~)

FireMobileSimulatorを入れて
3キャリアテスト。

一応ちゃんと出るようには変換されました。
絵文字の晴れだけ書いてテストもやったけど
ちゃんと表示されるし、htmlのタグもちゃんと変換してくれるっぽい。

フリーのmod_ktaiとどっちがいいのかね。

※以下 YUMEMI LABから引用
mod_ktaiは現在以下の環境で動作します。
OS:CentOS 5、RedHat Enterprise 5
ミドルウェア:Apache 2.2以上、Boost 1.33以上、ImageMagick(mod_ktai_imageを使用する場合)
CPU:i386版、x86版
※Apache、Boost、ImageMagickは、ソースからではなくパッケージからインストールしたものをご利用下さい。
ソースからインストールしたものではmod_ktaiは動作できません。
※Apacheはpreforkモードでご利用ください

だって。制約が結構多いんだね。。。。。

問題は端末情報だよね。
新しい端末情報をメンテしてくれる
サービス(有志)とかあると便利だね。

立ち上げるか?でも面倒だし、
バグあっても責任とれないしね~
気が向いたら立ち上げる。

お金払えばラウンドアバウトとかあるけど。
ライセンス料金は激高い気がする。
(400万の保守料2年目から100万だったかな?
最新端末は3営業日以内で出すと。。。)

なんでも、世の中お金だね~w

mod_chxj

2008年10月12日 20時54分08秒 | Apache
mod_chxj

mod_chxjはオープンソースの携帯向けコンテンツ変換Apache2.0用モジュールであり、CHTML(DoCoMo i-Mode用CHTML3.0)で記述された文書や通常のHTMLで記述された文書を、アクセスに来た端末のUser-Agentヘッダを見て、それぞれの端末にあった形式に変換します。HTML文書に限らず、画像(jpg、gif、png)、絵文字についても、定義ファイルに従ってそれぞれのキャリアにあった絵文字に変換します。Cookie非対応端末、Refer非対応端末のために、Set-Cookie、CookieヘッダやRefererヘッダをシミュレートすることもできます(EXPERIMENTAL)。


apache openssl mod_jk インストール手順

2008年07月05日 18時22分33秒 | Apache
モジュールの最新バージョンを
ダウンロードしてくる

apache_1.3.41.tar.gz
openssl-0.9.8g.tar.gz
mod_ssl-2.8.31-1.3.41.tar.gz
tomcat-connectors-1.2.26-src.tar.gz

■OpenSSL Compile and Install
tar xvzf openssl-0.9.8d.tar.gz
cd openssl-0.9.8g
./config --prefix=/usr/local/openssl-0.9.8g -fPIC shared
make all
make test
make install
ln -s /usr/local/openssl-0.9.8g /usr/local/openssl

/usr/local/openssl/libのパスが通ってないので
/etc/ld.so.confにライブラリのディレクトリを指定する。

vi /etc/ld.so.conf
/usr/local/openssl/libを最終行に追加
(コレでもapachectl startsslで起動できなかったので
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/libを
実行。以上で起動した。
追記 ld.so.confに記述をしたらldconfigで設定を読み込ませないと
いつまでたっても反映しない。)

■mod_ssl & Apache Compile and install
tar xvzf apache_1.3.41.tar.gz
tar xvzf mod_ssl-2.8.31-1.3.41.tar.gz
cd ./mod_ssl-2.8.31-1.3.41
./configure
--with-ssl=/usr/local/openssl
--with-apache=../apache_1.3.41
--prefix=/usr/local/apache-1.3.41-2.8.31
--enable-shared=max
--enable-module=ssl
--enable-module=so
--enable-module=headers
--enable-module=rewrite
--enable-module=vhost_alias
--enable-module=proxy
--enable-module=usertrack

cd ../apache-1.3.41
make all
make install
ln -s /usr/local/apache-1.3.41-2.8.31 /usr/local/apache

■mod_jk module Compile and install
(jdkがすでにインストールされている前提)
tar xvzf tomcat-connectors-1.2.26-src.tar.gz
cd tomcat-connectors-1.2.26-src
cd native
./configure --with-apxs=/usr/local/apache/bin/apxs --with-java-home=/usr/jdk
make all
make install

SSLを設定しているのでダミーもしくは本物のSSLの
証明書が必要
(無いとApache起動時にエラーが出力される)

もう、ブログではなくなってるw