Änderungen

PowerDNS-Weiterleitung

2.532 Byte hinzugefügt, 13:33, 6. Nov. 2016
Die Seite wurde neu angelegt: „Diese Anleitung beschreibt die Konfiguration von URL-Weiterleitungen für PowerDNS-Server. Diese Funktionalität ist optional. == Benötigte Software == Wir b…“
Diese Anleitung beschreibt die Konfiguration von URL-Weiterleitungen für PowerDNS-Server. Diese Funktionalität ist optional.

== Benötigte Software ==
Wir benötigen einen installierten PowerDNS-Server auf Basis einer MySQL-Datenbank.

Des Weiteren wird ein Webserver benötigt, der unter einer festen IP-Adresse für jeden Hostnamen das gleiche Verzeichnis ausliefert. Dieser Webserver muss PHP beherrschen, des Weiteren muss von diesem Webserver aus der Zugriff auf die PowerDNS-Datenbank möglich sein. Es spricht nichts dagegen, dass direkt einer der PowerDNS-Nameserver als Webserver verwendet wird.

== Einrichtung ==
Die PowerDNS-Datenbank muss angepasst werden. Dies muss nur in der Datenbank geschehen, die von sourceDESK verwendet wird. Es müssen folgende Kommandos ausgeführt werden:

<syntaxhighlight lang="sql">
CREATE TABLE `redirects` (
`hostname` varchar(255) NOT NULL,
`type` enum('REDIRECT','FRAME') NOT NULL DEFAULT 'REDIRECT',
`target` varchar(255) NOT NULL
);

ALTER TABLE `redirects`
ADD PRIMARY KEY `hostname` (`hostname`);
</syntaxhighlight>

Nun muss auf dem Webserver eine Datei namens ''index.php'' im Hauptverzeichnis für den Webserver erstellt werden. Diese hat folgenden Inhalt:

<syntaxhighlight lang="php">
<?php
$db = new MySQLi("HOSTNAME", "USERNAME", "PASSWORD", "DATABASE");
if($db->connect_errno) die("Technical error.");

$sql = $db->query("SELECT * FROM redirects WHERE hostname LIKE '" . $db->real_escape_string($_SERVER['HTTP_HOST']) . "'");
if($sql->num_rows != 1) die("Hostname unknown.");
$info = $sql->fetch_object();

if(substr($info->target, 0, 4) != "http")
$info->target = "http://" . $info->target;

if($info->type == "REDIRECT"){
header('Location: ' . $info->target);
exit;
}
?>
<iframe src="<?=$info->target; ?>" style="position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;">Your browser doesn't support iframes</iframe>
</syntaxhighlight>

Hier müssen noch die Datenbank-Zugangsdaten (''HOSTNAME'', ''USERNAME'', ''PASSWORD'', ''DATABASE'') durch die Zugangsdaten der durch sourceDESK verwendeten PowerDNS-Datenbank ersetzt werden.

== Konfiguration ==
In sourceDESK muss in den Einstellungen für den PowerDNS-Treiber die IPv4-Adresse des Webservers hinterlegt werden. Optional kann hier auch zusätzlich eine IPv6-Adresse eingetragen werden.

Damit ist die Konfiguration abgeschlossen. In den DNS-Einstellungen erscheinen nun die neuen Typen ''URL'' und ''IFRAME''.