雑記帳

アクセス解析「AWStats」をCPIサーバーに設置してみた

投稿日:

アクセス解析スクリプト「AWStats」は、クライアント様のアクセス解析に利用してきたのですが、サイトをリニューアルしてSSLを導入したら、アクセス解析の数値が全部「0」に。。。。。新サイトを公開した日からピタリと数値がなくなっていました。

えーーーーーーーーーっっ!(汗・汗・汗)

CPIサーバーのマニュアルで調べてみると、旧プランではHTTPのみ計測可能で、HTTPSはサービス対象外とのこと。
(新プランではHTTPとHTTPSの両方の計測が可能です)

CPIサーバーは、数年前にプランが大幅に変更になり、「容量無制限」っていう太っ腹なプランが無くなってしまいました。幸い、変更前から継続して利用しているため、今のところ旧プランのままで利用できているようです。
ただ、新プランにあって旧プランにないサービスもチラホラ(涙)

その中の1つが、アクセス解析「AWStats」でした。

そこで、この「AWStats」を自前で設定することにしたのでした。
あれこれ、テストを繰り返し、ようやく稼働したようなので手順をメモ。

 

スクリプトを入手する

「AWStats」は無料のCGIスクリプトです。
スクリプト自体は公式サイトからダウンロードできます。
AWStats公式サイト:https://awstats.sourceforge.io

最新バージョンは、2020年3月12日時点で7.7です。
ダウンロードしたZIPファイルを解凍した中味がこれ
 ↓ ↓ ↓

この中で実際に使うのは、3つだけ。

  1. urlaliasbuilder.pl…2と同じフォルダ内にアップロード
  2. cgi-binフォルダの中味全部をサーバーにアップロード
  3. icon…フォルダごと2のフォルダの中にアップロード

<実際に設置したディレクトリ構成>

html
│ └ awstats
│   ├  cgi-binの中にあったデータ全部 
│   ├  icon
│   └  urlailasbulder.pl
log

 

Configファイルを書き換える

html出力用の定義ファイルとなります。

対象ファイル

awstats-7.7 >  wwwroot >  cgi-bin >  awstats.model.conf

設定内容

ファイル名を変更する

「awstats.model.conf」の「model」部分を自分のドメイン名に変更する。

awstats.自分のドメイン名.conf

例)ドメイン名が www.example.com の場合
  awstats.www.example.com.conf

「awstats.自分のドメイン名.conf」ファイルを書き替え

●ログファイルの指定
50行目 
LogFile=”/var/log/httpd/mylog.log”

LogFile=”../../log/ssl-access_log.%YYYY-24%MM-24%DD-24″
(自分のアクセスログを指定して下さい)

62行目 LogType=W
125行目 LogFormat= 1
となっていることを確認。

●ドメイン名を指定
156行目
SiteDomain=””

SiteDomain=”自分のドメイン名”

●DNSの参照設定
191行目
DNSLookup=2

DNSLookup=1

●実行ファイルの設置場所を指定
html直下に「awstats」フォルダを作成し、関連ファイルを全部そこにアップロードしました。
229行目
DirCgi=”/cgi-bin”

DirCgi=”/awstats”

●アイコンフォルダの設置場所を指定
239行目
DirIcons=”/icon”

DirIcons=”/awstats/icon”
「icon」フォルダのアップロード先を指定

●その他の設定
256行目
AllowToUpdateStatsFromBrowser=0

AllowToUpdateStatsFromBrowser=1
ブラウザ上に「更新する」が表示される

●SkipFileの指定
解析結果の精度をあげるために、下のディレクトリやファイルを解析の対象外とする
 ・wp-login.php:ログインファイル
 ・xmlrpc.php:リモート投稿用のファイル
 ・awstats.pl:AWStats本体

514行目
SkipFiles=””

SkipFiles=”REGEX[^\/(wp-login|xmlrpc)\.php] REGEX[^\/wp-admin\/] REGEX[^\/wp-content\/] REGEX[\/awstats\.pl]”

●言語を指定
939行目
Lang=”auto”

Lang=”jp”

●プラグインを有効にする
#LoadPlugin=”urlalias”

LoadPlugin=”urlalias”
先頭文字「#」を削除する

タイトル取得プラグインスクリプトの修正
(文字化け回避の処置)

対象ファイル:urlaliasbuilder.pl

ファイルの修正

14行目
[Jcode]の追加(タイトル文字化け回避の処置)
use LWP::UserAgent;の記述を探して、次の行に[use Jcode;]を追加

use LWP::UserAgent;
use Jcode;

16行目〜18行目
my $newAliasEntry = &Generate_Alias_List_Entry($newAlias);
$fileOutput .= $newAliasEntry . “\n”;

この2行の間に、
[Jcode::convert(\$newAliasEntry, ‘utf8’);]を追加

