Jump to content
Froxlor Forum
  • 0

Cronjob Fehler bei PDNS + Zonenfile


Marook

Question

Hallo zusammen,
 
ich habe heute auf die aktuelle Froxlor version 0.9.37 (DB: 201607210) aktualisiert, da ich gern mit PDNS einen custom DNS Dienst aufsetzen will.
Soweit so gut, das Update läuft gut durch und alles sieht auf den ersten Blick so aus wie immer. Dann installiere ich PDNS und passe die Config an.
Bis hierher auch alles tutti. Nun aktiviere ich DNS in Froxlor und möchte ein zonenfile verwenden. Danach fingen die Probleme an.
 
Zunächst sind die Crons anscheinend nich sauber durchgelaufen, ich bekomme folgenden Fehler :
 

PHP Fatal error:  Call to undefined method pdns::_generateDomainConfig() in /var/froxlor/scripts/jobs/cron_tasks.inc.dns.20.pdns.php on line 96

Schalte ich die Verwendung von DNS bei der Domain im Froxlor Panel wieder aus, erhalte ich folgenden Fehler :

PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'disabled' in 'field list'' in /var/froxlor/scripts/jobs/cron_tasks.inc.dns.20.pdns.php:159

Dann habe ich mir die Datenbank Tabelle angeschaut und festgestellt, dass es gar keine Spalte "disabled" gibt. Daher habe ich im Code der Datei /var/froxlor/scripts/jobs/cron_tasks.inc.dns.20.pdns.php entsprechend abgeändert. (Ab Zeile 123)

		$ins_stmt = $this->pdns_db->prepare("
			INSERT INTO records set
			`domain_id` = :did,
			`name` = :rec,
			`type` = :type,
			`content` = :content,
			`ttl` = :ttl,
			`prio` = :prio,
			
			`change_date` = :changedate
		");

Jetzt bekomme ich zwar den Fehler oben nicht mehr, aber Zonenfiles kann ich dennoch nicht nutzen. Jemand eine Idee ???

 

Grüße Marook

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

also der erste Fehler ist unsere Schuld, da wurde wohl für PDNS was falsches aus dem Bind-Cronjob übernommen, umgehen kannst du das aktuell wenn du den Parameter "Eigens Zonefile" der Domain einfach weglässt.

 

Das fehlende "disabled" Feldin der Tabelle führe ich nun mal auf eine alte/andere PowerDNS Version hin, daher nochmal die Frage, welche PDNS version du da genau hast

Link to comment
Share on other sites

Hallo und Danke fürs "drüber gucken" :)

 

Da ich PDNS auf meiner Ubuntu 14.04er Maschine einfach per APT-GET installiert hatte, müsste es die jeweils aktuelle Version der Distribution sein. Die Versionsnummer lautet : Candidate: 3.3-2ubuntu0.1
 

Datenbank ist angelegt und der PDNS-Server arbeitet ja auch wenn ich eben kein Zonenfile nutzen möchte. In meinem Fall aber brauche ich ein Zonenfile, oder aber ich hämmere alle Domains per script direkt in die DB...

Momentan habe ich PDNS wieder deinstalliert und richte nun bind ein.

 

PS: Achja und hier hat niemand "Schuld" - Wir sind alle nur Menschen, ich bin Euch dankbar dafür, dass Ihr solch ein cooles Teil programmiert habt!

 

Grüße Marook

Link to comment
Share on other sites

Was genau meinst du mit "Ich brauche aber ein Zonefile"....diese Einstellung ist nur dafür gedacht, wenn du die von froxlor selbst generierten Zones für diese Domain nicht benutzen willst sondern eigene angelegt hast, aber für PowerDNS hat dies keine Auswirkungen, weil PowerDNS ja nicht mit Zonefiles arbeitet die eingebunden werden, wie z.B. Bind

Link to comment
Share on other sites

Ok, also auf dem Server wo auch die Froxlor Instanz läuft, will ich einen DNS-Server laufen lassen, auf dem entweder per selbst erstellten Zonenfile unterschiedliche Domains geblacklistet werden und bei Abfrage einer solchen Domain, die IP von meinem Webserver bekommen wo wiederrum eine Art Catch-All Domain konfiguriert ist. Und das ganze soll in der Tat unabhängig von den dort gehosteten Domains ablaufen. Ich wollte nur die Bequemlichkeit des DNS-Editors nutzen können um im Einzelfall selbst Domains hinzuzufügen. Hatte mir vorgestellt, dass auch bei Nutzung von PDNS, die Angabe eines Zonenfiles dafür sorgt, dass dieses evtl. durch einen CronJob eingelesen und in die DB geschrieben wird.

 

Meine Vorstellungskraft am WE ist immer am größsten :)

Link to comment
Share on other sites

also, da muss man jetzt unterscheiden. Für mein Verständnis, und der Sinn hinter "Eigenes Zonefile" ist ja, dass der Admin festlegt: Froxlor, ich hab da meine eigene Zone für die Domain, lass die Finger weg. Im speziellen Fall von bind muss die Zone aber natürlich auch in die Bind-Config inkludiert werden - mehr aber nicht. Im falle von PDNS erstellen wir halt einfach gar nichts, denn für uns ist die Domain "selbst verwaltet" vom Admin. Was jetzt natürlich was die Implementierung von Froxlor angeht ansich doof ist, denn wir nutzen die ganze PowerDNS domains/records Tabelle für uns, d.h. wir leeren wir auch vor dem Cronjob - das müsste wohl noch überarbeitet werden, sonst kann der admin via PDNS keine eigenen Einträge / Komplette Domains verwalten.

Link to comment
Share on other sites

Kein Stress, ich habs mit Bind nun so hinbekommen, dass es funzt. Es stimmt schon, ich suche ein bisschen nach der Eierlegendenwollmichsau :) Neben der Verwaltung von den gehosteten Domains, will ich noch so eine Art Blacklist mit Domains haben, die nicht sicher sind. Ruft ein Kunde eine solche Domain auf, landet er auf einer Landingpage mit einem entsprechenden Hinweis (Natürlich nur wenn er auch diesen DNS-Server einsetzt - is schon klar). Dazu habe ich eine Domain "blocked.hautpdomain.tld" im Forxlor erstellt. Ich dachte wenn ich dem DNS-Server alle bösen Domains dieser Zone zuordne, dann hab ich genau das was ich wollte und daher das Zonenfile...

 

Also die Fehler im Script lösen und alle sind Glücklich :)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...