check for FQDN before creating db, etc.

Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann (d00p)
2013-10-13 12:59:20 +02:00
parent 26885b0f35
commit 4b5b2db6db
3 changed files with 9 additions and 16 deletions

View File

@@ -172,6 +172,11 @@ class FroxlorInstall {
$this->_data['mysql_access_host'] = $this->_data['serverip']; $this->_data['mysql_access_host'] = $this->_data['serverip'];
} }
// check system-hostname to be a FQDN
if ($this->_validate_ip($this->_data['servername'], true) !== false) {
$this->_data['servername'] = '';
}
if (isset($_POST['installstep']) if (isset($_POST['installstep'])
&& $_POST['installstep'] == '1' && $_POST['installstep'] == '1'
&& $this->_data['admin_pass1'] == $this->_data['admin_pass2'] && $this->_data['admin_pass1'] == $this->_data['admin_pass2']
@@ -199,16 +204,9 @@ class FroxlorInstall {
$content = "<table class=\"noborder\">"; $content = "<table class=\"noborder\">";
// check system-hostname to be a FQDN
$content .= $this->_status_message('begin', $this->_lng['install']['system_servername']);
if ($this->_validate_ip($_SERVER['SERVER_NAME'], true) !== false) {
$content .= $this->_status_message('red', $this->_lng['install']['servername_should_be_fqdn']);
} else {
$content .= $this->_status_message('green', 'OK');
}
// check for mysql-root-connection // check for mysql-root-connection
$content .= $this->_status_message('begin', $this->_lng['install']['testing_mysql']); $content .= $this->_status_message('begin', $this->_lng['install']['testing_mysql']);
$db_root = new db( $db_root = new db(
$this->_data['mysql_host'], $this->_data['mysql_host'],
$this->_data['mysql_root_user'], $this->_data['mysql_root_user'],
@@ -218,7 +216,6 @@ class FroxlorInstall {
// ok, if we are here, the database class is build up // ok, if we are here, the database class is build up
// (otherwise it would have already die'd this script) // (otherwise it would have already die'd this script)
$content .= $this->_status_message('green', "OK"); $content .= $this->_status_message('green', "OK");
// check for existing db // check for existing db
$content .= $this->_backupExistingDatabase($db_root); $content .= $this->_backupExistingDatabase($db_root);
// create unprivileged user and the database itself // create unprivileged user and the database itself
@@ -512,7 +509,7 @@ class FroxlorInstall {
// check for existing of former database // check for existing of former database
$tables_exist = false; $tables_exist = false;
$sql = "SHOW TABLES FROM `".$this->_data['mysql_database']."`"; $sql = "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '".$this->_data['mysql_database']."'";
$result = $db_root->query($sql); $result = $db_root->query($sql);
// check result // check result

View File

@@ -54,7 +54,7 @@ $lng['install']['admin_user'] = 'Administrator Username';
$lng['install']['admin_pass1'] = 'Administrator Password'; $lng['install']['admin_pass1'] = 'Administrator Password';
$lng['install']['admin_pass2'] = 'Administrator-Password (confirm)'; $lng['install']['admin_pass2'] = 'Administrator-Password (confirm)';
$lng['install']['serversettings'] = 'Server settings'; $lng['install']['serversettings'] = 'Server settings';
$lng['install']['servername'] = 'Server name (FQDN)'; $lng['install']['servername'] = 'Server name (FQDN, no ip-address)';
$lng['install']['serverip'] = 'Server IP'; $lng['install']['serverip'] = 'Server IP';
$lng['install']['webserver'] = 'Webserver'; $lng['install']['webserver'] = 'Webserver';
$lng['install']['apache2'] = 'Apache 2'; $lng['install']['apache2'] = 'Apache 2';
@@ -63,8 +63,6 @@ $lng['install']['nginx'] = 'NGINX';
$lng['install']['httpuser'] = 'HTTP username'; $lng['install']['httpuser'] = 'HTTP username';
$lng['install']['httpgroup'] = 'HTTP groupname'; $lng['install']['httpgroup'] = 'HTTP groupname';
$lng['install']['system_servername'] = 'System ServerName';
$lng['install']['servername_should_be_fqdn'] = 'The servername should be a FQDN and not an IP address';
$lng['install']['testing_mysql'] = 'Checking MySQL-root access...'; $lng['install']['testing_mysql'] = 'Checking MySQL-root access...';
$lng['install']['backup_old_db'] = 'Creating backup of old database...'; $lng['install']['backup_old_db'] = 'Creating backup of old database...';
$lng['install']['backup_binary_missing'] = 'Could not find mysqldump'; $lng['install']['backup_binary_missing'] = 'Could not find mysqldump';

View File

@@ -54,7 +54,7 @@ $lng['install']['admin_user'] = 'Administrator-Benutzername';
$lng['install']['admin_pass1'] = 'Administrator-Passwort'; $lng['install']['admin_pass1'] = 'Administrator-Passwort';
$lng['install']['admin_pass2'] = 'Administrator-Passwort (Bestätigung)'; $lng['install']['admin_pass2'] = 'Administrator-Passwort (Bestätigung)';
$lng['install']['serversettings'] = 'Servereinstellungen'; $lng['install']['serversettings'] = 'Servereinstellungen';
$lng['install']['servername'] = 'Servername (FQDN)'; $lng['install']['servername'] = 'Servername (FQDN, keine IP-Adresse)';
$lng['install']['serverip'] = 'Server-IP'; $lng['install']['serverip'] = 'Server-IP';
$lng['install']['webserver'] = 'Webserver'; $lng['install']['webserver'] = 'Webserver';
$lng['install']['apache2'] = 'Apache 2'; $lng['install']['apache2'] = 'Apache 2';
@@ -63,8 +63,6 @@ $lng['install']['nginx'] = 'NGINX';
$lng['install']['httpuser'] = 'HTTP Username'; $lng['install']['httpuser'] = 'HTTP Username';
$lng['install']['httpgroup'] = 'HTTP Gruppenname'; $lng['install']['httpgroup'] = 'HTTP Gruppenname';
$lng['install']['system_servername'] = 'System ServerName';
$lng['install']['servername_should_be_fqdn'] = 'Der Servername sollte ein vollqualifizierter Domainname sein und keine IP Adresse.';
$lng['install']['testing_mysql'] = 'Teste MySQL-Root Zugang...'; $lng['install']['testing_mysql'] = 'Teste MySQL-Root Zugang...';
$lng['install']['backup_old_db'] = 'Sicherung vorheriger Datenbank...'; $lng['install']['backup_old_db'] = 'Sicherung vorheriger Datenbank...';
$lng['install']['backup_binary_missing'] = 'Konnte mysqldump nicht finden'; $lng['install']['backup_binary_missing'] = 'Konnte mysqldump nicht finden';