initial commit of file from CVS for smeserver-sarg on Sat Sep 7 21:03:26 AEST 2024

This commit is contained in:
Trevor Batley 2024-09-07 21:03:26 +10:00
parent 2a1dfb967c
commit ab07cfea54
28 changed files with 2023 additions and 2 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*.rpm
*.log
*spec-20*
*.tar.gz

21
Makefile Normal file
View File

@ -0,0 +1,21 @@
# Makefile for source rpm: smeserver-sarg
# $Id: Makefile,v 1.1 2022/08/20 03:10:59 jpp Exp $
NAME := smeserver-sarg
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -1,3 +1,17 @@
# smeserver-sarg # <img src="https://www.koozali.org/images/koozali/Logo/Png/Koozali_logo_2016.png" width="25%" vertical="auto" style="vertical-align:bottom"> smeserver-sarg
SMEServer Koozali developed git repo for smeserver-sarg smecontribs SMEServer Koozali developed git repo for smeserver-sarg smecontribs
## Wiki
<br />https://wiki.koozali.org/Sarg
<br />https://wiki.koozali.org/Sarg/fr
<br />https://wiki.koozali.org/Wiki/Sarg/fr
## Bugzilla
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-sarg&product=SME%20Contribs&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
## Description
<br />*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
*Once it has been checked, then this comment will be deleted*
<br />

96
additional/CHANGELOG.git Normal file
View File

@ -0,0 +1,96 @@
commit a8f7fc574dce55ec386351330b2128fe47bf0441
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 10:46:18 2014 +0100
* Tue Dec 16 2014 stephane de Labrusse <stephdl@de-labrusse.fr> 2.3.1-1.sme
-first release to sme9
-thanks to Philippe Desrosiers <pdesrosier@aei.ca> for this work
commit 438b66a7947ce27a7c7de7928de3ded8e0b64c41
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 01:07:30 2014 +0100
* Tue Dec 16 2014 stephane de Labrusse <stephdl@de-labrusse.fr> 2.3.1-1.sme
-first release to sme9
commit ad3b714972bb44fcb3d79d37e289813914c478e5
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:54:39 2014 +0100
* Tue Dec 16 2014 stephane de Labrusse <stephdl@de-labrusse.fr> 2.3.1-1.sme
-first release to sme9
commit d65e33b1ccab30150a70ca70aa071a393d308e66
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:51:49 2014 +0100
* Tue Dec 16 2014 stephane de Labrusse <stephdl@de-labrusse.fr> 2.3.1-1.sme
-first release to sme9
commit 06cfac56bf22390640ed6e517e71a00eb21ac886
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:43:23 2014 +0100
first release
commit 1c824752a8372c43d736e931b276b924c477bf38
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:36:42 2014 +0100
first release
commit d78ee8e796ca80a49c51dea6ed2e772036f1b06a
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:33:40 2014 +0100
Revert "first release"
This reverts commit 0e639696765cf44bd590b337eb7f16bdded19e4d.
commit 0e639696765cf44bd590b337eb7f16bdded19e4d
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:29:38 2014 +0100
first release
commit c2765b1032dbfaceb8f532bf6d9d047e476fba18
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:12:43 2014 +0100
first release
commit 9034d788b1576d0fb0845625860148b9e9aa7c2e
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:06:31 2014 +0100
first release
commit cdf27cdd422ac8a98606f545474e6acbeb67b54e
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:02:29 2014 +0100
first release
commit 0fa76a1a7f0dc8ddfedd89b7e2af20a813eca7ac
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Tue Dec 16 00:00:41 2014 +0100
first release
commit 7661532937004e98056f14ac2678d7d0daa8be99
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Mon Dec 15 23:56:58 2014 +0100
first release
commit 42ff6fd18774f5a2b27ddd81cc046602e2421599
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Mon Dec 15 23:54:43 2014 +0100
first release
commit 4c02ddc31ad4dc85198f563d77f18c55dc31fa23
Author: Stephane de Labrusse <stephdl@de-labrusse.fr>
Date: Mon Dec 15 20:23:22 2014 +0100
first commit to SME Server 9

340
additional/COPYING Normal file
View File

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

1
additional/README.md Normal file
View File

@ -0,0 +1 @@
smeserver-sarg is a contrib for SME Server, a Linux distro oriented server. see http://wiki.contribs.org

View File

