Pandora FMS instalation wizard. Step #1 of 4

Welcome to Pandora FMS installation Wizard

This wizard helps you to quick install Pandora FMS console in your system.

In three steps checks all dependencies and make your configuration for a quick installation.

For more information, please refer to documentation.

Pandora FMS Development team "; if (file_exists("include/config.php")){ echo "

Warning: You already have a config.php file. Configuracion and database would be overwritten if you continue.

"; } echo "

"; } function check_extension ( $ext, $label ){ echo ""; echo " $label"; echo ""; if (!extension_loaded($ext)){ echo ""; return 1; } else { echo ""; return 0; } echo ""; } function check_include ( $ext, $label ){ echo ""; echo " $label"; echo ""; if (!include($ext)){ echo ""; return 1; } else { echo ""; return 0; } echo ""; } function check_exists ( $file, $label ){ echo ""; echo " $label"; echo ""; if (!file_exists ($file)){ echo " "; return 1; } else { echo " "; return 0; } echo ""; } function check_generic ( $ok, $label ){ echo ""; echo " $label"; echo ""; if ($ok == 0 ){ echo " "; return 1; } else { echo " "; return 0; } echo ""; } function check_variable ( $var, $value, $label, $mode ){ echo ""; echo " $label"; echo ""; if ($mode == 1){ if ($var >= $value){ echo " "; return 0; } else { echo " "; return 1; } } elseif ($var == $value){ echo " "; return 0; } else { echo " "; return 1; } echo ""; } function install_step2() { echo "

Pandora FMS console instalation wizard. Step #2 of 4

"; echo "

Checking software dependencies

"; echo ""; $res = 0; $res += check_variable(phpversion(),"4.3","PHP version >= 4.3.x",1); $res += check_extension("mysql","PHP MySQL extension"); //$res += check_extension("curl","PHP Curl extension"); $res += check_extension("gd","PHP gd extension"); $res += check_extension("snmp","PHP smmp extension"); $res += check_extension("session","PHP session extension"); $res += check_include("PEAR.php","PEAR PHP Library"); //$res += check_exists ("/usr/bin/pdflatex","PDF Latex in /usr/bin/pdflatex"); echo "
"; if ($res > 0) { echo "

You have some uncomplete dependencies. Please correct it or this installer could not finish your installation.

Ignore it. Force install Step #3"; } else { echo ""; } echo "
"; } function install_step3() { echo "

Pandora FMS console instalation wizard. Step #3 of 4

Environment and database setup

This wizard will create your Pandora FMS database, and populate it with data needed to run for first time. You need a privileged user to create database schema, this is usually root user. Information about root user will not be used or stored for anymore.

Now, please, complete all details to configure your database and enviroment setup

DB User with privileges on MySQL
DB Password for this user
DB Hostname of MySQL
Full path to HTTP publication directory.
For example /srv/www/hdtocs/
Full local URL to Pandora FMS Console.
For example http://localhost/pandora_console
"; } function parse_mysql_dump($url){ if (file_exists($url)){ $file_content = file($url); $query = ""; foreach($file_content as $sql_line){ if(trim($sql_line) != "" && strpos($sql_line, "--") === false){ $query .= $sql_line; if(preg_match("/;[\040]*\$/", $sql_line)){ if (!$result = mysql_query($query)) return 0; $query = ""; } } } return 1; } else { return 0; } } function random_name ($size){ $temp = ""; for ($a=0;$a< $size;$a++) $temp = $temp. chr(rand(122,97)); return $temp; } function install_step4() { $db_name = "pandora"; $pandora_config = "include/config.php"; if ( (! isset($_POST["user"])) || (! isset($_POST["host"])) || (! isset($_POST["pass"])) ) { $dbpassword = ""; $dbuser = ""; $dbhost = ""; } else { $dbpassword = $_POST["pass"]; $dbuser = $_POST["user"]; $dbhost = $_POST["host"]; if (isset($_POST["url"])) $url = $_POST["url"]; else $url = "http://localhost"; if (isset($_POST["path"])) $path = $_POST["path"]; else $path = "/var/www"; } $everything_ok = 0; $step1=0; $step2=0; $step3=0; $step4=0; $step5=0; $step6=0; $step7=0; echo "

Pandora FMS Console instalation wizard. Step #4 of 4

Creating database and default configuration file

"; if (! mysql_connect ($dbhost,$dbuser,$dbpassword)) { check_generic ( 0, "Connection with Database"); } else { check_generic ( 1, "Connection with Database"); // Create schema $step1 = mysql_query ("CREATE DATABASE $db_name"); check_generic ($step1, "Creating database '$db_name'"); if ($step1 == 1){ $step2 = mysql_select_db($db_name); check_generic ($step2, "Opening database '$db_name'"); $step3 = parse_mysql_dump("pandoradb.sql"); check_generic ($step3, "Creating schema"); $step4 = parse_mysql_dump("pandoradb_data.sql"); check_generic ($step4, "Populating database"); $random_password = random_name (8); $step5 = mysql_query ("GRANT ALL PRIVILEGES ON $db_name.* to pandora@localhost IDENTIFIED BY '".$random_password."'"); mysql_query ("FLUSH PRIVILEGES"); check_generic ($step5, "Established privileges for user pandora"); $step6 = is_writable("include"); check_generic ($step6, "Write permissions to save config file in './include'"); $cfgin = fopen ("include/config.inc.php","r"); $cfgout = fopen ($pandora_config,"w"); $config_contents = fread ($cfgin, filesize("include/config.inc.php")); $config_new = ' '; $step7 = fputs ($cfgout, $config_new); $step7 = $step7 + fputs ($cfgout, $config_contents); if ($step7 > 0) $step7 = 1; fclose ($cfgin); fclose ($cfgout); check_generic ($step7, "Created new config file at '".$pandora_config."'"); } } if (($step7 + $step6 + $step5 + $step4 + $step3 + $step2 + $step1) == 7) { $everything_ok = 1; } echo "
"; if ($everything_ok == 1) { echo ""; } else { echo " You get some problems. Installation is not completed.

Please correct failures before trying again. All database schemes created in this step have been dropped.

"; if (mysql_error() != "") echo "

ERROR: ". mysql_error()."

"; mysql_query ("DROP DATABASE $db_name"); } echo "
"; } function install_step5() { echo "

Pandora FMS console instalation wizard. Finished

Installation complete

You now must delete manually this installer for security, ('install.php') and rename your new config file '".$pandora_config."' to 'config.php' before trying to access to your Pandora FMS console.

Don't forget to check http://pandora.sourceforge.net for updates.

Click here to access to your Pandora FMS console



"; } if (! isset($_GET["step"])){ install_step1(); } else { $step = $_GET["step"]; switch ($step) { case 2: install_step2(); break; case 3: install_step3(); break; case 4: install_step4(); break; case 5: install_step5(); break; } } ?>