# アクセスログ解析AWStatsの導入

**URL:** <https://forum.ficusonline.com/t/awstats/27>\
**Category:** Server\
**Created:** [2016 年 10 月 6 日午後 11:07 UTC](https://forum.ficusonline.com/t/awstats/27 "2016-10-06T23:07:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)\
**Post date:** [2016 年 10 月 6 日午後 11:07 UTC](https://forum.ficusonline.com/t/awstats/27/1 "2016-10-06T23:07:27Z")

</div>

Apacheウェブサーバへのアクセスログから各種統計データをグラフィカルに表示するAWStatsをインストールします。

[https://help.ubuntu.com/community/AWStats](https://help.ubuntu.com/community/AWStats)

**1. AWStatsのインストール**

> sudo apt-get install awstats

AWStatsの設定

/etc/awstats内のawstats.confを編集します。

自分のドメイン用にオリジナルの設定ファイルをコピーします。

> cp /etc/awstats/awstats.conf /etc/awstats/awstats.yourdomain.ext.conf

ファイルを編集します。

> vi /etc/awstats/awstats.yourdomain.ext.conf

または、

> nano /etc/awstats/awstats.yourdomain.ext.conf

以下の3行を編集します。

```
  LogFile="/var/log/apache2/access.log" 
  LogFormat=1
  SiteDomain="yourdomain.ext"
  HostAliases="localhost 127.0.0.1 yourdomain.ext"

```

var/log/apache2/access.logに基づきAWStatsをアップデートします。

> /usr/lib/cgi-bin/awstats.pl -config=yourdomain.ext -update

**2. Apache2の設定**

まず初めにApacheモジュールのmod\_cgiを有効にします。

> a2enmod cgi

AWStatsのページを表示させるためApacheの設定をします。

> cd /etc/apache2/sites-available/

/etc/apache2/sites-available/\*\*\*default.conf内のVirtualHostタグに以下のコードを追加します。

```auto
    Alias /awstatsclasses "/usr/share/awstats/lib/"
    Alias /awstats-icon/ "/usr/share/awstats/icon/"
    Alias /awstatscss "/usr/share/doc/awstats/examples/css"
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    ScriptAlias /awstats/ /usr/lib/cgi-bin/
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

```

Apache2をリロードします。

> /etc/init.d/apache2 reload

以下アドレスにアクセスし確認します。

```
http://yourdomain.ext/awstats/awstats.pl

```

幾つかのドメインごとに設定ファイルを作成している場合は、

```
http://yourdomain.ext/awstats/awstats.pl?config=yourdomain.ext

```

**3. Crontabの設定**

指定ドメインごとに自動アップデートするようcrontabに記述します。

> sudo crontab -e

> 0 \*/3 \* \* \* /usr/lib/cgi-bin/awstats.pl -config=yourdomain.ext -update \> /dev/null

リンク

[http://awstats.sourceforge.net/](http://awstats.sourceforge.net/) Official AWStats website

[AWStats logfile analyzer Documentation](http://awstats.sourceforge.net/docs/index.html) Documentation

> **[AWStats Documentation - Setup page](https://awstats.sourceforge.io/docs/awstats_setup.html)**
>
> AWStats Documentation - Setup page

[http://www.awstats.org/](http://www.awstats.org/) Official AWStats website

[http://kastang.com/blog/2010/07/awstats-on-ubuntu-10-04-server/](http://kastang.com/blog/2010/07/awstats-on-ubuntu-10-04-server/) used to create this page

---

<div class="post-metadata">

**Author:** ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)\
**Post date:** [2016 年 10 月 7 日午前 12:39 UTC](https://forum.ficusonline.com/t/awstats/27/2 "2016-10-07T00:39:55Z")

</div>

セキュリティ確保のためパスワード認証します。

アクセスユーザとパスワードを設定します。

> sudo apt-get install apache2-utils

sammyというユーザの場合

> sudo htpasswd -c -b /etc/apache2/.htpasswd sammy password

Apache2のdefault.confファイル内のVirtualHostタグ内に以下追加します。

```
<Files "awstats.pl">
    AuthUserFile /etc/apache2/.htpasswd
    AuthName "Restricted Area For Customers"
    AuthType Basic
    require valid-user
</Files>  

```

または

```
<Directory "/usr/lib/cgi-bin/">
    AuthUserFile /etc/apache2/htpasswd
    AuthName "Please Enter Your Password"
    AuthType Basic
    Require valid-user
</Directory>

```

Apacheの設定をリロードして動作を確認して下さい。

> sudo service apache2 reload

---

<div class="post-metadata">

**Author:** ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)\
**Post date:** [2017 年 2 月 8 日午前 2:17 UTC](https://forum.ficusonline.com/t/awstats/27/3 "2017-02-08T02:17:29Z")

</div>

SSL対応した場合にはApacheのSSLサイト設定ファイル \*\*/etc/apache2/sites-available/\ ***ssl-default.conf** の **VirtualHost** タグ内に上記の項目を追加します。

```auto
    Alias /awstatsclasses "/usr/share/awstats/lib/"
    Alias /awstats-icon/ "/usr/share/awstats/icon/"
    Alias /awstatscss "/usr/share/doc/awstats/examples/css"
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    ScriptAlias /awstats/ /usr/lib/cgi-bin/
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

    <Files "awstats.pl">
    AuthUserFile /etc/apache2/.htpasswd
    AuthName "Restricted Area For Customers"
    AuthType Basic
    require valid-user
    </Files>

```

---

<div class="post-metadata">

**Author:** ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)\
**Post date:** [2019 年 5 月 27 日午後 1:02 UTC](https://forum.ficusonline.com/t/awstats/27/4 "2019-05-27T13:02:52Z")

</div>

**3. Crontabの設定**

www-dataにApacheログファイルの読み取り権限を付与しても、新規ログファイルが作成されると無効になり統計データに反映されません。

> **[Bug #1252467 “/etc/cron.d/awstats: wrong user for cron job” : Bugs : awstats...](https://bugs.launchpad.net/ubuntu/+source/awstats/+bug/1252467)**
>
> /etc/cron.d/awstats runs the statistics generation cron job with user "www-data". The cron job needs to access /var/log/apache2/access.log.
> 
> $ ls -al /var/log/apache2/access.log
> \-rw-r----- 1 root adm 342337 Nov 18 21:36 /var/log/apache2/access.log
> 
> $...

**awstats** という新規ユーザを作成し、このユーザをwww-data,admグループに追加します。

> $ sudo useradd awstats  
> $ sudo usermod -a -G www-data awstats  
> $ sudo usermod -a -G adm awstats

awstatsのクローンジョブユーザ名を変更します。

> $ sudo pico /etc/cron.d/awstats

```auto
#MAILTO=root

*/10 * * * * awstats [-x /usr/share/awstats/tools/update.sh] && /usr/share/awstats/tools/update.sh

# Generate static reports:
#10 03 * * * awstats [-x /usr/share/awstats/tools/buildstatic.sh] && /usr/share/awstats/tools/buil$

```

以下フォルダ内の所有権をユーザawstatsに変更します。

> $ sudo chown -R awstats:www-data /var/lib/awstats

以下スクリプトをユーザawstatsで実行します。エラーが表示されなければ統計データのアップデートは無事完了です。ブラウザで表示を確認して下さい。

> $ sudo -u awstats /usr/share/awstats/tools/update.sh

**ブラウザで任意の時間にアップデートする場合**

以下の変更でブラウザ表示画面上部にアップデートリンクが作成されます。

> $ sudo pico /etc/awstats/awstats.ficus.myvnc.com.conf

```auto
AllowToUpdateStatsFromBrowser=1

```