@ -0,0 +1,159 @@
# $Id: smeserver-sarg.spec,v 1.1 2013/03/03 22:03:08 unnilennium Exp $
# Authority: dungog
# Name: Stephen Noble
Summary: SME server Sarg
%define name smeserver-sarg
Name: %{name}
%define version 2.3.1
%define release 1
Version: %{version}
Release: %{release}%{?dist}
License: Freely distributable
Group: Apache/php/caching
Source: %{name}-%{version}.tar.gz
BuildRoot: /var/tmp/e-smith-buildroot
BuildRequires: e-smith-devtools
BuildArchitectures: noarch
Requires: smeserver-release >= 9
Requires: sarg >= 2.3.1
AutoReqProv: no
%changelog
* Tue Dec 16 2014 stephane de Labrusse <stephdl@de-labrusse.fr> 2.3.1-1.sme
-first release to sme9
-thanks to Philippe Desrosiers <pdesrosier@aei.ca> for this work
* Fri Sep 18 2009 Stephen Noble <support@dungog.net> 2.2.1-6.sme
- allow valid userpanel users access [SME 2931]
* Tue Jan 9 2007 Stephen Noble <support@dungog.net>
- add db setting for lastlog correctly
- [2.2.1-4]
* Tue Jan 9 2007 Stephen Noble <support@dungog.net>
- remove duplicate access_log [sme 2217]
- add db setting for lastlog, ie 365 = 1yr
- [2.2.1-3]
* Tue Nov 14 2006 Stephen Noble <support@dungog.net>
- requires sarg >= 2.2
- cosmetic update of /var/www/sarg/index.htm
- [2.2.1-2]
* Tue Oct 17 2006 Stephen Noble <support@dungog.net>
- update to sarg 2.2.1
- removed sarg binary, use seperate sarg rpm + dependancies
- [2.2.1-1]
* Tue Oct 17 2006 Stephen Noble <support@dungog.net>
- add index.html files to avoid confusion and 404 errors
- removed -p option (ip only) now sorts users as well
- [1.4.1-6]
* Sun Oct 15 2006 Stephen Noble <support@dungog.net>
- db setting to use dansguardian instead of squid
- /usr/bin/sarglog [squid|dansguardian]
* Sun Oct 08 2006 Michel Van hees <michel@vanhees.cc>
- Bug fixing in cron script
- Make report by name and by ip
* Mon May 22 2006 Michel Van hees <michel@vanhees.cc>
- Bug fixing
* Tue May 9 2006 Michel Van hees <michel@vanhees.cc>
- Integrate binary
* Sun May 7 2006 Michel Van hees <michel@vanhees.cc>
- Debug cron job
* Mon May 1 2006 Michel Van hees <michel@vanhees.cc>
- start developpement
%description
Sarg templates for SME Server release 7
%prep
%setup
%build
perl createlinks
%{__mkdir_p} root/usr/share/sarg/
#%{__mkdir_p} root/etc/sarg/images/
#%{__mkdir_p} root/etc/sarg/languages/
#%{__mkdir_p} root/etc/sarg/fonts/
#mkdir -p root/etc/e-smith/db/configuration/defaults/sarg
#echo "service" > root/etc/e-smith/db/configuration/defaults/sarg/type
#echo "squid" > root/etc/e-smith/db/configuration/defaults/sarg/logfile
#echo "English" > root/etc/e-smith/db/configuration/defaults/sarg/language
#echo "bytes" > root/etc/e-smith/db/configuration/defaults/sarg/values
%install
rm -rf $RPM_BUILD_ROOT
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
--file '/usr/bin/sarglog' 'attr(755,root,root)' \
> %{name}-%{version}-filelist
echo "%doc " >> %{name}-%{version}-filelist
%clean
rm -rf $RPM_BUILD_ROOT
%pre
%preun
%post
if [ $1 = 1 ] ; then
/bin/ln -s /etc/sarg/fonts/ /usr/share/sarg/
/bin/ln -s /etc/sarg/languages/ /usr/share/sarg/
/bin/ln -s /etc/sarg/images/ /usr/share/sarg/
fi
#new installs
#if [ $1 = 1 ] ; then
# /sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
# /etc/rc.d/init.d/httpd-e-smith sigusr1
# /etc/e-smith/events/actions/navigation-conf > /dev/null 2>&1
#fi
#/sbin/e-smith/expand-template /etc/sarg/sarg.conf
#/sbin/e-smith/expand-template /etc/cron.daily/sarg
#/sbin/e-smith/expand-template /etc/cron.weekly/sarg
#/sbin/e-smith/expand-template /etc/cron.monthly/sarg
#/etc/e-smith/events/actions/initialize-default-databases
echo ''
echo 'optional settings for sarg, first option is default'
echo ''
#echo 'config setprop sarg language [English|Dutch|French|German|Spanish|Italian|...]'
echo 'config setprop sarg values [bytes|abbreviation]'
echo 'config setprop sarg logfile [squid|dansguardian]'
echo 'config setprop sarg lastlog [0|365|num.of.days.to.keep.logs]'
echo ''
echo 'expand-templates shortcut with /usr/bin/sarglog'
echo "sarglog (squid|dansguardian)"
echo ''
echo 'or'
echo 'config setprop sarg logfile [squid|dansguardian]'
echo 'signal-event sarg-update'
echo ''
%postun
#uninstalls
if [ $1 = 0 ] ; then
DBS=`find /home/e-smith/db/navigation -type f -name "navigation.*"`
for db in $DBS ; do
/sbin/e-smith/db $db delete sarg 2>/dev/null
done
/sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
/etc/rc.d/init.d/httpd-e-smith sigusr1
fi
%files -f %{name}-%{version}-filelist
%defattr(-,root,root)

1
contriborbase Normal file
View File

@ -0,0 +1 @@
contribs10

32
createlinks Normal file
View File

@ -0,0 +1,32 @@
#!/usr/bin/perl -w
# This script creates the symlinks needed by this RPM
# Specific support exists to create symlinks within e-smith web "panels"
# and for links from named "events" directories into the "actions" directory
use esmith::Build::CreateLinks qw(:all);
my $event;
panel_link("sarg", 'manager');
for my $event (qw(
bootstrap-console-save
sarg-update
))
{
templates2events("/etc/sarg/sarg.conf", $event);
templates2events("/etc/cron.daily/sarg", $event);
templates2events("/etc/cron.weekly/sarg", $event);
templates2events("/etc/cron.monthly/sarg", $event);
}
for my $event (qw(
sarg-update
))
{
templates2events("/etc/httpd/conf/httpd.conf", $event);
safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
}
#safe_symlink("/etc/sarg/fonts/","root/usr/share/sarg/");
#safe_symlink("/etc/sarg/languages/","root/usr/share/sarg/");
#safe_symlink("/etc/sarg/images/","root/usr/share/sarg/");

View File

@ -0,0 +1 @@
squid

View File

@ -0,0 +1 @@
service

View File

@ -0,0 +1 @@
bytes

View File

@ -0,0 +1,4 @@
UID="root"
GID="root"
PERMS=0750

View File

@ -0,0 +1,4 @@
UID="root"
GID="root"
PERMS=0750

View File

@ -0,0 +1,4 @@
UID="root"
GID="root"
PERMS=0750

View File

@ -0,0 +1,19 @@
{
my $logfile = $sarg{'logfile'} || 'squid';
$OUT .= "#!/bin/bash\n";
$OUT .= "\n";
$OUT .= "LOG_FILES=\n";
$OUT .= "if [ -s /var/log/$logfile/access.log.1.gz ]; then\n";
$OUT .= " LOG_FILES=\"\$LOG_FILES -l /var/log/$logfile/access.log.1.gz\"\n";
$OUT .= "fi\n";
$OUT .= "if [ -s /var/log/$logfile/access.log ]; then\n";
$OUT .= " LOG_FILES=\"\$LOG_FILES -l /var/log/$logfile/access.log\"\n";
$OUT .= "fi\n";
$OUT .= "\n";
$OUT .= "YESTERDAY=\"\$(date --date \'1 days ago\' +%d/%m/%Y)\"\n";
$OUT .= "\n";
$OUT .= "/usr/bin/sarg \$LOG_FILES -o /var/www/sarg/daily -d \$YESTERDAY > /dev/null 2>&1 \n";
$OUT .= "\n";
$OUT .= "exit 0\n";
}

View File

@ -0,0 +1,31 @@
{
my $logfile = $sarg{'logfile'} || 'squid';
$OUT .= "#!/bin/bash\n";
$OUT .= "\n";
$OUT .= "LOG_FILES=\n";
$OUT .= "if [ -s /var/log/$logfile/access.log.4.gz ]; then\n";
$OUT .= " LOG_FILES=\"\$LOG_FILES -l /var/log/$logfile/access.log.4.gz\"\n";
$OUT .= "fi\n";
$OUT .= "if [ -s /var/log/$logfile/access.log.3.gz ]; then\n";
$OUT .= " LOG_FILES=\"\$LOG_FILES -l /var/log/$logfile/access.log.3.gz\"\n";
$OUT .= "fi\n";
$OUT .= "if [ -s /var/log/$logfile/access.log.2.gz ]; then\n";
$OUT .= " LOG_FILES=\"\$LOG_FILES -l /var/log/$logfile/access.log.2.gz\"\n";
$OUT .= "fi\n";
$OUT .= "if [ -s /var/log/$logfile/access.log.1.gz ]; then\n";
$OUT .= " LOG_FILES=\"\$LOG_FILES -l /var/log/$logfile/access.log.1.gz\"\n";
$OUT .= "fi\n";
$OUT .= "if [ -s /var/log/$logfile/access.log ]; then\n";
$OUT .= " LOG_FILES=\"\$LOG_FILES -l /var/log/$logfile/access.log\"\n";
$OUT .= "fi\n";
$OUT .= "\n";
$OUT .= "YESTERDAY=\"\$(date --date \'1 days ago\' +%d/%m/%Y)\"\n";
$OUT .= "\n";
$OUT .= "MONTHAGO=\"\$(date --date \'1 month ago\' +%d/%m/%Y)\"\n";
$OUT .= "\n";
$OUT .= "/usr/bin/sarg \$LOG_FILES -o /var/www/sarg/monthly -d \$MONTHAGO-\$YESTERDAY > /dev/null 2>&1 \n";
$OUT .= "\n";
$OUT .= "exit 0\n";
}

View File

@ -0,0 +1,21 @@
{
my $logfile = $sarg{'logfile'} || 'squid';
$OUT .= "#!/bin/bash\n";
$OUT .= "\n";
$OUT .= "LOG_FILES=\n";
$OUT .= "if [ -s /var/log/$logfile/access.log.1.gz ]; then\n";
$OUT .= " LOG_FILES=\"\$LOG_FILES -l /var/log/$logfile/access.log.1.gz\"\n";
$OUT .= "fi\n";
$OUT .= "if [ -s /var/log/$logfile/access.log ]; then\n";
$OUT .= " LOG_FILES=\"\$LOG_FILES -l /var/log/$logfile/access.log\"\n";
$OUT .= "fi\n";
$OUT .= "\n";
$OUT .= "YESTERDAY=\"\$(date --date \'1 days ago\' +%d/%m/%Y)\"\n";
$OUT .= "\n";
$OUT .= "WEEKAGO=\"\$(date --date \'7 days ago\' +%d/%m/%Y)\"\n";
$OUT .= "\n";
$OUT .= "/usr/bin/sarg \$LOG_FILES -o /var/www/sarg/weekly -d \$WEEKAGO-\$YESTERDAY > /dev/null 2>&1 \n";
$OUT .= "\n";
$OUT .= "exit 0\n";
}

View File

@ -0,0 +1,54 @@
{
my $externalSSLAccess = '';
my $validFrom = db_get_prop($confref, "httpd-admin", "ValidFrom") || 'none';
$validFrom =~ s/,/ /g;
$validFrom =~ s:/255.255.255.255::g;
unless ($validFrom eq 'none')
{
$externalSSLAccess = $validFrom;
}
use esmith::AccountsDB;
my $adb = esmith::AccountsDB->open_ro();
my $sargusers = "";
foreach my $user ($adb->users)
{
my %properties = $user->props;
my $key = $user->key;
if ($properties{'AdminPanels'})
{
if ($properties{'AdminPanels'} =~ /sarg/)
{
$sargusers = "$sargusers $key";
}
}
}
$OUT .= <<HERE;
#-----------------------------------------------------------------------------
# SARG generated squid access log reports web repository
#-----------------------------------------------------------------------------
Alias /squid /var/www/sarg
<Directory /var/www/sarg>
AllowOverride None
Options +Indexes
order deny,allow
deny from all
allow from $localAccess $externalSSLAccess
AuthName "SME Server Manager"
AuthBasicProvider external
AuthType Basic
AuthExternal pwauth
require user admin $sargusers
</Directory>
#-----------------------------------------------------------------------------
# End of SARG generated squid access log reports web repository
#-----------------------------------------------------------------------------
HERE
}

View File

