Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
AWStatsのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
AWStats
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{DISPLAYTITLE:AWStats}} [[Category:ウェブサーバー]] [[en:AWStats]] [http://awstats.sourceforge.net/ AWStats - Free log file analyzer for advanced statistics] より: :''AWStats はウェブ・ストリーミング・ftp・メールサーバーの統計をグラフィカルに生成することができるフリーな強力かつ機能豊富なツールです。ログアナライザーとして CGI あるいはコマンドラインからログに含まれている全ての情報をグラフィカルなウェブページに表示できます。部分的な情報ファイルを使うことで巨大なログファイルを高速に処理することが可能です。解析できるログファイルは Apache ログファイル (NCSA combined/XLF/ELF ログ形式や common/CLF ログ形式), WebStar, IIS (W3C log format) あるいはウェブ・プロキシ・WAP・ストリーミングサーバー・メールサーバー・FTP サーバーなどのあらゆるサーバーツールにわたります。 == インストール == {{Pkg|awstats}} パッケージを[[インストール]]してください。ウェブサーバーとして [[Apache]] を使用するときは、{{AUR|mod_perl}} パッケージも必要です。 == 設定 == === Apache の mod_perl を有効化 === Apache で {{ic|mod_perl}} を有効にするには、Apache の設定ファイル ({{ic|/etc/httpd/conf/httpd.conf}}) に以下の行を追加します: LoadModule perl_module modules/mod_perl.so === AWStats 用にログを作成するように Apache を設定 === デフォルトでは AWStats を使うには Apache のアクセスログを 'combined' で記録する必要があります。挙動を変更するのでないかぎり、アクセスログの形式を 'combined' に設定するようにしてください。Apache の設定を以下のようにします: <VirtualHost *:80> ServerAdmin zxc@returnfalse.net DocumentRoot "/srv/http/xxx" ServerName www.returnfalse.net ErrorLog "/var/log/httpd/returnfalse-error_log" CustomLog "/var/log/httpd/returnfalse-access_log" combined </VirtualHost> 重要な行は以下のところです: CustomLog "/var/log/httpd/returnfalse-access_log" combined {{Warning|既に別の形式でアクセスログを取っていた場合、AWStats はログが読み込めないとエラーを吐きます。Apache のログフォーマットを変更したら、AWStats が読み込めるように古いログファイルを削除してください。}} === Apache の設定で AWStats の設定を読み込む === ログフォーマットを設定したら、次は AWStats の設定ファイルを Apache に記述します。AUR のパッケージにはデフォルトの設定ファイルが付属しており、問題なく動作します。設定を自分で作成したい場合、デフォルト設定は以下の通りです: Alias /awstatsclasses "/usr/share/webapps/awstats/classes/" Alias /awstatscss "/usr/share/webapps/awstats/css/" Alias /awstatsicons "/usr/share/webapps/awstats/icon/" ScriptAlias /awstats/ "/usr/share/webapps/awstats/cgi-bin/" <Directory "/usr/share/webapps/awstats"> Options None AllowOverride None Require all granted </Directory> 次のファイルを Apache のメイン設定でインクルードしてください (AUR の場合、パスは {{ic|/etc/httpd/conf/extra/httpd-awstats.conf}} です): Include conf/extra/httpd-awstats.conf 上記の設定を全て完了したら、Apache を再起動してから http://localhost/awstats/awstats.pl を開くことで AWStats を確認できます。 最後に、AWStats でログを読み込んで統計に変換します。 === AWStats の設定 === パッケージには AWStats で表示する統計を毎時間更新するスクリプトが付いています。このスクリプトは {{ic|/etc/awstats}} にある AWStats の設定ファイルを読み込んで、そこに定義されているサイトの統計を更新します。設定ファイルを作成する代わりに、AWStats の設定ツールを使うことができます。次のコマンドを実行して指示に従ってください: perl /usr/share/awstats/tools/awstats_configure.pl 設定ファイルを作成したら、手動で修正する箇所が一つだけ存在します。{{ic|awstats_configure.pl}} によって作成された設定ファイルをお好きなテキストエディタで開いてください。{{ic|LogFile}} 変数が定義されている行を探して、Apache のアクセスログのパスを設定してください (先に 'combined' 形式でログ出力すると設定したパス): LogFile=/var/log/httpd/returnfalse-access_log スクリプトを実行して結果を確認してください。たとえば {{ic|/etc/awstats/awstats.apache.conf}} であれば、以下のコマンドを実行: /usr/share/awstats/tools/awstats_buildstaticpages.pl config=apache -update -awstatsprog=/usr/share/webapps/awstats/cgi-bin/awstats.pl -dir=/srv/http/awstats {{Warning|上記の設定では誰でも AWStats にアクセスできてしまいます。認証を設定することで統計情報を非公開にできます。}} == Nginx == 使用しているウェブサーバーソフトウェアが nginx の場合、以下の手順に従ってください: 1. 上記の通り awstats をインストールしてください。以下のコマンドでフォルダとファイルの所有者は "http" に、所有グループは "http" にする必要があります: # chown -R http:http /usr/share/webapps/awstats/ 2. awstats 設定ツールを使ってサイト設定ファイルを生成してください。以下の行が正しく設定されていることを確認します: LogFile="/var/log/nginx/access.log" LogFormat=1 3. nginx で awstats の Perl スクリプトを動作させるため、以下のコードで {{ic|/etc/nginx/cgi-bin.php}} スクリプトを作成: <?php $descriptorspec = array( 0 => array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => array("pipe", "w") // stderr is a file to write to ); $newenv = $_SERVER; $newenv["SCRIPT_FILENAME"] = $_SERVER["X_SCRIPT_FILENAME"]; $newenv["SCRIPT_NAME"] = $_SERVER["X_SCRIPT_NAME"]; if (is_executable($_SERVER["X_SCRIPT_FILENAME"])) { $process = proc_open($_SERVER["X_SCRIPT_FILENAME"], $descriptorspec, $pipes, NULL, $newenv); if (is_resource($process)) { fclose($pipes[0]); $head = fgets($pipes[1]); while (strcmp($head, "\n")) { header($head); $head = fgets($pipes[1]); } fpassthru($pipes[1]); fclose($pipes[1]); fclose($pipes[2]); $return_value = proc_close($process); } else { header("Status: 500 Internal Server Error"); echo("Internal Server Error"); } } else { header("Status: 404 Page Not Found"); echo("Page Not Found"); } ?> 4. nginx のドメイン設定ファイルに以下のディレクティブを追加: location ^~ /awstatsicons { alias /usr/share/webapps/awstats/icon/; access_log off; } location ^~ /awstatscss { alias /usr/share/webapps/awstats/examples/css/; access_log off; } location ^~ /awstatsclasses { alias /usr/share/webapps/awstats/examples/classes/; access_log off; } location ~ ^/cgi-bin/.*\.(cgi|pl|py|rb) { gzip off; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index cgi-bin.php; fastcgi_param SCRIPT_FILENAME /etc/nginx/cgi-bin.php; fastcgi_param SCRIPT_NAME /cgi-bin/cgi-bin.php; fastcgi_param X_SCRIPT_FILENAME /usr/share/webapps/awstats$fastcgi_script_name; fastcgi_param X_SCRIPT_NAME $fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param REMOTE_USER $remote_user; } 5. サイトの awstats ページには <nowiki>"http://your_domain.com/cgi-bin/awstats.pl?config=your_domain.com"</nowiki> からアクセスできます。任意で、nginx のサイト設定ファイルに以下の rewrite ルールを追加しても良いでしょう: location ~ ^/awstats { rewrite ^ <nowiki>http://your_domain.com/cgi-bin/awstats.pl?config=your_domain.com</nowiki>; } 上記の設定で、ブラウザのアドレスバーに <nowiki>"http://your_domain.com/awstats"</nowiki> と入力するだけで awstats のページにアクセスできるようになります。 == 統計情報の作成 == 以下のコマンドを実行することで手動でサイトの最新統計を生成できます: /usr/share/awstats/tools/awstats_updateall.pl now -awstatsprog=/usr/share/webapps/awstats/cgi-bin/awstats.pl 上記の生成は cron で自動化できます。AWStats の cron テンプレートを見てください: {{ic|/usr/share/doc/awstats-7.5/cron.hourly}}。ただし、logrotate を使っている場合、cron ジョブは logrotate が実行される前に起動する必要があります。logrotate によってログファイルの名前が変わって awstats からアクセスできなくなると統計情報が生成できません。{{ic|/etc/logrotate.d}} に存在するウェブサーバーの logrotate スクリプトを使って awstats を呼び出すと良いでしょう。nginx の logrotate スクリプトの例を以下に示します。''prerotate'' ディレクティブを追加しています: /var/log/nginx/*log { daily missingok notifempty create 640 http log compress sharedscripts prerotate # Trigger awstats computation /usr/share/awstats/tools/awstats_updateall.pl now -awstatsprog=/usr/share/webapps/awstats/cgi-bin/awstats.pl endscript postrotate test ! -r /run/nginx.pid || kill -USR1 `cat /run/nginx.pid` endscript } == GeoIP (任意) == geo ip のサポートを追加するには、 <nowiki>Geo::IP</nowiki> モジュールを cpan を利用してインストールしてください。さらなる詳細は [[Perl#CPAN.pm]] を参照してください。あるいは、[[AUR]] から {{AUR|perl-geoip}} をインストールします。{{ic|/etc/awstats/}} にある awstats のサイト設定ファイルに以下の行を追加してください: LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat" == 参照 == * [[mod_perl]] - Apache + Perl
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Box
(
ソースを閲覧
)
テンプレート:META Box Red
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
AWStats
に戻る。
検索
検索
AWStatsのソースを表示
話題を追加