Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > ISPConfig 2 > General

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Reply
 
Thread Tools Display Modes
  #31  
Old 5th February 2008, 16:07
wpwood3 wpwood3 is offline
Senior Member
 
Join Date: Oct 2007
Location: Atlanta, GA USA
Posts: 197
Thanks: 21
Thanked 31 Times in 21 Posts
Post 7500mb

Quote:
Originally Posted by till
What is the value of the "website Quota" setting of this site?
It is set to 7500 in ISPConfig. The Admin user for this site is also set to 7500.

Code:
[root@centos ~]# quota -g web2
Disk quotas for group web2 (gid 10002): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda4 6423692  7680000 7681024            7923       0       0
Attached Images
 
__________________
CentOS 5.4 64bit (the Perfect Setup)
ISPConfig 2.2.40
WP3 Photography
Reply With Quote
Sponsored Links
  #32  
Old 5th February 2008, 17:41
falko falko is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 41,701
Thanks: 1,900
Thanked 2,740 Times in 2,575 Posts
Default

Please put this into webalizer.php and run the script again:

PHP Code:
<?
/*
Copyright (c) 2005, projektfarm Gmbh, Till Brehm, Falko Timme
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

/**************************
*
* ISPConfig Webalizer Script
* Version 1.0
*
***************************/
set_time_limit(0);

//** 1 = Debugging enabled, 0 = Debugging disabled -----------------
$webalizer_debug 1;
// -----------------------------------------------------------------

include("/root/ispconfig/scripts/lib/config.inc.php");
include(
"/root/ispconfig/scripts/lib/server.inc.php");
$server_id $mod->system->server_id;
$server $mod->system->server_conf;
$path_httpd_root stripslashes($server["server_path_httpd_root"]);
$global_stats_user trim($server['global_stats_user']);
$global_stats_password trim($server['global_stats_password']);
if(
$global_stats_password != ''){
        
//calculate 2/8 random chars as salt for the crypt // by bjmg
        
if($go_info["server"]["password_hash"] == 'crypt') {
            
$salt="";
            for (
$n=0;$n<2;$n++) {
                
$salt.=chr(mt_rand(64,126));
            }
        } else {
            
$salt="$1$";
            for (
$n=0;$n<8;$n++) {
                
$salt.=chr(mt_rand(64,126));
            }
            
$salt.="$";
        }

        
$global_stats_password crypt($global_stats_password$salt);
}

exec("which webalizer"$webalizer_location$verify);

unset(
$webalizer_location);

