Ajout classe de logs
This commit is contained in:
parent
6748cf3c6d
commit
687e461324
|
@ -241,6 +241,8 @@ bureau/admin/js/prototype.js -text
|
|||
bureau/admin/login.php -text
|
||||
bureau/admin/logo.png -text
|
||||
bureau/admin/logo2.png -text
|
||||
bureau/admin/logs_download.php -text
|
||||
bureau/admin/logs_list.php -text
|
||||
bureau/admin/mail_add.php -text
|
||||
bureau/admin/mail_alias_create.inc.php -text
|
||||
bureau/admin/mail_alias_doedit.php -text
|
||||
|
@ -336,6 +338,7 @@ bureau/class/m_export.php -text
|
|||
bureau/class/m_ftp.php -text
|
||||
bureau/class/m_hooks.php -text
|
||||
bureau/class/m_hta.php -text
|
||||
bureau/class/m_log.php -text
|
||||
bureau/class/m_mail.php -text
|
||||
bureau/class/m_mail_alias.php -text
|
||||
bureau/class/m_mail_jabber.php -text
|
||||
|
@ -410,6 +413,7 @@ etc/alternc/alternc-sudoers -text
|
|||
etc/alternc/alternc.ini -text
|
||||
etc/alternc/apache2-ssl.conf -text
|
||||
etc/alternc/apache2.conf -text
|
||||
etc/alternc/apache_logformat.conf -text
|
||||
etc/alternc/dbusers.cnf.sample -text
|
||||
etc/alternc/functions_hosting/hosting_massvhost.sh -text
|
||||
etc/alternc/menulist.txt -text
|
||||
|
@ -503,8 +507,10 @@ src/alternc-check -text
|
|||
src/alternc-dboptimize -text
|
||||
src/alternc-passwd -text
|
||||
src/alternc_reload -text
|
||||
src/compress_logs.sh -text
|
||||
src/cron_users.sh -text
|
||||
src/cron_users_doit.sh -text
|
||||
src/delete_logs.sh -text
|
||||
src/du.pl -text
|
||||
src/export_account.php -text
|
||||
src/fixperms.sh -text
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
/*
|
||||
$Id: logs_download.php,v 1.2 2004/09/06 18:14:36 anonymous Exp $
|
||||
----------------------------------------------------------------------
|
||||
AlternC - Web Hosting System
|
||||
Copyright (C) 2002 by the AlternC Development Team.
|
||||
http://alternc.org/
|
||||
----------------------------------------------------------------------
|
||||
Based on:
|
||||
Valentin Lacambre's web hosting softwares: http://altern.org/
|
||||
----------------------------------------------------------------------
|
||||
LICENSE
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License (GPL)
|
||||
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.
|
||||
|
||||
To read the license please visit http://www.gnu.org/copyleft/gpl.html
|
||||
----------------------------------------------------------------------
|
||||
Original Author of file: Sonntag Benjamin
|
||||
Purpose of file: Return the current folder in a compressed file
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
require_once("../class/config.php");
|
||||
|
||||
$fields = array (
|
||||
"file" => array ("request", "string", ""),
|
||||
);
|
||||
getFields($fields);
|
||||
|
||||
if (empty($file)) {
|
||||
$error="";
|
||||
}
|
||||
|
||||
$log->download_link($file);
|
||||
?>
|
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
/*
|
||||
$Id: log_list.php,v 1.8 2006/02/16 16:26:28 benjamin Exp $
|
||||
----------------------------------------------------------------------
|
||||
AlternC - Web Hosting System
|
||||
Copyright (C) 2002 by the AlternC Development Team.
|
||||
http://alternc.org/
|
||||
----------------------------------------------------------------------
|
||||
Based on:
|
||||
Valentin Lacambre's web hosting softwares: http://altern.org/
|
||||
----------------------------------------------------------------------
|
||||
LICENSE
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License (GPL)
|
||||
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.
|
||||
|
||||
To read the license please visit http://www.gnu.org/copyleft/gpl.html
|
||||
----------------------------------------------------------------------
|
||||
Original Author of file: Lerider Steven
|
||||
Purpose of file: Manage the log listing of a user
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
require_once("../class/config.php");
|
||||
include_once("head.php");
|
||||
|
||||
$list=$log->list_logs_directory_all($log->get_logs_directory());
|
||||
?>
|
||||
<h3><?php __("Logs Listing"); ?></h3>
|
||||
<hr id="topbar"/>
|
||||
<br />
|
||||
<?php
|
||||
if (isset($error) && $error) {
|
||||
echo "<p class=\"error\">$error</p>";
|
||||
}
|
||||
if(!$list || empty($list)){
|
||||
echo "<p class=\"error\">"._("You have no sql logs to list a the moment.")."</p>";
|
||||
}
|
||||
?>
|
||||
<table class="tlist">
|
||||
<tr><th><?php __("Name");?></th><th align=center><?php __("Creation Date"); ?></th><th><?php __("Size"); ?></th><th><?php __("Download link");?></th></tr>
|
||||
<?php
|
||||
|
||||
$col=1;
|
||||
//listing of every mail of the current domain.
|
||||
echo "<pre>";
|
||||
while (list($key,$val)=each($list)){
|
||||
$col=3-$col;
|
||||
foreach($val as $k => $v){
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $v['name']; ?></td>
|
||||
<td><?php echo $v['creation_date']; ?></td>
|
||||
<td><?php echo format_size($v['filesize']); ?></td>
|
||||
<td><?php echo "<a href=\"".$v['downlink']."\">"._("Download")."</a>";?></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</table>
|
|
@ -35,6 +35,11 @@ mt_srand((float) $sec + ((float) $usec * 100000));
|
|||
/* Format a field value for input or textarea : */
|
||||
function fl($str) { return str_replace("<","<",str_replace("\"",""",$str)); }
|
||||
|
||||
// Use of m_log
|
||||
function compare_logname($a, $b) {
|
||||
return strcmp($a['name'],$b['name']);
|
||||
}
|
||||
|
||||
/*
|
||||
Check if a domain can be hosted on this server :
|
||||
Return a negative value in case of an error,
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
<?php
|
||||
/*
|
||||
$Id: m_log.php,v 1.4 2004/05/19 14:23:06 benjamin Exp $
|
||||
----------------------------------------------------------------------
|
||||
LICENSE
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License (GPL)
|
||||
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.
|
||||
|
||||
To read the license please visit http://www.gnu.org/copyleft/gpl.html
|
||||
----------------------------------------------------------------------
|
||||
Original Author of file: Steven Lerider
|
||||
----------------------------------------------------------------------
|
||||
*/
|
||||
/**
|
||||
* Classe de gestion des erreurs apparaissant lors d'appels API.
|
||||
*
|
||||
* <p>Cette classe gère les logs utilisasteurs
|
||||
* </p>
|
||||
* Copyleft {@link http://alternc.net/ AlternC Team}
|
||||
*
|
||||
* @copyright AlternC-Team 2002-11-01 http://alternc.net/
|
||||
*/
|
||||
|
||||
|
||||
class m_log {
|
||||
|
||||
function m_log(){
|
||||
}
|
||||
|
||||
function list_logs_directory($dir){
|
||||
global $cuid,$err;
|
||||
$err->log("log","list_logs_directory");
|
||||
|
||||
$dir2=$dir;
|
||||
if ($dir = @opendir($dir)) {
|
||||
while (($file = readdir($dir)) !== false) {
|
||||
if ($file!="." && $file!=".." && realpath($dir2 . "/" . $file) == $dir2 . "/" . $file){
|
||||
$absfile=$dir2."/".$file;
|
||||
$c[]=array("name"=>$file,
|
||||
"creation_date"=>date("F d Y H:i:s.", filectime($absfile)),
|
||||
"filesize"=>filesize($absfile),
|
||||
"downlink"=>"logs_download.php?file=".urlencode($file),
|
||||
);
|
||||
}
|
||||
}
|
||||
closedir($dir);
|
||||
}
|
||||
usort($c,"compare_logname");
|
||||
return $c;
|
||||
|
||||
}//list_logs
|
||||
|
||||
function list_logs_directory_all($dirs){
|
||||
global $err;
|
||||
$err->log("log","get_logs_directory_all");
|
||||
$c=array();
|
||||
foreach($dirs as $dir=>$val){
|
||||
$c[$dir]=$this->list_logs_directory($val);
|
||||
}
|
||||
return $c;
|
||||
|
||||
}
|
||||
|
||||
function get_logs_directory(){
|
||||
global $cuid,$db,$err;
|
||||
$err->log("log","get_logs_directory");
|
||||
|
||||
$db->query("select login from membres where uid=$cuid ;");
|
||||
if ($db->num_rows()==0) {
|
||||
$err->raise("log",1);
|
||||
return false;
|
||||
}
|
||||
$db->next_record();
|
||||
$c=array("dir"=>"/var/alternc/logs/".$cuid."-".$db->f("login"));
|
||||
return $c;
|
||||
}
|
||||
|
||||
function download_link($file){
|
||||
global $err,$mem;
|
||||
$err->log("log","download_link");
|
||||
header("Content-Disposition: attachment; filename=".$mem->user["login"].".zip");
|
||||
header("Content-Type: application/force-download");
|
||||
header("Content-Transfer-Encoding: binary");
|
||||
$f=$this->get_logs_directory();
|
||||
$ff=$f['dir']."/".basename($file);
|
||||
set_time_limit(0);
|
||||
readfile($ff);
|
||||
}
|
||||
|
||||
|
||||
} // end class
|
||||
|
|
@ -1,6 +1,12 @@
|
|||
# Every day at 4am, produce raw statistics
|
||||
0 4 * * * root /usr/lib/alternc/rawstat.daily
|
||||
|
||||
# Every 2 days compress log files
|
||||
0 4 * * * root /usr/lib/alternc/compress_logs.sh
|
||||
|
||||
# Suppress log files older than one year
|
||||
0 4 * * * root /usr/lib/alternc/delete_logs.sh
|
||||
|
||||
# Every day at 5am and every week at 4am, make requested SQL backups
|
||||
0 5 * * * www-data /usr/lib/alternc/sqlbackup.sh -t daily
|
||||
0 4 * * 0 www-data /usr/lib/alternc/sqlbackup.sh -t weekly
|
||||
|
|
|
@ -102,6 +102,7 @@ var/alternc/mail/z
|
|||
var/alternc/mla
|
||||
var/alternc/sessions
|
||||
var/alternc/tmp
|
||||
var/alternc/logs
|
||||
var/backups/alternc
|
||||
var/log/alternc
|
||||
var/run/alternc
|
||||
|
|
|
@ -10,8 +10,8 @@ Standards-Version: 3.9.1
|
|||
Package: alternc
|
||||
Architecture: all
|
||||
Pre-depends: debconf (>= 0.5.00) | debconf-2.0
|
||||
Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, squirrelmail, squirrelmail-locales, bind9, wget, rsync, quota, ca-certificates, locales, perl-suid, perl, postfix-mysql, wwwconfig-common, sasl2-bin, fam | gamin, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), sudo, adduser, mysql-client, dnsutils, bash, acl, dovecot-common (>= 1:1.2.15), dovecot-imapd, dovecot-pop3d
|
||||
Recommends: mysql-server(>= 5.0), dovecot-managesieved, dovecot-sieve, dovecot-mysql
|
||||
Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, squirrelmail, squirrelmail-locales, bind9, wget, rsync, quota, ca-certificates, locales, perl-suid, perl, postfix-mysql, wwwconfig-common, sasl2-bin, fam | gamin, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), sudo, adduser, mysql-client, dnsutils, bash, acl, dovecot-common (>= 1:1.2.15), dovecot-imapd, dovecot-pop3d,vlogger
|
||||
Recommends: mysql-server(>= 5.0), dovecot-managesieved, dovecot-sieve, dovecot-mysql, ntpdate
|
||||
Conflicts: alternc-admintools, alternc-awstats (< 1.0), alternc-webalizer (<= 0.9.4), alternc-mailman (< 2.0), courier-authdaemon
|
||||
Provides: alternc-admintools
|
||||
Replaces: alternc-admintools
|
||||
|
|
|
@ -71,6 +71,9 @@ install: build
|
|||
done ;\
|
||||
done
|
||||
|
||||
#log directory
|
||||
mkdir -p debian/alternc/var/alternc/logs
|
||||
chown alterncpanel:alterncpanel debian/alternc/var/alternc/logs
|
||||
# Group and user 1999 reference alterncpanel
|
||||
chown 1999:1999 debian/alternc/var/alternc/html/*
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
LogFormat "%{LOGIN}e %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" alternc
|
||||
CustomLog "|| /usr/sbin/vlogger -u alterncpanel -g alterncpanel -s access.log /var/alternc/logs" alternc
|
||||
|
||||
#Uncomment the following line to active Buffered Logs (Default: Off)
|
||||
#BufferedLogs On
|
|
@ -7,7 +7,4 @@
|
|||
|
||||
alias /alternc-sql /usr/share/phpmyadmin
|
||||
alias /webmail /usr/share/squirrelmail
|
||||
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T %{Host}i" alternc
|
||||
CustomLog /var/log/apache2/access.log alternc
|
||||
</VirtualHost>
|
||||
|
|
|
@ -7,6 +7,4 @@
|
|||
RewriteEngine On
|
||||
RewriteRule ^/(.*)$ %%redirect%%/$1 [R=301,L]
|
||||
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T %{Host}i" alternc
|
||||
CustomLog /var/log/apache2/access.log alternc
|
||||
</Virtualhost>
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
<VirtualHost *:80>
|
||||
ServerName %%fqdn%%
|
||||
DocumentRoot "%%document_root%%"
|
||||
AssignUserId #%%UID%% #%%GID%%
|
||||
AssignUserId #%%UID%% #%%GID%%
|
||||
SetEnv LOGIN "%%UID%%-%%LOGIN%%"
|
||||
|
||||
<Directory "%%document_root%%">
|
||||
php_admin_value open_basedir "%%account_root%%:/usr/share/php/:/var/alternc/tmp:/tmp"
|
||||
|
@ -11,6 +12,5 @@
|
|||
AllowOverride AuthConfig FileInfo Limit Options Indexes
|
||||
</Directory>
|
||||
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T %{Host}i" alternc
|
||||
CustomLog /var/log/apache2/access.log alternc
|
||||
</VirtualHost>
|
||||
|
||||
|
|
|
@ -9,6 +9,4 @@
|
|||
Options Indexes FollowSymLinks
|
||||
</Directory>
|
||||
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T %{Host}i" alternc
|
||||
CustomLog /var/log/apache2/access.log alternc
|
||||
</VirtualHost>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
# ----------------------------------------------------------------------
|
||||
#
|
||||
SETUID=mail_add mail_del quota_edit quota_get mem_add mem_del du.pl
|
||||
SCRIPTS=sqlbackup.sh rawstat.daily quota_init quota_delete update_domains.sh slave_dns sendmail spoolsize.php fixperms.sh alternc-dboptimize export_account.php cron_users_doit.sh cron_users.sh
|
||||
SCRIPTS=sqlbackup.sh rawstat.daily quota_init quota_delete update_domains.sh slave_dns sendmail spoolsize.php fixperms.sh alternc-dboptimize export_account.php cron_users_doit.sh cron_users.sh compress_logs.sh delete_logs.sh
|
||||
LIBS=functions.sh functions_hosting.sh functions_dns.sh
|
||||
BIN=$(DESTDIR)/usr/lib/alternc/
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
#! /bin/bash
|
||||
|
||||
for CONFIG_FILE in \
|
||||
/etc/alternc/local.sh \
|
||||
/usr/lib/alternc/functions.sh
|
||||
do
|
||||
if [ ! -r "$CONFIG_FILE" ]; then
|
||||
echo "Can't access $CONFIG_FILE."
|
||||
exit 1
|
||||
fi
|
||||
. "$CONFIG_FILE"
|
||||
done
|
||||
$days=2
|
||||
#parcourir tous les logs pour trouver ceux qui on plus de 2 jours et en faire un tar.
|
||||
find "$ALTERNC_LOC/logs" -not -name '*.gz' -mtime +$days -exec gzip '{}' \;
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
|
||||
for CONFIG_FILE in \
|
||||
/etc/alternc/local.sh \
|
||||
/usr/lib/alternc/functions.sh
|
||||
do
|
||||
if [ ! -r "$CONFIG_FILE" ]; then
|
||||
echo "Can't access $CONFIG_FILE."
|
||||
exit 1
|
||||
fi
|
||||
. "$CONFIG_FILE"
|
||||
done
|
||||
days=366
|
||||
#parcourir tous les logs pour trouver ceux qui on plus de 1 ans et les deletes.
|
||||
find "$ALTERNC_LOC/logs" -mtime +$days -exec rm '{}' \;
|
|
@ -93,6 +93,7 @@ host_create() {
|
|||
|
||||
# Put the good value in the conf file
|
||||
sed -i \
|
||||
-e "s#%%LOGIN%%#$USER#g" \
|
||||
-e "s#%%fqdn%%#$FQDN2#g" \
|
||||
-e "s#%%document_root%%#$DOCUMENT_ROOT2#g" \
|
||||
-e "s#%%account_root%%#$ACCOUNT_ROOT2#g" \
|
||||
|
|
|
@ -19,6 +19,7 @@ umask 022
|
|||
LOCK_FILE="$ALTERNC_LOC/bureau/cron.lock"
|
||||
OLDIFS="$IFS"
|
||||
NEWIFS=" "
|
||||
LOGFORMAT_FILE="/etc/alternc/apache_logformat.conf"
|
||||
RELOAD_ZONES="$(mktemp /tmp/alternc_reload_zones.XXXX)"
|
||||
RELOAD_WEB="$(mktemp /tmp/alternc_reload_web.XXXX)"
|
||||
DNS_DO_RESTART="/tmp/alternc.do_do_restart.$$"
|
||||
|
@ -117,13 +118,26 @@ do
|
|||
echo -n " $dom " >> "$RELOAD_ZONES"
|
||||
done
|
||||
|
||||
|
||||
if [ ! -z "$(cat "$RELOAD_WEB")" ] ; then
|
||||
echo " apache " >> "$RELOAD_ZONES"
|
||||
|
||||
# Concat the apaches files
|
||||
tempo=$(mktemp "$VHOST_FILE.XXXXX")
|
||||
find "$VHOST_DIR" -mindepth 2 -type f -iname "*.conf" -print0 | xargs -0 cat > "$tempo"
|
||||
|
||||
(
|
||||
echo "###BEGIN OF ALTERNC AUTO-GENERATED FILE - DO NOT EDIT MANUALLY###"
|
||||
# If exists and readable, include conf file "apache_logformat.conf"
|
||||
# contain LogFormat and CustomLog directives for our Vhosts)
|
||||
echo "## LogFormat informations"
|
||||
if [ ! -r "$LOGFORMAT_FILE" ] ; then
|
||||
echo "## Warning : Cannot read $LOGFORMAT_FILE"
|
||||
else
|
||||
echo "Include \"$LOGFORMAT_FILE\""
|
||||
fi
|
||||
find "$VHOST_DIR" -mindepth 2 -type f -iname "*.conf" -print0 | xargs -0 cat
|
||||
echo "###END OF ALTERNC AUTO-GENERATED FILE - DO NOT EDIT MANUALLY###"
|
||||
) > "$tempo"
|
||||
|
||||
if [ $? -ne 0 ] ; then
|
||||
log_error " web file concatenation failed"
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue