diff --git a/install/install.php b/install/install.php
index 59c1d4001dc7c59b7b7766ba2bd7ab5bf2eb458f..7c6956bec12841350a2593cf469835c8c5f35cfc 100644
--- a/install/install.php
+++ b/install/install.php
@@ -53,7 +53,7 @@ $inst = new installer();
 
 
 
-swriteln($inst->lng("This application will install ISPConfig 3 on your server.");
+swriteln($inst->lng("This application will install ISPConfig 3 on your server."));
 
 // Select the language
 $conf["language"] = $inst->simple_query('Select language',array('en','de'),'en');
@@ -70,20 +70,27 @@ unset($tmp_out);
 
 
 // Get MySQL root password
-include_once('lib/mysql.lib.php');
 $finished = false;
 do {
-	$conf["mysql_server_admin_password"] = $inst->free_query('MySQL root password','');
+	$tmp_mysql_server_host = $inst->free_query('MySQL server hostname',$conf["mysql_server_host"]);
+	$tmp_mysql_server_admin_user = $inst->free_query('MySQL root username',$conf["mysql_server_admin_user"]);
+	$tmp_mysql_server_admin_password = $inst->free_query('MySQL root password',$conf["mysql_server_admin_password"]);
+	
 	// Initialize the MySQL server connection
-	$inst->db = new db();
-	if($inst->db->connect() == false) {
-		swriteln($inst->db->errorMessage);
-	} else {
+	if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
+		$conf["mysql_server_host"] = $tmp_mysql_server_host;
+		$conf["mysql_server_admin_user"] = $tmp_mysql_server_admin_user;
+		$conf["mysql_server_admin_password"] = $tmp_mysql_server_admin_password;
 		$finished = true;
+	} else {
+		swriteln($inst->lng("Unable to connect to mysql server").' '.mysql_error());
 	}
 } while ($finished == false);
+unset($finished);
 
-
+// initializing database connection
+include_once('lib/mysql.lib.php');
+$inst->db = new db();
 
 // Begin with standard or expert installation
 if($install_mode == 'Standard') {
diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index 9dc0686bd8016ad1a214c0247eee078fb45e68d4..513f09eb8842de22d56a54a3404f21b5c1af61db 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -49,11 +49,11 @@ function sread() {
     return rtrim($input);
 }
 
-function swrite($text) {
+function swrite($text = '') {
 	echo $text;
 }
 
-function swriteln($text) {
+function swriteln($text = '') {
 	echo $text."\n";
 }
 
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index e152fe895312aa5aedeeea795479e5561108945d..c7bf3fd718cb25a86d47d5d372a7aa21468ae048 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -52,12 +52,13 @@ class installer_base {
 		$finished = false;
 		do {
 			$answers_str = implode(",",$answers);
-			swriteln($this->lng($query).' ('.$answers_str.') ['.$default.']:');
+			swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
 			$input = sread();
 			
 			// Stop the installation
 			if($input == 'quit') {
-				die($this->lng('Installation interrupted.'));
+				swriteln($this->lng('Installation interrupted.'));
+				die();
 			}
 			
 			// Select the default
@@ -72,26 +73,30 @@ class installer_base {
 			}
 			
 		} while ($finished == false);
+		swriteln();
 		return $answer;
 	}
 	
 	function free_query($query,$default) {
 		global $conf;
 		
-		$answers_str = implode(",",$answers);
-		swriteln($this->lng($query).' ['.$default.']:');
+		swrite($this->lng($query).' ['.$default.']: ');
 		$input = sread();
 			
 		// Stop the installation
 		if($input == 'quit') {
-			die($this->lng('Installation interrupted.'));
+			swriteln($this->lng('Installation interrupted.'));
+			die();
 		}
 			
 		// Select the default
 		if($input == '') {
 			$answer = $default;
+		} else {
+			$answer = $input;
 		}
-			
+		swriteln();
+		
 		return $answer;
 	}
 	
@@ -534,7 +539,7 @@ maildrop  unix  -       n       n       -       -       pipe
 		$content = str_replace('{mysql_server_ispconfig_user}',$conf["mysql_server_ispconfig_user"],$content);
 		$content = str_replace('{mysql_server_ispconfig_password}',$conf["mysql_server_ispconfig_password"],$content);
 		$content = str_replace('{mysql_server_database}',$conf["mysql_server_database"],$content);
-		$content = str_replace('{mysql_server_ip}',$conf["mysql_server_ip"],$content);
+		$content = str_replace('{mysql_server_host}',$conf["mysql_server_host"],$content);
 		$content = str_replace('{server_id}',$conf["server_id"],$content);
 		wf($conf["dist_mydns_config_dir"].'/'.$configfile,$content);
 		exec('chmod 600 '.$conf["dist_mydns_config_dir"].'/'.$configfile);
diff --git a/install/lib/mysql.lib.php b/install/lib/mysql.lib.php
index 5cf4f0a594a3294c293144d37af8bab3532d5638..dd85628ef02839b75c51bf1e2c1c06189751603c 100644
--- a/install/lib/mysql.lib.php
+++ b/install/lib/mysql.lib.php
@@ -73,6 +73,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 			if($this->linkId == 0)
 			{
 				$this->linkId = mysql_connect($this->dbHost, $this->dbUser, $this->dbPass);
+
 				if(!$this->linkId)
 				{
 					$this->updateError('DB::connect()<br />mysql_connect');
diff --git a/install/tpl/mydns.conf.master b/install/tpl/mydns.conf.master
index 4828cc1e9ee5c8ec4650ad74b99c9e418e9ac502..d790ab88fea5b0f50fe3835d2023e96f43b9ba7d 100644
--- a/install/tpl/mydns.conf.master
+++ b/install/tpl/mydns.conf.master
@@ -14,7 +14,7 @@
 
                                 # DATABASE INFORMATION
 
-db-host = {mysql_server_ip}             # SQL server hostname
+db-host = {mysql_server_host}             # SQL server hostname
 db-user = {mysql_server_ispconfig_user}             # SQL server username
 db-password = {mysql_server_ispconfig_password}         # SQL server password
 database = {mysql_server_database}          # MyDNS database name