Dell Optiplex GXa |
Solaris 8 x86 6/00 |
戻る
Analog-5.1
以前から導入しようと思っていた。
.htaccessでパスワード認証しないと、閲覧できないようする。
また、SSLで暗号化する。
※この5.1はセキュリティホールを孕んでいる。現在の最新バージョン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.1.tar.gz
http://www.analog.cx/
インストールと設定:
作業ディレクトリを作成する。
$ mkdir /opt/src/analog-5.1
作成したディレクトリに移動する。
$ cd /opt/src/analog-5.1
アーカイブをダウンロードする。
$ wget http://www.analog.cx/analog-5.1.tar.gz
ダウンロードしたアーカイブを解凍展開する。
$ tar xozf analog-5.1.tar.gz
展開されたディレクトリのsrcに移動する。
$ cd analog-5.1/src
anlghea2.hをviで開く。
$ vi anlghea2.h
以下の一行を追加して保存する。
#define ANALOGDIR "/usr/local/analog/analog-5.1/"
anlghead.hをviで開く。
$ vi anlghead.h
以下の一行を追加して保存する。
#define ANALOGDIR "/usr/local/analog/analog-5.1/"
Makefileをviで開く。
$ vi Makefile
以下の部分をSolarisに合うように書き換えて保存する。
DEFS = -DNEED_STRCMP
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.1/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.1
必要なファイルをコピー(手動インストール)する。
# cp -R analog analog.cfg anlgform.pl ./lang/jpeform.html ./lang ./images /usr/local/analog-5.1/
Apacheのconfディレクトリに移動する。
# cd /usr/local/apache/conf
httpd.confを書き換えるので念のためバックアップをとる。
# cp httpd.conf httpd.conf.020120
httpd.confをviで開く。
# vi httpd.conf
以下の内容を追加して保存する。(SSLをかませたいので、"SSL Virtual Host Context"内
に記述する。)
##############################################
Alias /analog/ "/usr/local/analog-5.1/"
AddHandler cgi-script .cgi .pl
<Directory "/usr/local/analog-5.1">
Options ExecCGI MultiViews
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
##############################################
パスワード認証を済ませないとanalogを見ることができないように、新規ファイル
「.htaccess」を作成する。
# vi /usr/local/analog-5.1/.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