@ -0,0 +1,719 @@
# sarg.conf
#
{
#my $language = $sarg{'language'} || 'English';
my $logfile = $sarg{'logfile'} || 'squid';
my $values = $sarg{'values'} || 'bytes';
my $lastlog = $sarg{'lastlog'} || '0';
#$OUT .= "language $language\n";
$OUT .= "access_log /var/log/$logfile/access.log\n";
$OUT .= "title \"$logfile user access reports\"\n";
$OUT .= "displayed_values $values\n";
$OUT .= "lastlog $lastlog\n";
if ($logfile eq 'dansguardian')
{ $OUT .= "dansguardian_conf /etc/dansguardian/dansguardian.conf\n"; }
}
# TAG: access_log file
# Where is the access.log file
# sarg -l file
#
#access_log /usr/local/squid/var/logs/access.log
#access_log /var/log/squid/access.log
# TAG: graphs yes|no
# Use graphics where is possible.
# graph_days_bytes_bar_color blue|green|yellow|orange|brown|red
#
#graphs yes
#graph_days_bytes_bar_color orange
# TAG: graph_font
# The full path to the TTF font file to use to create the graphs. It is required
# if graphs is set to yes.
#
#graph_font /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
# TAG: title
# Especify the title for html page.
#
#title "Squid User Access Reports"
# TAG: font_face
# Especify the font for html page.
#
#font_face Tahoma,Verdana,Arial
# TAG: header_color
# Especify the header color
#
#header_color darkblue
# TAG: header_bgcolor
# Especify the header bgcolor
#
#header_bgcolor blanchedalmond
# TAG: font_size
# Especify the text font size
#
#font_size 9px
# TAG: header_font_size
# Especify the header font size
#
#header_font_size 9px
# TAG: title_font_size
# Especify the title font size
#
#title_font_size 11px
# TAG: background_color
# TAG: background_color
# Html page background color
#
# background_color white
# TAG: text_color
# Html page text color
#
#text_color #000000
# TAG: text_bgcolor
# Html page text background color
#
#text_bgcolor lavender
# TAG: title_color
# Html page title color
#
#title_color green
# TAG: logo_image
# Html page logo.
#
#logo_image none
# TAG: logo_text
# Html page logo text.
#
#logo_text ""
# TAG: logo_text_color
# Html page logo texti color.
#
#logo_text_color #000000
# TAG: logo_image_size
# Html page logo image size.
# width height
#
#image_size 80 45
# TAG: background_image
# Html page background image
#
#background_image none
# TAG: password
# User password file used by Squid authentication scheme
# If used, generate reports just for that users.
#
#password none
# TAG: temporary_dir
# Temporary directory name for work files
# sarg -w dir
#
#temporary_dir /tmp
# TAG: output_dir
# The reports will be saved in that directory
# sarg -o dir
#
#output_dir /var/www/html/squid-reports
output_dir /var/www/sarg/ONE-SHOT
# TAG: output_email
# Email address to send the reports. If you use this tag, no html reports will be generated.
# sarg -e email
#
#output_email none
# TAG: resolve_ip yes/no
# Convert ip address to dns name
# sarg -n
#resolve_ip no
resolve_ip yes
# TAG: user_ip yes/no
# Use Ip Address instead userid in reports.
# sarg -p
#user_ip no
# TAG: topuser_sort_field field normal/reverse
# Sort field for the Topuser Report.
# Allowed fields: USER CONNECT BYTES TIME
#
#topuser_sort_field BYTES reverse
# TAG: user_sort_field field normal/reverse
# Sort field for the User Report.
# Allowed fields: SITE CONNECT BYTES TIME
#
#user_sort_field BYTES reverse
# TAG: exclude_users file
# users within the file will be excluded from reports.
# you can use indexonly to have only index.html file.
#
#exclude_users none
# TAG: exclude_hosts file
# Hosts, domains or subnets will be excluded from reports.
#
# Eg.: 192.168.10.10 - exclude ip address only
# 192.168.10.0/24 - exclude full C class
# s1.acme.foo - exclude hostname only
# *.acme.foo - exclude full domain name
#
#exclude_hosts none
# TAG: useragent_log file
# useragent.log file patch to generate useragent report.
#
#useragent_log none
# TAG: date_format
# Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww)
#
#date_format u
# TAG: per_user_limit file MB
# Saves userid on file if download exceed n MB.
# This option allow you to disable user access if user exceed a download limit.
#
#per_user_limit none
# TAG: lastlog n
# How many reports files must be keept in reports directory.
# The oldest report file will be automatically removed.
# 0 - no limit.
#
#lastlog 0
# TAG: remove_temp_files yes
# Remove temporary files: geral, usuarios, top, periodo from root report directory.
#
#remove_temp_files yes
# TAG: index yes|no|only
# Generate the main index.html.
# only - generate only the main index.html
#
#index yes
# TAG: index_tree date|file
# How to generate the index.
#
#index_tree file
# TAG: overwrite_report yes|no
# yes - if report date already exist then will be overwrited.
# no - if report date already exist then will be renamed to filename.n, filename.n+1
#
#overwrite_report no
# TAG: records_without_userid ignore|ip|everybody
# What can I do with records without user id (no authentication) in access.log file ?
#
# ignore - This record will be ignored.
# ip - Use ip address instead. (default)
# everybody - Use "everybody" instead.
#
#records_without_userid ip
# TAG: use_comma no|yes
# Use comma instead point in reports.
# Eg.: use_comma yes => 23,450,110
# use_comma no => 23.450.110
#
#use_comma no
# TAG: mail_utility
# Mail command to use to send reports via SMTP. Sarg calls it like this:
# mail_utility -s "SARG report, date" "output_email" <"mail_content"
#
# Therefore, it is possible to add more arguments to the command by specifying them
# here.
#
# If you need too, you can use a shell script to process the content of /dev/stdin
# (/dev/stdin is the mail_content passed by sarg to the script) and call whatever
# command you like. It is not limited to mailing the report via SMTP.
#
# Don't forget to quote the command if necessary (i.e. if the path contains
# characters that must be quoted).
#
#mail_utility mailx
mail_utility mail
# TAG: topsites_num n
# How many sites in topsites report.
#
#topsites_num 100
# TAG: topsites_sort_order CONNECT|BYTES A|D
# Sort for topsites report, where A=Ascendent, D=Descendent
#
#topsites_sort_order CONNECT D
# TAG: index_sort_order A/D
# Sort for index.html, where A=Ascendent, D=Descendent
#
#index_sort_order D
# TAG: exclude_codes file
# Ignore records with these codes. Eg.: NONE/400
# Write one code per line. Lines starting with a # are ignored.
# Only codes matching exactly one of the line is rejected. The
# comparison is not case sensitive.
#
#exclude_codes /usr/local/sarg/exclude_codes
# TAG: replace_index string
# Replace "index.html" in the main index file with this string
# If null "index.html" is used
#
#replace_index <?php echo str_replace(".", "_", $REMOTE_ADDR); echo ".html"; ?>
# TAG: max_elapsed milliseconds
# If elapsed time is recorded in log is greater than max_elapsed use 0 for elapsed time.
# Use 0 for no checking
#
#max_elapsed 28800000
# 8 Hours
# TAG: report_type type
# What kind of reports to generate.
# topusers - users, sites, times, bytes, connects, links to accessed sites, etc
# topsites - site, connect and bytes report
# sites_users - users and sites report
# users_sites - accessed sites by the user report
# date_time - bytes used per day and hour report
# denied - denied sites with full URL report
# auth_failures - autentication failures report
# site_user_time_date - sites, dates, times and bytes report
# downloads - downloads per user report
#
# Eg.: report_type topsites denied
#
#report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads
# TAG: usertab filename
# You can change the "userid" or the "ip address" to be a real user name on the reports.
# If resolve_ip is active, the ip address is resolved before being looked up into this
# file. That is, if you want to map the ip address, be sure to set resolv_ip to no or
# the resolved name will be looked into the file instead of the ip address. Note that
# it can be used to resolve any ip address known to the dns and then map the unresolved
# ip addresses to a name found in the usertab file.
# Table syntax:
# userid name or ip address name
# Eg:
# SirIsaac Isaac Newton
# vinci Leonardo da Vinci
# 192.168.10.1 Karol Wojtyla
#
# Each line must be terminated with '\n'
# If usertab have value "ldap" (case ignoring), user names
# will be taken from LDAP server. This method as approaches for reception
# of usernames from Active Didectory
#
#usertab none
# TAG: LDAPHost hostname
# FQDN or IP address of host with LDAP service or AD DC
# default is '127.0.0.1'
#LDAPHost 127.0.0.1
# TAG: LDAPPort port
# LDAP service port number
# default is '389'
#LDAPPort 389
# TAG: LDAPBindDN CN=username,OU=group,DC=mydomain,DC=com
# DN of LDAP user, who is authorized to read user's names from LDAP base
# default is empty line
#LDAPBindDN cn=proxy,dc=mydomain,dc=local
# TAG: LDAPBindPW secret
# Password of DN, who is authorized to read user's names from LDAP base
# default is empty line
#LDAPBindPW secret
# TAG: LDAPBaseSearch OU=users,DC=mydomain,DC=com
# LDAP search base
# default is empty line
#LDAPBaseSearch ou=users,dc=mydomain,dc=local
# TAG: LDAPFilterSearch (uid=%s)
# User search filter by user's logins in LDAP
# First founded record will be used
# %s - will be changed to userlogins from access.log file
# filter string can have up to 5 '%s' tags
# default value is '(uid=%s)'
#LDAPFilterSearch (uid=%s)
# TAG: LDAPTargetAttr attributename
# Name of the attribute containing a name of the user
# default value is 'cn'
#LDAPTargetAttr cn
# TAG: long_url yes|no
# If yes, the full url is showed in report.
# If no, only the site will be showed
#
# YES option generate very big sort files and reports.
#
#long_url no
# TAG: date_time_by bytes|elap
# Date/Time reports show the downloaded volume or the elapsed time or both.
#
#date_time_by bytes
# TAG: charset name
# ISO 8859 is a full series of 10 standardized multilingual single-byte coded (8bit)
# graphic character sets for writing in alphabetic languages
# You can use the following charsets:
# Latin1 - West European
# Latin2 - East European
# Latin3 - South European
# Latin4 - North European
# Cyrillic
# Arabic
# Greek
# Hebrew
# Latin5 - Turkish
# Latin6
# Windows-1251
# Japan
# Koi8-r
# UTF-8
#
charset utf-8
# TAG: user_invalid_char "&/"
# Records that contain invalid characters in userid will be ignored by Sarg.
#
#user_invalid_char "&/"
# TAG: privacy yes|no
# privacy_string "***.***.***.***"
# privacy_string_color blue
# In some countries the sysadm cannot see the visited sites by a restrictive law.
# Using privacy yes the visited url will be changes by privacy_string and the link
# will be removed from reports.
#
#privacy no
#privacy_string "***.***.***.***"
#privacy_string_color blue
# TAG: include_users "user1:user2:...:usern"
# Reports will be generated only for listed users.
#
#include_users none
# TAG: exclude_string "string1:string2:...:stringn"
# Records from access.log file that contain one of listed strings will be ignored.
#
#exclude_string none
# TAG: show_successful_message yes|no
# Shows "Successful report generated on dir" at end of process.
#
#show_successful_message yes
show_successful_message no
# TAG: show_read_statistics yes|no
# Shows some reading statistics.
#
#show_read_statistics yes
# TAG: topuser_fields
# Which fields must be in Topuser report.
#
#topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
# TAG: user_report_fields
# Which fields must be in User report.
#
#user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
# TAG: bytes_in_sites_users_report yes|no
# Bytes field must be in Site & Users Report ?
#
#bytes_in_sites_users_report no
# TAG: topuser_num n
# How many users in topsites report. 0 = no limit
#
#topuser_num 0
# TAG: datafile file
# Save the report results in a file to populate some database
#
#datafile none
# TAG: datafile_delimiter ";"
# ascii character to use as a field separator in datafile
#
#datafile_delimiter ";"
# TAG: datafile_fields all
# Which data fields must be in datafile
# user;date;time;url;connect;bytes;in_cache;out_cache;elapsed
#
#datafile_fields user;date;time;url;connect;bytes;in_cache;out_cache;elapsed
# TAG: datafile_url ip|name
# Saves the URL as ip or name in datafile
#
#datafile_url ip
# TAG: weekdays
# The weekdays to take into account ( Sunday->0, Saturday->6 )
# Example:
#weekdays 1-3,5
# Default:
#weekdays 0-6
# TAG: hours
# The hours to take into account
# Example:
#hours 7-12,14,16,18-20
# Default:
#hours 0-23
# TAG: dansguardian_conf file
# DansGuardian.conf file path
# Generate reports from DansGuardian logs.
# Use 'none' to disable it.
# dansguardian_conf /usr/dansguardian/dansguardian.conf
#
#dansguardian_conf none
# TAG: dansguardian_filter_out_date on|off
# This option replaces dansguardian_ignore_date whose name was not appropriate with respect to its action.
# Note the change of parameter value compared with the old option.
# 'off' use the record even if its date is outside of the range found in the input log file.
# 'on' use the record only if its date is in the range found in the input log file.
#
#dansguardian_filter_out_date on
# TAG: squidguard_conf file
# path to squidGuard.conf file
# Generate reports from SquidGuard logs.
# Use 'none' to disable.
# You can use sarg -L filename to use an alternate squidGuard log.
# squidguard_conf /usr/local/squidGuard/squidGuard.conf
#
#squidguard_conf none
# TAG: redirector_log file
# the location of the web proxy redirector log such as one created by squidGuard or Rejik. The option
# may be repeated up to 64 times to read multiple files.
# If this option is specified, it takes precedence over squidguard_conf.
# The command line option -L override this option.
#
#redirector_log /usr/local/squidGuard/var/logs/urls.log
# TAG: redirector_filter_out_date on|off
# This option replaces squidguard_ignore_date and redirector_ignore_date whose names were not
# appropriate with respect to their action.
# Note the change of parameter value compared with the old options.
# 'off' use the record even if its date is outside of the range found in the input log file.
# 'on' use the record only if its date is in the range found in the input log file.
#
#redirector_filter_out_date on
# TAG: redirector_log_format
# Format string for web proxy redirector logs.
# This option was named squidguard_log_format before sarg 2.3.
# REJIK #year#-#mon#-#day# #hour# #list#:#tmp# #ip# #user# #tmp#/#tmp#/#url#/#end#
# SQUIDGUARD #year#-#mon#-#day# #hour# #tmp#/#list#/#tmp#/#tmp#/#url#/#tmp# #ip#/#tmp# #user# #end#
#redirector_log_format #year#-#mon#-#day# #hour# #tmp#/#list#/#tmp#/#tmp#/#url#/#tmp# #ip#/#tmp# #user# #end#
# TAG: show_sarg_info yes|no
# shows sarg information and site path on each report bottom
#
#show_sarg_info yes
# TAG: show_sarg_logo yes|no
# shows sarg logo
#
#show_sarg_logo yes
# TAG: parsed_output_log directory
# Saves the processed log in a sarg format after parsing the squid log file.
# This is a way to dump all of the data structures out, after parsing from
# the logs (presumably this data will be much smaller than the log files themselves),
# and pull them back in for later processing and merging with data from previous logs.
#
#parsed_output_log none
# TAG: parsed_output_log_compress /bin/gzip|/usr/bin/bzip2|nocompress
# Command to run to compress sarg parsed output log. It may contain
# options (such as -f to overwrite existing target file). The name of
# the file to compresse is provided at the end of this
# command line. Don't forget to quote things appropriately.
#
#parsed_output_log_compress /bin/gzip
# TAG: displayed_values bytes|abbreviation
# how the values will be displayed in reports.
# eg. bytes - 209.526
# abbreviation - 210K
#
#displayed_values bytes
# Report limits
# TAG: authfail_report_limit n
# TAG: denied_report_limit n
# TAG: siteusers_report_limit n
# TAG: squidguard_report_limit n
# TAG: user_report_limit n
# TAG: dansguardian_report_limit n
# TAG: download_report_limit n
# report limits (lines).
# '0' no limit
#
#authfail_report_limit 10
#denied_report_limit 10
#siteusers_report_limit 0
#squidguard_report_limit 10
#dansguardian_report_limit 10
#user_report_limit 10
#user_report_limit 50
# TAG: www_document_root dir
# Where is your Web DocumentRoot
# Sarg will create sarg-php directory with some PHP modules:
# - sarg-squidguard-block.php - add urls from user reports to squidGuard DB
#
#www_document_root /var/www/html
# TAG: block_it module_url
# This tag allow you to pass urls from user reports to a cgi or php module,
# to be blocked by some Squid acl
#
# Eg.: block_it /sarg-php/sarg-block-it.php
# sarg-block-it is a php that will append a url to a flat file.
# You must change /var/www/html/sarg-php/sarg-block-it to point to your file
# in $filename variable, and chown to a httpd owner.
#
# sarg will pass http://module_url?url=url
#
#block_it none
# TAG: external_css_file path
# Provide the path to an external css file to link into the HTML reports instead of
# the inline css written by sarg when this option is not set.
#
# In versions prior to 2.3, this used to be an absolute file name to
# a file to include verbatim in each HTML page but, as it takes a lot of
# space, version 2.3 switched to a link to an external css file.
# Therefore, this option must contain the HTTP server path on which a client
# browser may find the css file.
#
# Sarg use theses style classes:
# .logo logo class
# .info sarg information class, align=center
# .title_c title class, align=center
# .header_c header class, align:center
# .header_l header class, align:left
# .header_r header class, align:right
# .text text class, align:right
# .data table text class, align:right
# .data2 table text class, align:left
# .data3 table text class, align:center
# .link link class
#
# Sarg can be instructed to output the internal css it inline
# into the reports with this command:
#
# sarg --css
#
# You can redirect the output to a file of your choice and edit
# it to your liking.
#
#external_css_file none
#external_css_file /var/www/sarg/sarg.css
external_css_file /squid/sarg.css
# TAG: user_authentication yes|no
# Allow user authentication in User Reports using .htaccess
# Parameters:
# AuthUserTemplateFile - The template to use to create the
# .htaccess file. In the template, %u is replaced by the
# user's ID for which the report is generated. The path of the
# template is relative to the directory containing sarg
# configuration file.
#
# user_authentication no
# AuthUserTemplateFile sarg_htaccess
# TAG: download_suffix "suffix,suffix,...,suffix"
# file suffix to be considered as "download" in Download report.
# Use 'none' to disable.
#
#download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg,mpeg"
# TAG: ulimit n
# The maximum number of open file descriptors to avoid "Too many open files" error message.
# You need to run sarg as root to use ulimit tag.
# If you run sarg with a low privilege user, set to 'none' to disable ulimit
#
#ulimit 20000
# TAG: ntlm_user_format username|domainname+username
# NTLM users format.
#
#ntlm_user_format domainname+username
# TAG: realtime_refresh_time num sec
# How many time to auto refresh the realtime report
# 0 = disable
#
# realtime_refresh_time 3
# TAG: realtime_access_log_lines num
# How many last lines to get from access.log file
#
# realtime_access_log_lines 1000
# TAG: realtime_types: GET,PUT,CONNECT,ICP_QUERY,POST
# Which records must be in realtime report.
#
# realtime_types GET,PUT,CONNECT
# TAG: realtime_unauthenticated_records: ignore|show
# What to do with unauthenticated records in realtime report.
#
# realtime_unauthenticated_records: show
# TAG: byte_cost value no_cost_limit
# Cost per byte.
# Eg. byte_cost 0.01 100000000
# per byte cost = 0.01
# bytes with no cost = 100 Mb
# 0 = disable
#
# byte_cost 0.01 50000000
# TAG: squid24 on|off
# Compatilibity with squid version <= 2.4 when using emulate_http_log on
#
# squid24 off

