From b48f6cb313d338a6214cd56e4e45c7c64b7537c3 Mon Sep 17 00:00:00 2001 From: Nishant Limbachia Date: Wed, 12 May 2010 23:31:57 +0200 Subject: network/awstats: Added to 12.2 repository --- network/awstats/README | 26 +++++++ network/awstats/awstats.SlackBuild | 86 ++++++++++++++++++++++ network/awstats/awstats.info | 8 ++ network/awstats/doinst.sh | 22 ++++++ network/awstats/patches/awstats_configure.pl.patch | 55 ++++++++++++++ network/awstats/patches/httpd-awstats.conf.patch | 39 ++++++++++ network/awstats/slack-desc | 19 +++++ 7 files changed, 255 insertions(+) create mode 100644 network/awstats/README create mode 100644 network/awstats/awstats.SlackBuild create mode 100644 network/awstats/awstats.info create mode 100644 network/awstats/doinst.sh create mode 100644 network/awstats/patches/awstats_configure.pl.patch create mode 100644 network/awstats/patches/httpd-awstats.conf.patch create mode 100644 network/awstats/slack-desc (limited to 'network/awstats') diff --git a/network/awstats/README b/network/awstats/README new file mode 100644 index 0000000000..d790a9a2db --- /dev/null +++ b/network/awstats/README @@ -0,0 +1,26 @@ +AWStats is a free, powerful and featureful tool that generates advanced web +streaming, ftp or mail server statistics, graphically. AWStats works as a +CGI or from command line and shows you all possible information your log +contains, in few graphical web pages. It can analyze log files from all +major server tools like Apache log files and a lot of other web, proxy, +wap, streaming servers, mail servers and some ftp servers. + +There's an automated script (awstats_configure.pl) to prepare the httpd +config file located in DOCROOT/awstats/tools/ - however, you should not +need/want to run it; instead, everything should work well if you make the +changes listed below. + +Edit /etc/httpd/httpd.conf (this is a required change to use AWStats): +Comment this out: CustomLog "/var/log/httpd/access_log" common +Uncomment this: CustomLog "/var/log/httpd/access_log" combined + +Short How-to for using AWStats as CGI: + +Add the following include line /etc/httpd/httpd.conf: +Include /etc/httpd/extra/httpd-awstats.conf + +Then restart httpd: "/etc/rc.d/rc.httpd restart" + +A sample config file will be placed in /etc/awstats; please read it and +make the necessary changes for your system. To run awstats, please refer +to the documentation in the package. diff --git a/network/awstats/awstats.SlackBuild b/network/awstats/awstats.SlackBuild new file mode 100644 index 0000000000..8e8a53db4b --- /dev/null +++ b/network/awstats/awstats.SlackBuild @@ -0,0 +1,86 @@ +#!/bin/sh + +# Slackware Package Build Script for awstats +# Home Page http://awstats.sourceforge.net/ + +# Copyright (c) 2009, Nishant Limbachia (nishant@mnspace.net) +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of script must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified by the SlackBuilds.org project. + +PRGNAM=awstats +VERSION=6.9 +ARCH=${ARCH:-noarch} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +DOCROOT=${DOCROOT:-/var/www/htdocs} + +AWUSER=${AWUSER:-root} +AWGROUP=${AWGROUP:-apache} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -eu + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Patch httpd_conf file supplied by awstats to correct paths +sed s:@DOCROOT@:$DOCROOT: $CWD/patches/httpd-awstats.conf.patch | patch -p0 +# Patch awstats_configure.pl file -- see patch header for details +sed s:@DOCROOT@:$DOCROOT: $CWD/patches/awstats_configure.pl.patch | patch -p0 + +mkdir -p $PKG/$DOCROOT/awstats $PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKG/etc/awstats $PKG/etc/httpd/extra +mkdir -m 0770 -p $PKG/var/lib/awstats + +cp -a README.TXT docs/* $PKG/usr/doc/$PRGNAM-$VERSION +cp -a tools wwwroot $PKG/$DOCROOT/awstats +install -m 0644 wwwroot/cgi-bin/awstats.model.conf $PKG/etc/awstats +cat tools/httpd_conf >> $PKG/etc/httpd/extra/httpd-awstats.conf.new + +# Create a symlink +mkdir -p $PKG/usr/bin +ln -sf ${DOCROOT}/awstats/wwwroot/cgi-bin/awstats.pl $PKG/usr/bin/awstats.pl + +# Change ownership and perms +chown -R $AWUSER:$AWGROUP $PKG/$DOCROOT/$PRGNAM $PKG/var/lib/awstats + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/network/awstats/awstats.info b/network/awstats/awstats.info new file mode 100644 index 0000000000..8787737260 --- /dev/null +++ b/network/awstats/awstats.info @@ -0,0 +1,8 @@ +PRGNAM="awstats" +VERSION="6.9" +HOMEPAGE="http://awstats.sourceforge.net/" +DOWNLOAD="http://downloads.sourceforge.net/awstats/awstats-6.9.tar.gz" +MD5SUM="fc19dbb8449eccf3300efb30ca3376cb" +MAINTAINER="Nishant Limbachia" +EMAIL="nishant@mnspace.net" +APPROVED="dsomero,rworkman" diff --git a/network/awstats/doinst.sh b/network/awstats/doinst.sh new file mode 100644 index 0000000000..98ec8af0f0 --- /dev/null +++ b/network/awstats/doinst.sh @@ -0,0 +1,22 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# Keep same perms on rc.heimdal: +if [ -e etc/httpd/extra/httpd-awstats.conf.new ]; then + cp -a etc/httpd/extra/httpd-awstats.conf.new etc/httpd/extra/httpd-awstats.conf.new.incoming + cat etc/httpd/extra/httpd-awstats.conf.new > etc/httpd/extra/httpd-awstats.conf.new.incoming + mv etc/httpd/extra/httpd-awstats.conf.new.incoming etc/httpd/extra/httpd-awstats.conf.new +fi + +config etc/httpd/extra/httpd-awstats.conf.new + diff --git a/network/awstats/patches/awstats_configure.pl.patch b/network/awstats/patches/awstats_configure.pl.patch new file mode 100644 index 0000000000..2f1e51f5c3 --- /dev/null +++ b/network/awstats/patches/awstats_configure.pl.patch @@ -0,0 +1,55 @@ +By Nishant Limbachia + +Patch awstats_configure.pl file in case somebody runs it. +Following things are patched: +1. Use correct paths +2. Stop awstats_configure.pl to get the current working directory + on first run (use standard path instead) +3. Added support to restart httpd server for Slackware + +--- tools/awstats_configure.pl.orig 2009-01-27 13:23:05.000000000 -0600 ++++ tools/awstats_configure.pl 2009-01-27 13:36:46.000000000 -0600 +@@ -28,16 +28,14 @@ + $AWSTATS_MODEL_CONFIG + $AWSTATS_DIRDATA_PATH + /; +-$AWSTATS_PATH=''; +-$AWSTATS_ICON_PATH='/usr/local/awstats/wwwroot/icon'; +-$AWSTATS_CSS_PATH='/usr/local/awstats/wwwroot/css'; +-$AWSTATS_CLASSES_PATH='/usr/local/awstats/wwwroot/classes'; +-$AWSTATS_CGI_PATH='/usr/local/awstats/wwwroot/cgi-bin'; ++$AWSTATS_PATH='@DOCROOT@/awstats'; ++$AWSTATS_ICON_PATH='$AWSTATS_PATH/wwwroot/icon'; ++$AWSTATS_CSS_PATH='$AWSTATS_PATH/wwwroot/css'; ++$AWSTATS_CLASSES_PATH='$AWSTATS_PATH/wwwroot/classes'; ++$AWSTATS_CGI_PATH='$AWSTATS_PATH/wwwroot/cgi-bin'; + $AWSTATS_MODEL_CONFIG='/etc/awstats/awstats.model.conf'; # Used only when configure ran on linux + $AWSTATS_DIRDATA_PATH='/var/lib/awstats'; # Used only when configure ran on linux + +- +- + #------------------------------------------------------- + # Defines + #------------------------------------------------------- +@@ -306,7 +304,7 @@ + print "\n-----> Running OS detected: $OSLib{$OS}\n"; + + if ($OS eq 'linux') { +- $AWSTATS_PATH=`pwd`; $AWSTATS_PATH =~ s/[\r\n]//; ++ $AWSTATS_PATH =~ s/[\r\n]//; + $AWSTATS_PATH=~s/tools[\\\/]?$//; + $AWSTATS_PATH=~s/[\\\/]$//; + if ($AWSTATS_PATH ne '/usr/local/awstats') { +@@ -662,6 +660,12 @@ + print "\n-----> Restart Web server with '$command'\n"; + my $ret=`$command`; + print "$ret"; ++ } if (-f "/etc/slackware-version") { ++ # We are on Slackware :) ++ my $command="/etc/rc.d/rc.httpd restart"; ++ print "\n-----> Restart Web server with '$command'\n"; ++ my $ret=`$command`; ++ print "$ret"; + } elsif (-x "/sbin/service") { + # We are not on debian + my $command="/sbin/service httpd restart"; diff --git a/network/awstats/patches/httpd-awstats.conf.patch b/network/awstats/patches/httpd-awstats.conf.patch new file mode 100644 index 0000000000..da4edd5de2 --- /dev/null +++ b/network/awstats/patches/httpd-awstats.conf.patch @@ -0,0 +1,39 @@ +By Nishant Limbachia +1. Fixup paths for SlackBuilds.org +2. Tighten default access mode + +--- tools/httpd_conf.orig 2009-01-27 10:41:54.000000000 -0600 ++++ tools/httpd_conf 2009-01-27 15:04:31.000000000 -0600 +@@ -1,23 +1,19 @@ + # +-# Content of this file, with correct values, can be automatically added to +-# your Apache server by using the AWStats configure.pl tool. +-# +- +-# + # Directives to add to your Apache conf file to allow use of AWStats as a CGI. +-# Note that path "/usr/local/awstats/" must reflect your AWStats install path. + # +-Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/" +-Alias /awstatscss "/usr/local/awstats/wwwroot/css/" +-Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/" +-ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/" ++ ++Alias /awstatsclasses "@DOCROOT@/awstats/wwwroot/classes/" ++Alias /awstatscss "@DOCROOT@/awstats/wwwroot/css/" ++Alias /awstatsicons "@DOCROOT@/awstats/wwwroot/icon/" ++ScriptAlias /awstats/ "@DOCROOT@/awstats/wwwroot/cgi-bin/" + + # + # This is to permit URL access to scripts/files in AWStats directory. + # +- ++ + Options None + AllowOverride None +- Order allow,deny +- Allow from all ++ Order deny,allow ++ Deny from all ++ Allow from localhost + diff --git a/network/awstats/slack-desc b/network/awstats/slack-desc new file mode 100644 index 0000000000..d7c36e5d30 --- /dev/null +++ b/network/awstats/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +awstats: awstats (log analyzer) +awstats: +awstats: AWStats is a free powerful and featureful tool that generates +awstats: advanced web streaming, ftp, or mail server statistics graphically. +awstats: AWStats works as a CGI or from command line and shows you all +awstats: possible information your log contains, in few graphical web pages. +awstats: It can analyze log files from all major server tools like Apache +awstats: log files and a lot of other web, proxy, wap, streaming servers, +awstats: mail servers, and some ftp servers. +awstats: +awstats: -- cgit v1.2.3