apacheのアクセスログ(access_log)から必要なデータを抽出し、
解析レポートをHTML化してくれるログ解析ツールanalogをインストールします。
# pwd /var/tmp
# gunzip analog-5.91beta1.SPARC.tar.gz
# tar xvf analog-5.91beta1.SPARC.tar
...
# cd analog-5.91beta1
# ls -F
Licence.txt analog-data.dtd anlgform.pl* images/
Makefile analog.cfg docs/ lang/
README.txt analog.man examples/ logfile.log
analog* anlgform.html how-to/
src/
SPARC/Solaris用のバイナリのため特にコンパイルの必要はないが、うまく動かない場合は上記 src ディレクトリでMakefile等を修正し、makeするとよい。今回はそのまま使用する。
次に以下のように構成ファイルanalog.cfgを修正する。
# cp analog.cfg analog.cfg.org
<-- 初期状態を保存しておく
# vi analog.cfg
...
LOGFILE /usr/local/apache2/logs/access_log <--
修正
OUTFILE index.html <-- 修正
HOSTNAME "solaris-user.com" <-- 修正
LANGAGE JAPANESE <-- 追加
LANGFILE lang/jpe.lng <-- 追加
DESCFILE lang/jpedesc.txt <-- 追加
DOMAINFILE lang/jpedom.tab <-- 追加
...
ユーザアクセス用のPerlスクリプトanlgform.plを以下のように編集する。
# vi anlgform.pl
...
# Unix: $analog = '/usr/local/etc/httpd/analog-5.91beta1/analog';
$analog = '/usr/local/analog/analog-5.91beta1/analog';
...
上記のようにUnix用テンプレートにならってanalogコマンドがある場所への適切なパスを指定する。(現段階ではまだ未配置だが、最終的に上記の場所へコピーするので心配はいらない)
httpd.confへanalog用の設定を追加する。
# vi /usr/local/apache2/conf/httpd.conf
...
### for analog ###
AddHandler cgi-script .cgi .pl
Alias /analog "/usr/local/analog/analog-5.91beta1"
<Directory "/usr/local/analog/analog-5.91beta1">
Options ExecCGI Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
analog関係のファイルの配置(/usr/local/analog/analog-5.91beta1ディレクトリへコピーする)
# mkdir -p /usr/local/analog/analog-5.91beta1 # cp -R analog analog.cfg anlgform.pl lang/jpeform.html lang images /usr/local/analog/analog-5.91beta1
# cd /usr/local/analog/analog-5.91beta1
# ./analog +O- /usr/local/apache2/logs/access_log | more
※「+O-」の部分は結果を標準出力へという意味です。(ちなみに大文字のオーです。ゼロではありませんのでご注意を)
# /etc/init.d/apache restart httpd restarting. #
http://サーバ名/analog/このままだと誰でもアクセス可能なのでanalog用ディレクトリに対してのみ基本認証くらいはしておいた方がよい。当然、パスワード等垂れ流したくなかったら、ダイジェスト認証もしくはSSL等の利用も考える。
# cd /usr/local/apache2/bin
# ./htpasswd -c /usr/local/apache2/.htpasswd analog
New password: <-- パスワードの設定
Re-type new password:
#
以上の設定で/usr/local/apache2/.htpasswdファイルにユーザanalogとパスワードが格納される。(システムのアカウントユーザとは無関係)
あとは以下のようにhttpd.confを編集する。
# vi /usr/local/apache2/conf/httpd.conf
...
...
# for analog
AddHandler cgi-script .cgi .pl
Alias /analog "/usr/local/analog/analog-5.91beta1"
<Directory "/usr/local/analog/analog-5.91beta1">
Options ExecCGI Indexes MultiViews
AllowOverride None
AuthName "Analog admin only!!"
AuthType Basic
AuthUserFile /usr/local/apache2/.htpasswd
require user analog
Order allow,deny
Allow from all
</Directory>
最後にapacheの再起動で終了
# /etc/init.d/apache restart
httpd restarting.
#
このようにしておけば、アクセス時にユーザ名、パスワードを求められ、少なくとも誰でもアクセスできる状態ではなくなる。
|
Solaris 11.2 システムハンドブック |
Oracle Solaris 11 試験対策本(OCA) |