View File

@ -0,0 +1,74 @@
#!/usr/bin/perl -wT
#----------------------------------------------------------------------
# heading : Administration
# description : SARG reports
# navigation : 4000 4390
#
#----------------------------------------------------------------------
package esmith;
use strict;
use CGI ':all';
use CGI::Carp qw(fatalsToBrowser);
use esmith::cgi;
use esmith::config;
use esmith::util;
sub showInitial ($);
BEGIN
{
# Clear PATH and related environment variables so that calls to
# external programs do not cause results to be tainted. See
# "perlsec" manual page for details.
$ENV {'PATH'} = '/bin:/usr/bin';
$ENV {'SHELL'} = '/bin/bash';
delete $ENV {'ENV'};
}
esmith::util::setRealToEffective ();
$CGI::POST_MAX=1024 * 100; # max 100K posts
$CGI::DISABLE_UPLOADS = 1; # no uploads
my %conf;
tie %conf, 'esmith::config';
#------------------------------------------------------------
# examine state parameter and display the appropriate form
#------------------------------------------------------------
my $q = new CGI;
if (! grep (/^state$/, $q->param))
{
showInitial ($q);
}
else
{
esmith::cgi::genStateError ($q, \%conf);
}
exit (0);
#------------------------------------------------------------
# subroutine to display initial form
#------------------------------------------------------------
sub showInitial ($)
{
my ($q) = @_;
my $url = "/squid";
print $q->redirect(-location => $url);
## these lines aren't that important, they just prevent a
## premature end of script headers error
esmith::cgi::genHeaderNonCacheable ($q, \%conf, 'SARG reports');
esmith::cgi::genFooter ($q);
}

