Skip to content
install.lib.php 28.3 KiB
Newer Older
	return $timezone;
function getapacheversion($get_minor = false) {
	global $app;
	
	$cmd = '';
	if(is_installed('apache2ctl')) $cmd = 'apache2ctl -v';
	elseif(is_installed('apachectl')) $cmd = 'apachectl -v';
	else {
		ilog("Could not check apache version, apachectl not found.");
		return '2.4';
	}
	
	exec($cmd, $output, $return_var);
	if($return_var != 0 || !$output[0]) {
		ilog("Could not check apache version, apachectl did not return any data.");
		return '2.4';
	}
	
	if(preg_match('/version:\s*Apache\/(\d+)(\.(\d+)(\.(\d+))*)?(\D|$)/i', $output[0], $matches)) {
		return $matches[1] . (isset($matches[3]) ? '.' . $matches[3] : '') . (isset($matches[5]) && $get_minor == true ? '.' . $matches[5] : '');
	} else {
		ilog("Could not check apache version, did not find version string in apachectl output.");
		return '2.4';
function getapachemodules() {
	global $app;
	
	$cmd = '';
	if(is_installed('apache2ctl')) $cmd = 'apache2ctl -t -D DUMP_MODULES';
	elseif(is_installed('apachectl')) $cmd = 'apachectl -t -D DUMP_MODULES';
	else {
		ilog("Could not check apache modules, apachectl not found.");
	exec($cmd . ' 2>/dev/null', $output, $return_var);
	if($return_var != 0 || !$output[0]) {
		ilog("Could not check apache modules, apachectl did not return any data.");
		return array();
	}
	
	$modules = array();
	for($i = 0; $i < count($output); $i++) {
		if(preg_match('/^\s*(\w+)\s+\((shared|static)\)\s*$/', $output[$i], $matches)) {
			$modules[] = $matches[1];
		}
	}
	
	return $modules;
}
root's avatar
root committed
function tRNG(){
	global $conf;
root's avatar
root committed
	$path='/dev/random';$test='/tmp/ispconfig.tRNG';$time=2;$warn=8192;
	echo "Testing $time seconds throughput of $path ... ";
root's avatar
root committed
	exec("cat $path > $test & PID=\$!; sleep $time; kill \$PID");
	if(($result=filesize($test)) < $warn) {
root's avatar
root committed
		echo "$result bytes\n[WARN] these services may fail: {$conf['tRNG']}minimum recommended: $warn\n";
root's avatar
root committed
	}else echo "$result bytes OK\n";
root's avatar
root committed
	unlink($test);
}