if(
$verify == 0){

$web_home $path_httpd_root;

$message "";

$handle = @opendir($web_home);
while (
$dir = @readdir ($handle)) {
    if (
$dir != "." && $dir != "..") {
        if(@!
is_link("$web_home/$dir") && substr($dir,0,3) == "web" && is_numeric(substr($dir,3))) {
        
// ist kein symbolischer Link

            
$webname $dir;
            
$web_doc_id str_replace("web"""$webname);
            if(
$web_data $mod->db->queryOneRecord("SELECT * FROM isp_isp_web WHERE doc_id = '$web_doc_id' AND webalizer_stats = '1'")){
              
$web_path $web_home "/$webname/web";
              
$stats_path $web_path "/stats";
              
$logfile $web_home "/$webname/log/web.log";
              
$web_user fileowner($web_path);
              
$web_group filegroup($web_path);

              
// erstelle Stats Verzeichnis, wenn nicht vorhanden
              
if(!@is_dir($stats_path)) {
                  
mkdir($stats_path,0775);
                  
chown($stats_path,$web_user);
                  
chgrp($stats_path,$web_group);
                  
$message .= "Erstelle Statistik Verzeichnis: $stats_path\n";
              }


              
// Experimentell: erstelle .htaccess Dateien mit Zugangsberechtigung für Gruppe des Webs
              
if(!@is_dir($stats_path."/.htaccess")) {

                  
$ht_file "AuthType Basic
AuthName \"Members Only\"
AuthUserFile $web_home/$webname/.htpasswd
<limit GET PUT POST>
require valid-user
</limit>"
;
                  
$fp fopen ($stats_path."/.htaccess""w");
                  
fwrite($fp,$ht_file);
                  
fclose($fp);
                  
chmod($stats_path."/.htaccess",0664);
              }

              if(!@
is_dir($web_home."/".$webname."/.htpasswd")) {

                  
exec("cat ".$mod->system->server_conf["passwd_datei"]." | grep ".$web_home."/".$webname."/ |cut -f1 -d:"$users);
                  
exec("cat ".$mod->system->server_conf["passwd_datei"]." | grep ".$web_home."/".$webname.": |cut -f1 -d:"$users);
                  
$ht_file "";
                  if(!empty(
$users)){
                     foreach(
$users as $user){
                       
$user_password exec("cat ".$mod->system->server_conf["shadow_datei"]." | grep '$user:' | grep -w $user |cut -f2 -d:");
                       
$ht_file .= "$user:$user_password\n";
                     }
                  } else {
                    
//$ht_file .= "admin:\$1\$TAVCXZlv\$NAjnpdNgAfPMNT4/A61Z.0\n";
                  
}
                  if(
$global_stats_user != '' && $global_stats_password != ''$ht_file .= $global_stats_user.":".$global_stats_password."\n";

                  unset(
$users);
                  
$fp fopen ($web_home."/".$webname."/.htpasswd""w");
                  
fwrite($fp,$ht_file);
                  
fclose($fp);
                  
chmod($web_home."/".$webname."/.htpasswd",0664);
                  
exec("chown :".$webname." ".$web_home."/".$webname."/.htpasswd");
              }


              
// Starte Webalizer
              
if(@is_file($logfile)) {
                  if(!empty(
$web_data["web_host"])){
                    
$web_real_name $web_data["web_host"].".".$web_data["web_domain"];
                  } else {
                    
$web_real_name $web_data["web_domain"];
                  }
                  
$message .= exec("webalizer -n $web_real_name -s $web_real_name -r $web_real_name -q -T -o $stats_path -c /root/ispconfig/scripts/shell/webalizer.conf $logfile")."\n";
              }

              
exec("chown -R $web_user:$web_group $stats_path &> /dev/null");
            }

        }
    }
}

echo 
$message;

}

////////////// LOGSIZE //////////////////
function dir_size($dir) {
  
$totalsize=0;
  if (
$dirstream = @opendir($dir)) {
    while (
false !== ($filename readdir($dirstream))) {
      if (
$filename!="." && $filename!=".."){
        if (
is_file($dir."/".$filename) && !is_link($dir."/".$filename)){
          
$totalsize+=filesize($dir."/".$filename);
        }
        if (
is_dir($dir."/".$filename)) $totalsize+=dir_size($dir."/".$filename);
      }
    }
  }
  
closedir($dirstream);
  
clearstatcache();
  return 
$totalsize;
}

function 
dir_array($dir){
  
$directory_array = array();
  if (
$dirstream = @opendir($dir)) {
    while (
false !== ($filename readdir($dirstream))) {
      if (
$filename!="." && $filename!=".." && $filename!=".no_delete"){
        if (
is_file($dir."/".$filename) && !is_link($dir."/".$filename)){
          
$directory_array[$dir."/".$filename] = filemtime($dir."/".$filename);
        }
        if (
is_dir($dir."/".$filename)) $directory_array array_merge($directory_arraydir_array($dir."/".$filename));
      }
    }
  }
  
closedir($dirstream);
  
clearstatcache();
  return 
$directory_array;
}

$webs $mod->db->queryAllRecords("SELECT * FROM isp_isp_web");
if(!empty(
$webs)){
  foreach(
$webs as $web){
    if(
$webalizer_debug == 1) echo "Domain: $web[web_domain]\n";
    
$log_dir $path_httpd_root."/web".$web["doc_id"]."/log";
    if(
is_dir($log_dir)){
          if(
$webalizer_debug == 1) echo "Log Dir: $log_dir\n";
      
$max_directory_size str_replace(",""."trim($web["optionen_logsize"]));
      if(
strstr($max_directory_size'%')){
        if(
$web["web_speicher"] == -1){
          
$log_check false;
                  if(
$webalizer_debug == 1) echo "We do not check the logsize as Quota is set to unlimited.\n";
        } else {
          
$parts explode('%'$max_directory_size);
          if(
is_numeric(trim($parts[0])) && trim($parts[0]) >= 0){
            
$max_directory_size str_replace(",""."$web["web_speicher"]) * 1048576 floatval($max_directory_size) / 100;
            
$log_check true;
                        if(
$webalizer_debug == 1) echo "Max Log size: $max_directory_size\n";
          } else {
            
$log_check false;
          }
          
$parts NULL;
        }
      } else {
        if(
is_numeric($max_directory_size) && $max_directory_size >= 0){
          
$max_directory_size $max_directory_size 1048576;
          
$log_check true;
                  if(
$webalizer_debug == 1) echo "Max Log size: $max_directory_size\n";
        } else {
          
$log_check false;
        }
      }
      
$directory_size dir_size($log_dir);
          if(
$webalizer_debug == 1) echo "Current Log size: $directory_size\n";

      if(
$log_check){
        while(
$directory_size >= $max_directory_size){
          
$files dir_array($log_dir);
          if(!empty(
$files)){
            
asort($files);
            
$files array_slice ($files01);
            foreach(
$files as $key => $val){
              if(
is_file($key)) unlink($key);
                          if(
$webalizer_debug == 1) echo "Deleting logfile $key\n";
            }
          } else {
            break;
          }
          unset(
$files);
          
$directory_size dir_size($log_dir);
        }
      }
    }
  }
}
//////////////// LOGSIZE ENDE ////////////////
?>
What's the output?
__________________
Falko
--
Download the ISPConfig 3 Manual! | Check out the ISPConfig 3 Billing Module!

FB: http://www.facebook.com/howtoforge

nginx-Webhosting: Timme Hosting | Follow me on:
Reply With Quote
  #33  
Old 5th February 2008, 18:26
wpwood3 wpwood3 is offline
Senior Member
 
Join Date: Oct 2007
Location: Atlanta, GA USA
Posts: 197
Thanks: 21
Thanked 31 Times in 21 Posts
Post Here it is

Code:
[root@centos shell]# /root/ispconfig/php/php -q /root/ispconfig/scripts/shell/webalizer.php
Warning: Truncating oversized request field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Error: Skipping oversized log record
Warning: Truncating oversized request field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
2630005 records (2629881 ignored, 1 bad) in 443.50 seconds, 5930/sec
[root@centos shell]#
__________________
CentOS 5.4 64bit (the Perfect Setup)
ISPConfig 2.2.40
WP3 Photography
Reply With Quote
  #34  
Old 6th February 2008, 12:54
falko falko is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 41,701
Thanks: 1,900
Thanked 2,740 Times in 2,575 Posts
Default

It seems as if the script can't read out the web sites from your ISPConfig database. Can you change this section:
Code:
$webs = $mod->db->queryAllRecords("SELECT * FROM isp_isp_web");
if(!empty($webs)){
  foreach($webs as $web){
    if($webalizer_debug == 1) echo "Domain: $web[web_domain]\n";
so that it looks like this:
Code:
$webs = $mod->db->queryAllRecords("SELECT * FROM isp_isp_web");
print_r($webs);
if(!empty($webs)){
  foreach($webs as $web){
    if($webalizer_debug == 1) echo "Domain: $web[web_domain]\n";
and run the script again? What's the output then?
__________________
Falko
--
Download the ISPConfig 3 Manual! | Check out the ISPConfig 3 Billing Module!

FB: http://www.facebook.com/howtoforge

nginx-Webhosting: Timme Hosting | Follow me on:
Reply With Quote
  #35  
Old 6th February 2008, 18:37
wpwood3 wpwood3 is offline
Senior Member
 
Join Date: Oct 2007
Location: Atlanta, GA USA
Posts: 197
Thanks: 21
Thanked 31 Times in 21 Posts
Default No difference

I made the changes you requested to the same webalizer.php script you gave me above. It did not seem to make any difference.

Here are the results:
Code:
 
[root@centos shell]# /root/ispconfig/php/php -q /root/ispconfig/scripts/shell/webalizer.php
Warning: Truncating oversized request field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Error: Skipping oversized log record
Warning: Truncating oversized request field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
3414569 records (3414568 ignored, 1 bad) in 555.50 seconds, 6146/sec
__________________
CentOS 5.4 64bit (the Perfect Setup)
ISPConfig 2.2.40
WP3 Photography
Reply With Quote
  #36  
Old 7th February 2008, 17:43
falko falko is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 41,701
Thanks: 1,900
Thanked 2,740 Times in 2,575 Posts
Default

That's really strange. Even if the MySQL query was emtpy, it should print an empty array.
Please try this:
Code:
$webs = $mod->db->queryAllRecords("SELECT * FROM isp_isp_web");
echo "hello\n";
if(!empty($webs)){
  foreach($webs as $web){
    if($webalizer_debug == 1) echo "Domain: $web[web_domain]\n";
and run the script again. If it doesn't print "hello", then you should check if your changes were saved.
__________________
Falko
--
Download the ISPConfig 3 Manual! | Check out the ISPConfig 3 Billing Module!

FB: http://www.facebook.com/howtoforge

nginx-Webhosting: Timme Hosting | Follow me on:
Reply With Quote
  #37  
Old 7th February 2008, 18:06
wpwood3 wpwood3 is offline
Senior Member
 
Join Date: Oct 2007
Location: Atlanta, GA USA
Posts: 197
Thanks: 21
Thanked 31 Times in 21 Posts
Post This is the script I am running:

Ok, I am running the script again now. I have double checked that the changes you requested are included in the script. Just to be sure, here is the script I am running:
Code:
 
<? 
/* 
Copyright (c) 2005, projektfarm Gmbh, Till Brehm, Falko Timme 
All rights reserved. 
Redistribution and use in source and binary forms, with or without modification, 
are permitted provided that the following conditions are met: 
    * Redistributions of source code must retain the above copyright notice, 
      this list of conditions and the following disclaimer. 
    * Redistributions in binary form must reproduce the above copyright notice, 
      this list of conditions and the following disclaimer in the documentation 
      and/or other materials provided with the distribution. 
    * Neither the name of ISPConfig nor the names of its contributors 
      may be used to endorse or promote products derived from this software without 
      specific prior written permission. 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
*/ 
/************************** 
* 
* ISPConfig Webalizer Script 
* Version 1.0 
* 
***************************/ 
set_time_limit(0); 
//** 1 = Debugging enabled, 0 = Debugging disabled ----------------- 
$webalizer_debug = 1; 
// ----------------------------------------------------------------- 
include("/root/ispconfig/scripts/lib/config.inc.php"); 
include("/root/ispconfig/scripts/lib/server.inc.php"); 
$server_id = $mod->system->server_id; 
$server = $mod->system->server_conf; 
$path_httpd_root = stripslashes($server["server_path_httpd_root"]); 
$global_stats_user = trim($server['global_stats_user']); 
$global_stats_password = trim($server['global_stats_password']); 
if($global_stats_password != ''){ 
        //calculate 2/8 random chars as salt for the crypt // by bjmg 
        if($go_info["server"]["password_hash"] == 'crypt') { 
            $salt=""; 
            for ($n=0;$n<2;$n++) { 
                $salt.=chr(mt_rand(64,126)); 
            } 
        } else { 
            $salt="$1$"; 
            for ($n=0;$n<8;$n++) { 
                $salt.=chr(mt_rand(64,126)); 
            } 
            $salt.="$"; 
        } 
        $global_stats_password = crypt($global_stats_password, $salt); 
} 
exec("which webalizer", $webalizer_location, $verify); 
unset($webalizer_location); 
if($verify == 0){ 
$web_home = $path_httpd_root; 
$message = ""; 
$handle = @opendir($web_home); 
while ($dir = @readdir ($handle)) { 
    if ($dir != "." && $dir != "..") { 
        if(@!is_link("$web_home/$dir") && substr($dir,0,3) == "web" && is_numeric(substr($dir,3))) { 
        // ist kein symbolischer Link 
            $webname = $dir; 
            $web_doc_id = str_replace("web", "", $webname); 
            if($web_data = $mod->db->queryOneRecord("SELECT * FROM isp_isp_web WHERE doc_id = '$web_doc_id' AND webalizer_stats = '1'")){ 
              $web_path = $web_home . "/$webname/web"; 
              $stats_path = $web_path . "/stats"; 
              $logfile = $web_home . "/$webname/log/web.log"; 
              $web_user = fileowner($web_path); 
              $web_group = filegroup($web_path); 
              // erstelle Stats Verzeichnis, wenn nicht vorhanden 
              if(!@is_dir($stats_path)) { 
                  mkdir($stats_path,0775); 
                  chown($stats_path,$web_user); 
                  chgrp($stats_path,$web_group); 
                  $message .= "Erstelle Statistik Verzeichnis: $stats_path\n"; 
              } 
 
              // Experimentell: erstelle .htaccess Dateien mit Zugangsberechtigung für Gruppe des Webs 
              if(!@is_dir($stats_path."/.htaccess")) { 
                  $ht_file = "AuthType Basic 
AuthName \"Members Only\" 
AuthUserFile $web_home/$webname/.htpasswd 
<limit GET PUT POST> 
require valid-user 
</limit>"; 
                  $fp = fopen ($stats_path."/.htaccess", "w"); 
                  fwrite($fp,$ht_file); 
                  fclose($fp); 
                  chmod($stats_path."/.htaccess",0664); 
              } 
              if(!@is_dir($web_home."/".$webname."/.htpasswd")) { 
                  exec("cat ".$mod->system->server_conf["passwd_datei"]." | grep ".$web_home."/".$webname."/ |cut -f1 -d:", $users); 
                  exec("cat ".$mod->system->server_conf["passwd_datei"]." | grep ".$web_home."/".$webname.": |cut -f1 -d:", $users); 
                  $ht_file = ""; 
                  if(!empty($users)){ 
                     foreach($users as $user){ 
                       $user_password = exec("cat ".$mod->system->server_conf["shadow_datei"]." | grep '$user:' | grep -w $user |cut -f2 -d:"); 
                       $ht_file .= "$user:$user_password\n"; 
                     } 
                  } else { 
                    //$ht_file .= "admin:\$1\$TAVCXZlv\$NAjnpdNgAfPMNT4/A61Z.0\n"; 
                  } 
                  if($global_stats_user != '' && $global_stats_password != '') $ht_file .= $global_stats_user.":".$global_stats_password."\n"; 
                  unset($users); 
                  $fp = fopen ($web_home."/".$webname."/.htpasswd", "w"); 
                  fwrite($fp,$ht_file); 
                  fclose($fp); 
                  chmod($web_home."/".$webname."/.htpasswd",0664); 
                  exec("chown :".$webname." ".$web_home."/".$webname."/.htpasswd"); 
              } 
 
              // Starte Webalizer 
              if(@is_file($logfile)) { 
                  if(!empty($web_data["web_host"])){ 
                    $web_real_name = $web_data["web_host"].".".$web_data["web_domain"]; 
                  } else { 
                    $web_real_name = $web_data["web_domain"]; 
                  } 
                  $message .= exec("webalizer -n $web_real_name -s $web_real_name -r $web_real_name -q -T -o $stats_path -c /root/ispconfig/scripts/shell/webalizer.conf $logfile")."\n"; 
              } 
              exec("chown -R $web_user:$web_group $stats_path &> /dev/null"); 
            } 
        } 
    } 
} 
echo $message; 
} 
////////////// LOGSIZE ////////////////// 
function dir_size($dir) { 
  $totalsize=0; 
  if ($dirstream = @opendir($dir)) { 
    while (false !== ($filename = readdir($dirstream))) { 
      if ($filename!="." && $filename!=".."){ 
        if (is_file($dir."/".$filename) && !is_link($dir."/".$filename)){ 
          $totalsize+=filesize($dir."/".$filename); 
        } 
        if (is_dir($dir."/".$filename)) $totalsize+=dir_size($dir."/".$filename); 
      } 
    } 
  } 
  closedir($dirstream); 
  clearstatcache(); 
  return $totalsize; 
} 
function dir_array($dir){ 
  $directory_array = array(); 
  if ($dirstream = @opendir($dir)) { 
    while (false !== ($filename = readdir($dirstream))) { 
      if ($filename!="." && $filename!=".." && $filename!=".no_delete"){ 
        if (is_file($dir."/".$filename) && !is_link($dir."/".$filename)){ 
          $directory_array[$dir."/".$filename] = filemtime($dir."/".$filename); 
        } 
        if (is_dir($dir."/".$filename)) $directory_array = array_merge($directory_array, dir_array($dir."/".$filename)); 
      } 
    } 
  } 
  closedir($dirstream); 
  clearstatcache(); 
  return $directory_array; 
} 
$webs = $mod->db->queryAllRecords("SELECT * FROM isp_isp_web");
echo "hello\n";
if(!empty($webs)){
  foreach($webs as $web){
    if($webalizer_debug == 1) echo "Domain: $web[web_domain]\n"; 
    $log_dir = $path_httpd_root."/web".$web["doc_id"]."/log"; 
    if(is_dir($log_dir)){ 
          if($webalizer_debug == 1) echo "Log Dir: $log_dir\n"; 
      $max_directory_size = str_replace(",", ".", trim($web["optionen_logsize"])); 
      if(strstr($max_directory_size, '%')){ 
        if($web["web_speicher"] == -1){ 
          $log_check = false; 
                  if($webalizer_debug == 1) echo "We do not check the logsize as Quota is set to unlimited.\n"; 
        } else { 
          $parts = explode('%', $max_directory_size); 
          if(is_numeric(trim($parts[0])) && trim($parts[0]) >= 0){ 
            $max_directory_size = str_replace(",", ".", $web["web_speicher"]) * 1048576 * floatval($max_directory_size) / 100; 
            $log_check = true; 
                        if($webalizer_debug == 1) echo "Max Log size: $max_directory_size\n"; 
          } else { 
            $log_check = false; 
          } 
          $parts = NULL; 
        } 
      } else { 
        if(is_numeric($max_directory_size) && $max_directory_size >= 0){ 
          $max_directory_size = $max_directory_size * 1048576; 
          $log_check = true; 
                  if($webalizer_debug == 1) echo "Max Log size: $max_directory_size\n"; 
        } else { 
          $log_check = false; 
        } 
      } 
      $directory_size = dir_size($log_dir); 
          if($webalizer_debug == 1) echo "Current Log size: $directory_size\n"; 
      if($log_check){ 
        while($directory_size >= $max_directory_size){ 
          $files = dir_array($log_dir); 
          if(!empty($files)){ 
            asort($files); 
            $files = array_slice ($files, 0, 1); 
            foreach($files as $key => $val){ 
              if(is_file($key)) unlink($key); 
                          if($webalizer_debug == 1) echo "Deleting logfile $key\n"; 
            } 
          } else { 
            break; 
          } 
          unset($files); 
          $directory_size = dir_size($log_dir); 
        } 
      } 
    } 
  } 
} 
//////////////// LOGSIZE ENDE //////////////// 
?>
__________________
CentOS 5.4 64bit (the Perfect Setup)
ISPConfig 2.2.40
WP3 Photography
Reply With Quote
  #38  
Old 7th February 2008, 18:16
wpwood3 wpwood3 is offline
Senior Member
 
Join Date: Oct 2007
Location: Atlanta, GA USA
Posts: 197
Thanks: 21
Thanked 31 Times in 21 Posts
Post Here is the output of the script:

It printed your "hello" at the end
Code:
[root@centos shell]# /root/ispconfig/php/php -q /root/ispconfig/scripts/shell/webalizer.php
Warning: Truncating oversized request field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Error: Skipping oversized log record
Warning: Truncating oversized request field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
Warning: Truncating oversized referrer field
Warning: Truncating oversized request field
Warning: Truncating oversized referrer field
4122293 records (4122292 ignored, 1 bad) in 705.00 seconds, 5847/sec
hello
One more piece of information...
I just tried running your webalizer.php script on my 32bit test server and it ran fine and produced the correct debug output. The issue appears to be limited to my 64bit production server. These two servers have identical software installed.
__________________
CentOS 5.4 64bit (the Perfect Setup)
ISPConfig 2.2.40
WP3 Photography

Last edited by wpwood3; 7th February 2008 at 18:46.
Reply With Quote
  #39  
Old 8th February 2008, 17:41
falko falko is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 41,701
Thanks: 1,900
Thanked 2,740 Times in 2,575 Posts
Default

That's strange. I think I have to test this on a 64bit system...
__________________
Falko
--
Download the ISPConfig 3 Manual! | Check out the ISPConfig 3 Billing Module!

FB: http://www.facebook.com/howtoforge

nginx-Webhosting: Timme Hosting | Follow me on:
Reply With Quote
  #40  
Old 20th March 2008, 17:51
wpwood3 wpwood3 is offline
Senior Member
 
Join Date: Oct 2007
Location: Atlanta, GA USA
Posts: 197
Thanks: 21
Thanked 31 Times in 21 Posts
 
Question

Quote:
Originally Posted by falko
That's strange. I think I have to test this on a 64bit system...
Falco-
Did you test this on a 64-bit system? It's still an issue for me.
Why isn't this problem listed in the bugtracker?

If you want me to try running any more test scripts on my server, let me know. I'll be glad to help.
__________________
CentOS 5.4 64bit (the Perfect Setup)
ISPConfig 2.2.40
WP3 Photography
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
SSL Issue - Unable to connect to any site Menzor Installation/Configuration 4 27th May 2007 04:03
iptables issue with xen perfect setup - debian alexnz HOWTO-Related Questions 3 25th November 2006 13:49
Postfix Issue thetekgeek Server Operation 18 25th October 2006 16:44
Mail issue with Postfix + Amavis + Spamassassin mhxy594 Server Operation 3 21st August 2006 06:50
Outlook 2003 issue with courier-pop3 RotHorseKid Installation/Configuration 6 7th December 2005 20:35


All times are GMT +2. The time now is 14:57.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.