Dell Optiplex GXa Solaris 8  x86  6/00

戻る




Analog-5.22


以前のAnalogにセキュリティホールが見つかったらしいので、バージョンアップする。

.htaccessでパスワード認証しないと、閲覧できないようする。
また、SSLで暗号化する。

※現在の最新バージョンがこの5.22だが、検索語レポートの日本語表示パッチはまだ作られていない。


参考:
	http://www.jp.analog.cx/
	http://www.jp.analog.cx/cmplunix.html
	http://www.jp.analog.cx/jp5.01/
	http://www.jp.analog.cx/jp5.01/logfmt.html


必要なソフトウェア:
	analog-5.22.tar.gz
	http://www.analog.cx/


インストールと設定:

作業ディレクトリを作成する。
	$ mkdir /opt/src/analog-5.22

作成したディレクトリに移動する。
	$ cd /opt/src/analog-5.22

アーカイブをダウンロードする。
	$ wget http://www.analog.cx/analog-5.22.tar.gz

ダウンロードしたアーカイブを解凍展開する。
	$ tar xozf analog-5.22.tar.gz

展開されたディレクトリのsrcに移動する。
	$ cd analog-5.22/src

anlghea2.hをviで開く。
	$ vi anlghea2.h

以下の一行を追加して保存する。
	#define ANALOGDIR "/usr/local/analog/analog-5.22/"

anlghead.hをviで開く。
	$ vi anlghead.h

以下の一行を追加して保存する。
	#define ANALOGDIR "/usr/local/analog/analog-5.22/"

Makefileをviで開く。
	$ vi Makefile

以下の部分をSolarisに合うように書き換えて保存する。
	DEFS = -DNEED_STRCMP
	LIBS = -lnsl -lm

1つ上のディレクトリに移動する。
	$ cd ..

langディレクトリ内のjpeform.htmlをviで開く。
	$ vi ./lang/jpeform.html

以下の部分を以下のように書き換えて保存する。
	<h1><img src="images/analogo.gif" alt="">
	<form action="/analog/anlgform.pl" method="POST">
	<!-- input type=hidden name="LOGFILE" value="/var/log/apache/access_log" -->

anlgform.plをviで開く。
	$ vi anlgform.pl

以下の部分を以下のように書き換えて保存する。
	#!/usr/local/bin/perl -T
	Unix: $analog = '/usr/local/analog-5.22/analog';

alanog.cfgをviで開く。
	$ vi analog.cfg

以下のように書き換えて保存する。
	LANGUAGE JAPANESE
	LOGFORMAT (%S - %u [%d/%M/%Y:%h:%n:%j %j] "%j %r %j" %c %b "%B" %f)	<--新規追加記述)
	LOGFILE /var/log/apache/access_log
	HOSTNAME "[domain.com]"
	HOSTURL "http://www.domain.com/
	REFREPEXCLUDE http://www.domain.com/*,https://www.domain.com/*	<--新規追加記述)
	HOSTEXCLUDE dell*						<--新規追加記述)
	FILEEXCLUDE /images/*,*/count/*,*.gif,*.jpg,/default.id*	<--新規追加記述)


※ 今回もっとも頭を悩ませたのが、上記analog.cfgの"LOGFORMAT"。apacheのhttpd.confの
CustomLogでデフォルトとは違うログの書式にしてしまったため、その書式にあわせた
LOGFORMATを設定しないと、うまくレポートを吐き出してくれなかった。自サイトの
access_logの内容をしっかりと把握して、http://www.jp.analog.cx/jp5.01/logfmt.html
を参考に記述する。また、REFREPEXCLUDE  HOSTEXCLUDE  FILEEXCLUDE についても、
http://www.jp.analog.cx/jp5.01/ を参照しながら設定する。


コンパイルする。
	$ make

SuperUserになる。
	$ su
	# Password:

analog用のディレクトリを作成する。
	# mkdir /usr/local/analog-5.22

必要なファイルをコピー(手動インストール)する。
	# cp -R analog analog.cfg anlgform.pl ./lang/jpeform.html ./lang ./images /usr/local/analog-5.22/

Apacheのconfディレクトリに移動する。
	# cd /usr/local/apache/conf

httpd.confを書き換えるので念のためバックアップをとる。
	# cp httpd.conf httpd.conf.020030

httpd.confをviで開く。
	# vi httpd.conf


以下の内容を追加して保存する。(SSLをかませたいので、"SSL Virtual Host Context"内
に記述する。)
	##############################################
	Alias /analog/ "/usr/local/analog-5.22/"
	AddHandler cgi-script .cgi .pl

	<Directory "/usr/local/analog-5.22">
	    Options ExecCGI MultiViews
	    AllowOverride AuthConfig
	    Order allow,deny
	    Allow from all
	</Directory>
	##############################################


パスワード認証を済ませないとanalogを見ることができないように、新規ファイル
「.htaccess」を作成する。
	# vi /usr/local/analog-5.22/.htaccess

以下のように記述して保存する。
	AuthUserFile /export/home/you/cgi-data/.htpasswd
	AuthGroupFile /dev/null
	AuthName "ユーザー名とパスワードを入力してOKを押してね。"
	AuthType Basic
	require user you

httpdを再起動させる。
	# /etc/rc2.d/S99httpd restart
	# exit
	$

端末のブラウザから以下のURLにアクセスして動作確認する。
	https://www.domain.com/analog/jpeform.html
	https://www.domain.com/analog/anlgform.pl