30
root/usr/bin/sarglog Normal file
View File

@ -0,0 +1,30 @@
#!/bin/sh
# select logfile for sarg
# support@dungog.net 2006
if [ "$1" = "squid" ] ; then
/sbin/e-smith/db configuration setprop sarg logfile squid
/sbin/e-smith/expand-template /etc/sarg/sarg.conf
/sbin/e-smith/expand-template /etc/cron.daily/sarg
/sbin/e-smith/expand-template /etc/cron.weekly/sarg
/sbin/e-smith/expand-template /etc/cron.monthly/sarg
echo "sarg to use squid logs"
exit 1
fi
if [ "$1" = "dansguardian" ] ; then
/sbin/e-smith/db configuration setprop sarg logfile dansguardian
/sbin/e-smith/db configuration setprop sarg values abbreviation
/sbin/e-smith/expand-template /etc/sarg/sarg.conf
/sbin/e-smith/expand-template /etc/cron.daily/sarg
/sbin/e-smith/expand-template /etc/cron.weekly/sarg
/sbin/e-smith/expand-template /etc/cron.monthly/sarg
echo "sarg to use dansguardian logs"
exit 1
fi
echo "useage"
echo "sarglog (squid|dansguardian)"
exit 1

View File

@ -0,0 +1,43 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<style>
.body {font-family:Verdana,Tahoma,Arial;color:#000000;background-color:#ffffff;}
.info {font-family:Verdana,Tahoma,Arial;font-size:9px;}
.info a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;text-decoration:none;}
.title {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;}
.title2 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:left;}
.title3 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:right;}
.header {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:left;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header2 {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:right;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header3 {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:center;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;}
.data {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;background-color:lavender;text-align:right;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;background-color:lavender;text-align:right;text-decoration:none;}
.data2 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data2 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;background-color:lavender;text-decoration:none;}
.data3 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px,text-align:center;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data3 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;text-align:center;background-color:lavender;text-decoration:none;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;text-align:right;}
.link {font-family:Verdana,Tahoma,Arial;font-size:9px;color:#0000ff;}
.link a:link,a:visited {font-family:Verdana,Tahoma,Arial;font-size:9px;color:#0000ff;text-decoration:none;}
</style>
<body class="body"><center><table cellpadding=0 cellspacing=0>
<tr><th class="logo"><a href="http://sarg.sourceforge.net"></a>&nbsp;<font class="logo">Squid Analysis Report Generator</font></th></tr>
<tr><th class="title">&nbsp</th></tr>
<table>
<center><table cellpadding="0" cellspacing="0">
<tr><td class="header3">Data not found</td></tr>
<tr><th class="header3">Your seeing this because either no data was found<br>
or you have just updated the sarg rpm.<p>
You can force an update with /usr/bin/sarg<p>
Note: this page may be cached, try refreshing this frame<br>
right click, this frame, refresh</th></tr>
</table></center>
<center><table><tr><td><br><br></td><td class="info">Generated by <a href='http://sarg.sourceforge.net'>sarg-2.3.1</a> </td></tr></table></center>
</body>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<style>
.body {font-family:Verdana,Tahoma,Arial;color:#000000;background-color:#ffffff;}
.info {font-family:Verdana,Tahoma,Arial;font-size:9px;}
.info a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;text-decoration:none;}
.title {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;}
.title2 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:left;}
.title3 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:right;}
.header {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:left;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header2 {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:right;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header3 {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:center;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;}
.data {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;background-color:lavender;text-align:right;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;background-color:lavender;text-align:right;text-decoration:none;}
.data2 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data2 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;background-color:lavender;text-decoration:none;}
.data3 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px,text-align:center;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data3 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;text-align:center;background-color:lavender;text-decoration:none;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;text-align:right;}
.link {font-family:Verdana,Tahoma,Arial;font-size:9px;color:#0000ff;}
.link a:link,a:visited {font-family:Verdana,Tahoma,Arial;font-size:9px;color:#0000ff;text-decoration:none;}
</style>
<body class="body"><center><table cellpadding=0 cellspacing=0>
<tr><th class="logo"><a href="http://sarg.sourceforge.net"></a>&nbsp;<font class="logo">Squid Analysis Report Generator</font></th></tr>
<tr><th class="title">&nbsp</th></tr>
<table>
<center><table cellpadding="0" cellspacing="0">
<tr><td class="header3">Data not found</td></tr>
<tr><th class="header3">Your seeing this because either no data was found<br>
or you have just updated the sarg rpm.<p>
You can force an update with /etc/cron.daily/sarg<p>
Note: this page may be cached, try refreshing this frame<br>
right click, this frame, refresh</th></tr>
</table></center>
<center><table><tr><td><br><br></td><td class="info">Generated by <a href='http://sarg.sourceforge.net'>sarg-2.3.1</a> </td></tr></table></center>
</body>
</html>

View File

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<style>
.body {font-family:Verdana,Tahoma,Arial;color:#000000;background-color:#ffffff;}
.info {font-family:Verdana,Tahoma,Arial;font-size:11px;}
.info a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:11px;text-decoration:none;}
.title {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;}
.title2 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:left;}
.title3 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:right;}
.header {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#dddddd;text-align:left;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header2 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#dddddd;text-align:right;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header3 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#dddddd;text-align:center;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:11px;}
.data {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:11px;background-color:lavender;text-align:right;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:11px;background-color:lavender;text-align:right;text-decoration:none;}
.data2 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:11px;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data2 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:11px;background-color:lavender;text-decoration:none;}
.data3 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:11px,text-align:center;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data3 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:11px;text-align:center;background-color:lavender;text-decoration:none;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:11px;text-align:right;}
.link {font-family:Verdana,Tahoma,Arial;font-size:11px;color:#0000ff;}
.link a:link,a:visited {font-family:Verdana,Tahoma,Arial;font-size:11px;color:#0000ff;text-decoration:none;}
</style>
<body style="font-family:Verdana,Tahoma,Arial;font-size:13px;background-color:#ffffff;background-image:url()">
<center><table cellpadding=0 cellspacing=0>
<tr><th class="logo"><font class="logo">Squid Analysis Report Generator</font></th></tr>
<tr><th class="title">&nbsp</th></tr>
<table>
<center><table cellpadding="0" cellspacing="0">
<tr><th class="title">User access reports</th></tr>
</table></center>
<center><table cellpadding="1" cellspacing="2">
<tr><td></td><td></td></tr>
<tr><th class="header">Directory</th><th class="header">Description</th></tr>
<tr><td class="data2"><a href='ONE-SHOT/index.html'>ONE-SHOT</a></td>
<td class="data2">One shot (manual) reports</td></tr>
<tr><td class="data2"><a href='daily/index.html'>daily</a></td>
<td class="data2">Daily reports</td></tr>
<tr><td class="data2"><a href='weekly/index.html'>weekly</a></td>
<td class="data2">Weekly reports</td></tr>
<tr><td class="data2"><a href='monthly/index.html'>monthly</a></td>
<td class="data2">Monthly reports</td></tr>
</table></center><center><table><tr><td><br><br></td>
<td class="info">Generated by <a href='http://sarg.sourceforge.net'>
<font class="info">sarg-2.3.1</font></a></td></tr></table></center>
</body>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<style>
.body {font-family:Verdana,Tahoma,Arial;color:#000000;background-color:#ffffff;}
.info {font-family:Verdana,Tahoma,Arial;font-size:9px;}
.info a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;text-decoration:none;}
.title {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;}
.title2 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:left;}
.title3 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:right;}
.header {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:left;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header2 {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:right;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header3 {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:center;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;}
.data {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;background-color:lavender;text-align:right;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;background-color:lavender;text-align:right;text-decoration:none;}
.data2 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data2 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;background-color:lavender;text-decoration:none;}
.data3 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px,text-align:center;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data3 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;text-align:center;background-color:lavender;text-decoration:none;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;text-align:right;}
.link {font-family:Verdana,Tahoma,Arial;font-size:9px;color:#0000ff;}
.link a:link,a:visited {font-family:Verdana,Tahoma,Arial;font-size:9px;color:#0000ff;text-decoration:none;}
</style>
<body class="body"><center><table cellpadding=0 cellspacing=0>
<tr><th class="logo"><a href="http://sarg.sourceforge.net"></a>&nbsp;<font class="logo">Squid Analysis Report Generator</font></th></tr>
<tr><th class="title">&nbsp</th></tr>
<table>
<center><table cellpadding="0" cellspacing="0">
<tr><td class="header3">Data not found</td></tr>
<tr><th class="header3">Your seeing this because either no data was found<br>
or you have just updated the sarg rpm.<p>
You can force an update with /etc/cron.monthly/sarg<p>
Note: this page may be cached, try refreshing this frame<br>
right click, this frame, refresh</th></tr>
</table></center>
<center><table><tr><td><br><br></td><td class="info">Generated by <a href='http://sarg.sourceforge.net'>sarg-2.3.1</a> </td></tr></table></center>
</body>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<style>
.body {font-family:Verdana,Tahoma,Arial;color:#000000;background-color:#ffffff;}
.info {font-family:Verdana,Tahoma,Arial;font-size:9px;}
.info a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;text-decoration:none;}
.title {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;}
.title2 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:left;}
.title3 {font-family:Verdana,Tahoma,Arial;font-size:11px;color:darkblue;background-color:#ffffff;text-align:right;}
.header {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:left;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header2 {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:right;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.header3 {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#dddddd;text-align:center;border-right:1px solid #666666;border-bottom:1px solid #666666;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;}
.data {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;background-color:lavender;text-align:right;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;background-color:lavender;text-align:right;text-decoration:none;}
.data2 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data2 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;background-color:lavender;text-decoration:none;}
.data3 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px,text-align:center;background-color:lavender;border-right:1px solid #6a5acd;border-bottom:1px solid #6a5acd;}
.data3 a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000ff;font-size:9px;text-align:center;background-color:lavender;text-decoration:none;}
.text {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;text-align:right;}
.link {font-family:Verdana,Tahoma,Arial;font-size:9px;color:#0000ff;}
.link a:link,a:visited {font-family:Verdana,Tahoma,Arial;font-size:9px;color:#0000ff;text-decoration:none;}
</style>
<body class="body"><center><table cellpadding=0 cellspacing=0>
<tr><th class="logo"><a href="http://sarg.sourceforge.net"></a>&nbsp;<font class="logo">Squid Analysis Report Generator</font></th></tr>
<tr><th class="title">&nbsp</th></tr>
<table>
<center><table cellpadding="0" cellspacing="0">
<tr><td class="header3">Data not found</td></tr>
<tr><th class="header3">Your seeing this because either no data was found<br>
or you have just updated the sarg rpm.<p>
You can force an update with /etc/cron.weekly/sarg<p>
Note: this page may be cached, try refreshing this frame<br>
right click, this frame, refresh</th></tr>
</table></center>
<center><table><tr><td><br><br></td><td class="info">Generated by <a href='http://sarg.sourceforge.net'>sarg-2.3.1</a> </td></tr></table></center>
</body>
</html>

166
smeserver-sarg.spec Normal file
View File

@ -0,0 +1,166 @@
# $Id: smeserver-sarg.spec,v 1.1 2013/03/03 22:03:08 unnilennium Exp $
# Authority: dungog
# Name: Stephen Noble
Summary: SME server Sarg
%define name smeserver-sarg
Name: %{name}
%define version 2.3.1
%define release 2
Version: %{version}
Release: %{release}%{?dist}
License: Freely distributable
Group: Apache/php/caching
Source: %{name}-%{version}.tar.xz
BuildRoot: /var/tmp/e-smith-buildroot
BuildRequires: e-smith-devtools
BuildArchitectures: noarch
Requires: smeserver-release >= 9
Requires: sarg >= 2.3.1
AutoReqProv: no
%changelog
* Sat Sep 07 2024 cvs2git.sh aka Brian Read <brianr@koozali.org> 2.3.1-2.sme
- Roll up patches and move to git repo [SME: 12338]
* Sat Sep 07 2024 BogusDateBot
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
by assuming the date is correct and changing the weekday.
* Tue Dec 16 2014 stephane de Labrusse <stephdl@de-labrusse.fr> 2.3.1-1.sme
-first release to sme9
-thanks to Philippe Desrosiers <pdesrosier@aei.ca> for this work
* Fri Sep 18 2009 Stephen Noble <support@dungog.net> 2.2.1-6.sme
- allow valid userpanel users access [SME 2931]
* Tue Jan 9 2007 Stephen Noble <support@dungog.net>
- add db setting for lastlog correctly
- [2.2.1-4]
* Tue Jan 9 2007 Stephen Noble <support@dungog.net>
- remove duplicate access_log [sme 2217]
- add db setting for lastlog, ie 365 = 1yr
- [2.2.1-3]
* Tue Nov 14 2006 Stephen Noble <support@dungog.net>
- requires sarg >= 2.2
- cosmetic update of /var/www/sarg/index.htm
- [2.2.1-2]
* Tue Oct 17 2006 Stephen Noble <support@dungog.net>
- update to sarg 2.2.1
- removed sarg binary, use seperate sarg rpm + dependancies
- [2.2.1-1]
* Tue Oct 17 2006 Stephen Noble <support@dungog.net>
- add index.html files to avoid confusion and 404 errors
- removed -p option (ip only) now sorts users as well
- [1.4.1-6]
* Sun Oct 15 2006 Stephen Noble <support@dungog.net>
- db setting to use dansguardian instead of squid
- /usr/bin/sarglog [squid|dansguardian]
* Sun Oct 08 2006 Michel Van hees <michel@vanhees.cc>
- Bug fixing in cron script
- Make report by name and by ip
* Mon May 22 2006 Michel Van hees <michel@vanhees.cc>
- Bug fixing
* Tue May 9 2006 Michel Van hees <michel@vanhees.cc>
- Integrate binary
* Sun May 7 2006 Michel Van hees <michel@vanhees.cc>
- Debug cron job
* Mon May 1 2006 Michel Van hees <michel@vanhees.cc>
- start developpement
%description
Sarg templates for SME Server release 7
%prep
%setup
%build
perl createlinks
%{__mkdir_p} root/usr/share/sarg/
#%{__mkdir_p} root/etc/sarg/images/
#%{__mkdir_p} root/etc/sarg/languages/
#%{__mkdir_p} root/etc/sarg/fonts/
#mkdir -p root/etc/e-smith/db/configuration/defaults/sarg
#echo "service" > root/etc/e-smith/db/configuration/defaults/sarg/type
#echo "squid" > root/etc/e-smith/db/configuration/defaults/sarg/logfile
#echo "English" > root/etc/e-smith/db/configuration/defaults/sarg/language
#echo "bytes" > root/etc/e-smith/db/configuration/defaults/sarg/values
%install
rm -rf $RPM_BUILD_ROOT
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
--file '/usr/bin/sarglog' 'attr(755,root,root)' \
> %{name}-%{version}-filelist
echo "%doc " >> %{name}-%{version}-filelist
%clean
rm -rf $RPM_BUILD_ROOT
%pre
%preun
%post
if [ $1 = 1 ] ; then
/bin/ln -s /etc/sarg/fonts/ /usr/share/sarg/
/bin/ln -s /etc/sarg/languages/ /usr/share/sarg/
/bin/ln -s /etc/sarg/images/ /usr/share/sarg/
fi
#new installs
#if [ $1 = 1 ] ; then
# /sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
# /etc/rc.d/init.d/httpd-e-smith sigusr1
# /etc/e-smith/events/actions/navigation-conf > /dev/null 2>&1
#fi
#/sbin/e-smith/expand-template /etc/sarg/sarg.conf
#/sbin/e-smith/expand-template /etc/cron.daily/sarg
#/sbin/e-smith/expand-template /etc/cron.weekly/sarg
#/sbin/e-smith/expand-template /etc/cron.monthly/sarg
#/etc/e-smith/events/actions/initialize-default-databases
echo ''
echo 'optional settings for sarg, first option is default'
echo ''
#echo 'config setprop sarg language [English|Dutch|French|German|Spanish|Italian|...]'
echo 'config setprop sarg values [bytes|abbreviation]'
echo 'config setprop sarg logfile [squid|dansguardian]'
echo 'config setprop sarg lastlog [0|365|num.of.days.to.keep.logs]'
echo ''
echo 'expand-templates shortcut with /usr/bin/sarglog'
echo "sarglog (squid|dansguardian)"
echo ''
echo 'or'
echo 'config setprop sarg logfile [squid|dansguardian]'
echo 'signal-event sarg-update'
echo ''
%postun
#uninstalls
if [ $1 = 0 ] ; then
DBS=`find /home/e-smith/db/navigation -type f -name "navigation.*"`
for db in $DBS ; do
/sbin/e-smith/db $db delete sarg 2>/dev/null
done
/sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
/etc/rc.d/init.d/httpd-e-smith sigusr1
fi
%files -f %{name}-%{version}-filelist
%defattr(-,root,root)