my $newAliasEntry = &Generate_Alias_List_Entry($newAlias);
Jcode::convert(\$newAliasEntry, ‘utf8’);
$fileOutput .= $newAliasEntry . “\n”;

32行目
my $SITECONFIG = ” “

my $SITECONFIG = “自分のドメイン名 “

35行目
my $awStatsDataDir = “/var/lib/awstats”;

my $awStatsDataDir = “ファイル転送先の絶対パス”;

 

[.htaccess]を作成

plファイルをcgiとして実行させる為に[.htaccess]を作成します。

AddHandler cgi-script pl

この1行をファイル名[.htaccess]として、awstatsフォルダに保存します。
これで準備完了です。

 

データをサーバーに設置

FTPソフトでhtmlフォルダ直下に転送します。

転送作業が終わったら、以下のURLへアクセスしてください。
http://example.com/awstats/awstats.pl
※example.comは、あなたのURL

解析画面が表示されたらここまでの作業は成功です。

 

サーバー側でCRONの設定をする

サーバーのコントロールパネルにログインし、公開サイト用設定から「スクリプト定期実行ツール」を選びます。

新規登録で、awstatsファイル内の awstats.pl と urlaliasbuilder.pl の2つのファイルについて設定を追加していきます。

実行スケジュールの設定をしたら、「追加する」ボタンを押して登録します。

 

これで、全ての作業が完了です!
[http://example.com/awstats/awstats.pl]へアクセスして、解析結果が表示されていれば、成功です。

最後に、解析画面へのURLは誰でもアクセス出来るので、必要に応じてベーシック認証などで、パスワードを設定しておくとよいでしょう。

<注意>
Wordpressでは、シングル・ダブルクォーテーション「’」「”」などが自動で全角に変換されてしまうため、コードをコピペするとエラーになります。面倒ですが、適宜ご自身で修正してください。

 

参考にさせていただいたサイト
http://cyclan.org/awstats/
http://www.lab-ssk.com/wordpress-awstats-2tips-to-sanitize-results
https://boozywoozy.net/10
https://boozywoozy.net/75
http://library.denet.ad.jp/2014/07/awstats.html
https://qiita.com/devzooiiooz/items/f262eb16ac3d51d156c0
http://www.marronkun.net/linux/web/web_000085.html

本サイトの内容に誤りや不正確な記述がある場合やサンプルに基づくいかなる結果も一切の責任を負いかねますので、あらかじめご了承ください。

-雑記帳

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Eye Google Detail Face Google Logo  - geralt / Pixabay

サーチコンソールから「すべてのデータを1つのプロパティで表示できます。」というメールがきたので設定してみた|Xserverの場合

Googleサーチコンソールチームから下のようなメールがきていた。よくわからないけど、便利そうなのでやってみることにしましたが、初心者にはちょっと敷居が高かったのでメモしておく。 <届いたメールはこん …

no image

【バリュークリエイト交渉術 無料体験ワークショップ】に参加したよ。

【バリュークリエイト交渉術 無料体験ワークショップ】に参加してきました。 無料セミナーなので、バックエンド商材が待ってるんだろうなぁと予想しつつ、 グーグルをはじめ、名だたる企業が取り入れた社員教育っ …

今更ながら…タスク管理ツールを試してみる。asanaとTrelloどっちにするか?

あれこれ複数の案件を抱えていると、 うっかり作業を忘れてしまって大慌てすることがあります。 そうなると納期はないし、他の作業も遅れるし。。。と、 ロクなことがありません(汗) わかっていても、「計画を …

no image

拡張子「.egg」ファイルをMacで安全に解凍する

お客様からサイトに使用するイメージ画像が届いたけれど、 ファイル名が「○▼×…□.egg」となっていて、 どのアプリケーションで開けば良いのかわからない。 ファイルをWクリックしても開かない。 何かの …

facebookmail.comからのメールをフィッシングメールかどうか見分ける方法

先日、フェイスブックからフェイスブックページの登録住所について確認のメールが届いた。普段ならメールのリンクは踏まないのだけれど、うっかりポチってしまった!!! 届いたメールがこれ ↓ ↓ ↓ &nbs …

サイト制作・グラフィック制作をしているデザイナーです。制作で躓いたことの備忘録としてこのブログを始めました。
たくさんの検索結果から、実際に何度も何度も自分で試してみて、自分に合うなと思った方法やうまくいった方法をこのブログに書き留めています。
プログラム関係のことはもっぱらコピペ派。
自分でゴリゴリ書くことはできません。。。プログラムが分かる人がうらやましいです。
そんな私でもなんとかサイト制作ができるのはグーグル先生と貴重な情報をおしげもなく公開してくださっているたくさんの方々のおかげ。
有志のみなさまに日々感謝しつつ制作させていただいています。