<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=PowerDNS_webfrontend_-_PowerDNS-Admin</id>
	<title>PowerDNS webfrontend - PowerDNS-Admin - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=PowerDNS_webfrontend_-_PowerDNS-Admin"/>
	<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;action=history"/>
	<updated>2026-08-05T12:14:05Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4942&amp;oldid=prev</id>
		<title>Imre: /* pdns podman lahendus */</title>
		<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4942&amp;oldid=prev"/>
		<updated>2026-08-05T05:53:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;pdns podman lahendus&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 5. august 2026, kell 08:53&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;558. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;558. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;gpgsql-extra-connection-parameters=password=parool dbname=db_pdns port=5432 user=pdns host=192.168.1.147&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;gpgsql-extra-connection-parameters=password=parool dbname=db_pdns port=5432 user=pdns host=192.168.1.147&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Kasulikud lisamaterjalid===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[:PowerDNS Authoritative Server nimeserveri kasutamine]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key db_ika-s_ika-:diff:wikidiff2:1.12:old-4941:rev-4942:1.11.0 --&gt;
&lt;/table&gt;</summary>
		<author><name>Imre</name></author>
	</entry>
	<entry>
		<id>https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4941&amp;oldid=prev</id>
		<title>Imre: /* PDA API liidese kasutamine */</title>
		<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4941&amp;oldid=prev"/>
		<updated>2026-08-05T05:52:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;PDA API liidese kasutamine&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 5. august 2026, kell 08:52&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;394. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;394. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===PDA API liidese kasutamine&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===PDA API liidese kasutamine===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tsooni tekitamine&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tsooni tekitamine&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key db_ika-s_ika-:diff:wikidiff2:1.12:old-4940:rev-4941:1.11.0 --&gt;
&lt;/table&gt;</summary>
		<author><name>Imre</name></author>
	</entry>
	<entry>
		<id>https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4940&amp;oldid=prev</id>
		<title>Imre: /* PDA kasutamise privileegid */</title>
		<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4940&amp;oldid=prev"/>
		<updated>2026-08-05T05:52:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;PDA kasutamise privileegid&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 5. august 2026, kell 08:52&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;372. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;372. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===PDA kasutamise privileegid&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===PDA kasutamise privileegid===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Väited&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Väited&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key db_ika-s_ika-:diff:wikidiff2:1.12:old-4939:rev-4940:1.11.0 --&gt;
&lt;/table&gt;</summary>
		<author><name>Imre</name></author>
	</entry>
	<entry>
		<id>https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4939&amp;oldid=prev</id>
		<title>Imre – 5. august 2026, kell 05:52</title>
		<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4939&amp;oldid=prev"/>
		<updated>2026-08-05T05:52:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 5. august 2026, kell 08:52&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Sissejuhatus===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===2024 aasta kevade tähelepanekud===&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eesmärk&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Eesmärk&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;10. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;10. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* andmeid hoitakse PostgreSQL andmebaasis&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* andmeid hoitakse PostgreSQL andmebaasis&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===Tööpõhimõte&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Tööpõhimõte===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Väited&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Väited&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;25. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;25. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* krüptimise algoritmi vahetus&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* krüptimise algoritmi vahetus&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===Platvormi ettevalmistamine&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Platvormi ettevalmistamine===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Platvorm koosneb&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Platvorm koosneb&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;80. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;80. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===PowerDNS paigaldamine&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===PowerDNS paigaldamine===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PowerDNS ise ja tema tööks otseselt vajalikud komponendid (nt PostgreSQL andmebaas) töötavad nö tavalisel viisil operatsioonisüsteemi protsesside-teenustena st mitte-konteineritena.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PowerDNS ise ja tema tööks otseselt vajalikud komponendid (nt PostgreSQL andmebaas) töötavad nö tavalisel viisil operatsioonisüsteemi protsesside-teenustena st mitte-konteineritena.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;150. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;150. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===PowerDNS seadistamine&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===PowerDNS seadistamine===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Seadistamisel tegeldakse&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Seadistamisel tegeldakse&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;158. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;158. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* DNSSEC vaike krüpto&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* DNSSEC vaike krüpto&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===PowerDNS-Admin paigaldamine - PDA - docker&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===PowerDNS-Admin paigaldamine - PDA - docker===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PowerDNS-Admin tarvkara töötab docker konteinerina, aga kasutab host arvutist postgresql andmebaasi. Platvorm ettevalmistamine punktis on vajalik kasutaja ja create database tekitatud. PDA kasutamine eeldab, et PDNS juures on sisse lülitatud api liides (vaikimisi http liiklus üle port 8081).&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PowerDNS-Admin tarvkara töötab docker konteinerina, aga kasutab host arvutist postgresql andmebaasi. Platvorm ettevalmistamine punktis on vajalik kasutaja ja create database tekitatud. PDA kasutamine eeldab, et PDNS juures on sisse lülitatud api liides (vaikimisi http liiklus üle port 8081).&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;204. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;204. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TODO&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TODO&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===PowerDNS-Admin paigaldamine - NginX operatsioonisüsteem&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===PowerDNS-Admin paigaldamine - NginX operatsioonisüsteem===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;NginX https:// frontend kasutamiseks sobib kasutada sellist seadistust&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;NginX https:// frontend kasutamiseks sobib kasutada sellist seadistust&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;249. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;249. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===PowerDNS-Admin paigaldamine - NginX docker&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===PowerDNS-Admin paigaldamine - NginX docker===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;315. rida:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;315. rida:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===Misc&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Misc===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tulemusena saab pda webgui poole pöörduda aadressiga https://pdns.moraal.ee/.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tulemusena saab pda webgui poole pöörduda aadressiga https://pdns.moraal.ee/.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key db_ika-s_ika-:diff:wikidiff2:1.12:old-4936:rev-4939:1.11.0 --&gt;
&lt;/table&gt;</summary>
		<author><name>Imre</name></author>
	</entry>
	<entry>
		<id>https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4936&amp;oldid=prev</id>
		<title>Imre: Uus lehekülg: '===2024 aasta kevade tähelepanekud===  Eesmärk  * ühe operatsioonisüteemi peal kompaktselt lahenduse pidamine - Debian v. 12 * dns server - PowerDNS * webgui haldusliides - PowerDNS-Admin (PDA) * dnssec võimekus * docker abil kasutatakse konteinerit (PDA) * andmeid hoitakse PostgreSQL andmebaasis  ====Tööpõhimõte====  Väited  * dnssec kasutab algoritmi nr 13 * NSEC3 kasutab '1 0 0 -' seadistust * sekundaarsete nimeserveritega suhtlemine toimub catalog-zones abil *...'</title>
		<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=PowerDNS_webfrontend_-_PowerDNS-Admin&amp;diff=4936&amp;oldid=prev"/>
		<updated>2026-08-05T05:50:27Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;===2024 aasta kevade tähelepanekud===  Eesmärk  * ühe operatsioonisüteemi peal kompaktselt lahenduse pidamine - Debian v. 12 * dns server - PowerDNS * webgui haldusliides - PowerDNS-Admin (PDA) * dnssec võimekus * docker abil kasutatakse konteinerit (PDA) * andmeid hoitakse PostgreSQL andmebaasis  ====Tööpõhimõte====  Väited  * dnssec kasutab algoritmi nr 13 * NSEC3 kasutab &amp;#039;1 0 0 -&amp;#039; seadistust * sekundaarsete nimeserveritega suhtlemine toimub catalog-zones abil *...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===2024 aasta kevade tähelepanekud===&lt;br /&gt;
&lt;br /&gt;
Eesmärk&lt;br /&gt;
&lt;br /&gt;
* ühe operatsioonisüteemi peal kompaktselt lahenduse pidamine - Debian v. 12&lt;br /&gt;
* dns server - PowerDNS&lt;br /&gt;
* webgui haldusliides - PowerDNS-Admin (PDA)&lt;br /&gt;
* dnssec võimekus&lt;br /&gt;
* docker abil kasutatakse konteinerit (PDA)&lt;br /&gt;
* andmeid hoitakse PostgreSQL andmebaasis&lt;br /&gt;
&lt;br /&gt;
====Tööpõhimõte====&lt;br /&gt;
&lt;br /&gt;
Väited&lt;br /&gt;
&lt;br /&gt;
* dnssec kasutab algoritmi nr 13&lt;br /&gt;
* NSEC3 kasutab '1 0 0 -' seadistust&lt;br /&gt;
* sekundaarsete nimeserveritega suhtlemine toimub catalog-zones abil&lt;br /&gt;
* kasutatakse KSK/ZSK ja CSK lähenemist võtmete pidamisel&lt;br /&gt;
&lt;br /&gt;
Protseduuride võimekus&lt;br /&gt;
&lt;br /&gt;
* NSEC, NSEC3 ja NSEC3 param väärtuste muutmine&lt;br /&gt;
* võtme vahetus&lt;br /&gt;
* krüptimise algoritmi vahetus&lt;br /&gt;
&lt;br /&gt;
====Platvormi ettevalmistamine====&lt;br /&gt;
&lt;br /&gt;
Platvorm koosneb&lt;br /&gt;
&lt;br /&gt;
* Debian v. 12 operatsioonisüsteem&lt;br /&gt;
* Docker Community Edition&lt;br /&gt;
* PostgreSQL v. 12&lt;br /&gt;
* NginX&lt;br /&gt;
&lt;br /&gt;
PostgreSQL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pdns:/tmp# apt-get install postgresql-common&lt;br /&gt;
root@pdns:/tmp# mkdir /etc/postgresql-common/createcluster.d&lt;br /&gt;
root@pdns:/tmp# echo &amp;quot;initdb_options = '--data-checksums'&amp;quot; &amp;gt; /etc/postgresql-common/createcluster.d/moraal.conf&lt;br /&gt;
root@pdns:/tmp# echo &amp;quot;create_main_cluster = false&amp;quot; &amp;gt;&amp;gt; /etc/postgresql-common/createcluster.d/moraal.conf&lt;br /&gt;
root@pdns:/tmp# apt-get install postgresql-16&lt;br /&gt;
root@pdns:/tmp# pg_createcluster --locale en_US.UTF-8 16 pgcluster_pdns_prod&lt;br /&gt;
 &lt;br /&gt;
postgres=# \x&lt;br /&gt;
Expanded display is on.&lt;br /&gt;
postgres=# \l postgres&lt;br /&gt;
List of databases&lt;br /&gt;
-[ RECORD 1 ]-----+------------&lt;br /&gt;
Name              | postgres&lt;br /&gt;
Owner             | postgres&lt;br /&gt;
Encoding          | UTF8&lt;br /&gt;
Locale Provider   | libc&lt;br /&gt;
Collate           | en_US.UTF-8&lt;br /&gt;
Ctype             | en_US.UTF-8&lt;br /&gt;
ICU Locale        | &lt;br /&gt;
ICU Rules         | &lt;br /&gt;
Access privileges | &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PowerDNS kasutaja ja create database baasi tekitamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql&lt;br /&gt;
sql&amp;gt; create role pdns login;&lt;br /&gt;
sql&amp;gt; \password pdns&lt;br /&gt;
sql&amp;gt; create database db_pdns owner = pdns;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PowerDNS-Admin kasutaja ja create database baasi tekitamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql&lt;br /&gt;
sql&amp;gt; create role pda login;&lt;br /&gt;
sql&amp;gt; \password pda&lt;br /&gt;
sql&amp;gt; create database db_pda owner = pda;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PowerDNS paigaldamine====&lt;br /&gt;
&lt;br /&gt;
PowerDNS ise ja tema tööks otseselt vajalikud komponendid (nt PostgreSQL andmebaas) töötavad nö tavalisel viisil operatsioonisüsteemi protsesside-teenustena st mitte-konteineritena.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apt-get install pdns-server pdns-backend-pgsql pdns-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemusena käivitatakse pdns server ja tema bind backend.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
PostgreSQL backend kasutamine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# psql -h 127.0.0.1 -U pdns pdns &amp;lt; /usr/share/doc/pdns-backend-pgsql/schema.pgsql.sql&lt;br /&gt;
Password for user pdns: &lt;br /&gt;
CREATE TABLE&lt;br /&gt;
CREATE INDEX&lt;br /&gt;
CREATE INDEX&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
CREATE INDEX&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Baasi ligipääs jms kirjeldatakse failis, https://doc.powerdns.com/authoritative/backends/generic-postgresql.html#&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pdns:~# egrep -v &amp;quot;^#|^$&amp;quot; /etc/powerdns/pdns.d/gpgsql.conf&lt;br /&gt;
launch+=gpgsql&lt;br /&gt;
gpgsql-dbname=db_pdns&lt;br /&gt;
gpgsql-dnssec=yes&lt;br /&gt;
gpgsql-host=127.0.0.1&lt;br /&gt;
gpgsql-password=parool&lt;br /&gt;
gpgsql-port=5432&lt;br /&gt;
gpgsql-user=pdns&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bind eemaldamiseks sobib kustutada fail&lt;br /&gt;
&lt;br /&gt;
 # rm /etc/powerdns/pdns.d/bind.conf&lt;br /&gt;
&lt;br /&gt;
Tulemusena töötab pdns server, gpgsql backendiga&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2024-06-16T16:44:00.877817+03:00 pdns systemd[1]: Starting pdns.service - PowerDNS Authoritative Server...&lt;br /&gt;
2024-06-16T16:44:00.906026+03:00 pdns pdns_server[3916]: Loading '/usr/lib/x86_64-linux-gnu/pdns/libgpgsqlbackend.so'&lt;br /&gt;
2024-06-16T16:44:00.906356+03:00 pdns pdns_server[3916]: This is a standalone pdns&lt;br /&gt;
2024-06-16T16:44:00.906408+03:00 pdns pdns_server[3916]: Listening on controlsocket in '/run/pdns/pdns.controlsocket'&lt;br /&gt;
2024-06-16T16:44:00.906668+03:00 pdns pdns_server[3916]: UDP server bound to 0.0.0.0:53&lt;br /&gt;
2024-06-16T16:44:00.906684+03:00 pdns pdns_server[3916]: UDP server bound to [::]:53&lt;br /&gt;
2024-06-16T16:44:00.906735+03:00 pdns pdns_server[3916]: TCP server bound to 0.0.0.0:53&lt;br /&gt;
2024-06-16T16:44:00.906750+03:00 pdns pdns_server[3916]: TCP server bound to [::]:53&lt;br /&gt;
2024-06-16T16:44:00.906866+03:00 pdns pdns_server[3916]: PowerDNS Authoritative Server 4.9.1 (C) PowerDNS.COM BV&lt;br /&gt;
2024-06-16T16:44:00.906881+03:00 pdns pdns_server[3916]: Using 64-bits mode. Built using gcc 12.2.0 on May 28 2024 07:46:05 by root@localhost.&lt;br /&gt;
2024-06-16T16:44:00.906891+03:00 pdns pdns_server[3916]: PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.&lt;br /&gt;
2024-06-16T16:44:00.915255+03:00 pdns pdns_server[3916]: Polled security status of version 4.9.1 at startup, no known issues reported: OK&lt;br /&gt;
2024-06-16T16:44:00.926644+03:00 pdns pdns_server[3916]: Creating backend connection for TCP&lt;br /&gt;
2024-06-16T16:44:00.935773+03:00 pdns pdns_server[3916]: About to create 3 backend threads for UDP&lt;br /&gt;
2024-06-16T16:44:00.935850+03:00 pdns systemd[1]: Started pdns.service - PowerDNS Authoritative Server.&lt;br /&gt;
2024-06-16T16:44:01.086206+03:00 pdns pdns_server[3916]: Done launching threads, ready to distribute questions&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ühtegi tsooni ei ole kirjeldatud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pdns:/tmp# pdnsutil list-all-zones&lt;br /&gt;
root@pdns:/tmp# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PowerDNS seadistamine====&lt;br /&gt;
&lt;br /&gt;
Seadistamisel tegeldakse&lt;br /&gt;
&lt;br /&gt;
* api sisselülitamine (PDA jaoks)&lt;br /&gt;
* SOA kirje vaikeväärtused&lt;br /&gt;
* DNSSEC vaike krüpto&lt;br /&gt;
&lt;br /&gt;
====PowerDNS-Admin paigaldamine - PDA - docker====&lt;br /&gt;
&lt;br /&gt;
PowerDNS-Admin tarvkara töötab docker konteinerina, aga kasutab host arvutist postgresql andmebaasi. Platvorm ettevalmistamine punktis on vajalik kasutaja ja create database tekitatud. PDA kasutamine eeldab, et PDNS juures on sisse lülitatud api liides (vaikimisi http liiklus üle port 8081).&lt;br /&gt;
&lt;br /&gt;
Docker compose fail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pdns:~# cat docker-compose-pda.yml&lt;br /&gt;
services:&lt;br /&gt;
  svc_pda:&lt;br /&gt;
    image: powerdnsadmin/pda-legacy:v0.4.2&lt;br /&gt;
     &lt;br /&gt;
    container_name: cn_pda&lt;br /&gt;
    restart: always&lt;br /&gt;
    logging:&lt;br /&gt;
      driver: json-file&lt;br /&gt;
      options:&lt;br /&gt;
        max-size: 50m&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;9191:80&amp;quot;&lt;br /&gt;
    environment:&lt;br /&gt;
      - SECRET_KEY='saladus'&lt;br /&gt;
      - SQLALCHEMY_DATABASE_URI=postgresql://pda:pdaparool@192.168.10.53/pda&lt;br /&gt;
      - GUNICORN_TIMEOUT=60&lt;br /&gt;
      - GUNICORN_WORKERS=2&lt;br /&gt;
      - GUNICORN_LOGLEVEL=DEBUG&lt;br /&gt;
      - OFFLINE_MODE=False&lt;br /&gt;
      - CSRF_COOKIE_SECURE=False&lt;br /&gt;
 &lt;br /&gt;
    networks:&lt;br /&gt;
      - nw_pda&lt;br /&gt;
       &lt;br /&gt;
networks:&lt;br /&gt;
  nw_pda:&lt;br /&gt;
    name: nw_pda&lt;br /&gt;
    driver: bridge&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Käivitamiseks&lt;br /&gt;
&lt;br /&gt;
 # docker compose -f docker-compose-pda.yml up -d&lt;br /&gt;
&lt;br /&gt;
Tulemusena on aadressil http://192.168.10.53:9191/ PDA webgui sisselogimise ekraan. Pressida Create Account ja esimesena tekitatud kasutaja on admin privileegidega.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
====PowerDNS-Admin paigaldamine - NginX operatsioonisüsteem====&lt;br /&gt;
&lt;br /&gt;
NginX https:// frontend kasutamiseks sobib kasutada sellist seadistust&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pdns:/etc/nginx/sites-enabled# cat /etc/nginx/sites-enabled/pdns &lt;br /&gt;
server {&lt;br /&gt;
    listen 80;&lt;br /&gt;
    server_name pdns.moraal.ee;&lt;br /&gt;
    root /var/www/html;&lt;br /&gt;
 &lt;br /&gt;
    if ($request_uri !~ /.well-known) {&lt;br /&gt;
      return 301 https://pdns.moraal.ee/;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl http2;&lt;br /&gt;
    server_name pdns.moraal.ee;&lt;br /&gt;
    ssl_certificate /etc/ssl/localcerts/pdns.moraal.ee.pem;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/localcerts/pdns.moraal.ee.key;&lt;br /&gt;
    ssl_session_timeout 1d;&lt;br /&gt;
    ssl_session_cache shared:MozSSL:10m;&lt;br /&gt;
    ssl_session_tickets off;&lt;br /&gt;
    ssl_protocols TLSv1.2 TLSv1.3;&lt;br /&gt;
    ssl_prefer_server_ciphers off;&lt;br /&gt;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;&lt;br /&gt;
 &lt;br /&gt;
    client_max_body_size 25m;&lt;br /&gt;
 &lt;br /&gt;
    ssl_stapling off;&lt;br /&gt;
    add_header Strict-Transport-Security &amp;quot;max-age=63072000&amp;quot; always;&lt;br /&gt;
 &lt;br /&gt;
    access_log /var/log/nginx/access-pdns.moraal.ee-443.log;&lt;br /&gt;
    root /var/www/html;&lt;br /&gt;
 &lt;br /&gt;
    location / {&lt;br /&gt;
      proxy_set_header Host $http_host;&lt;br /&gt;
      proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
      proxy_set_header X-Forwarded-Proto https;&lt;br /&gt;
      proxy_pass http://192.168.10.53:9191;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PowerDNS-Admin paigaldamine - NginX docker====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /srv/pdns/volume/nginx/etc/nginx/nginx.conf&lt;br /&gt;
# nginx.conf&lt;br /&gt;
&lt;br /&gt;
user nginx;&lt;br /&gt;
worker_processes auto;&lt;br /&gt;
error_log /dev/stderr;&lt;br /&gt;
pid /var/run/nginx.pid;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 1024;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
    include       mime.types;&lt;br /&gt;
    default_type  application/octet-stream;&lt;br /&gt;
&lt;br /&gt;
    log_format  main  '$remote_addr - $remote_user [$time_local] &amp;quot;$request&amp;quot; '&lt;br /&gt;
                      '$status $body_bytes_sent &amp;quot;$http_referer&amp;quot; '&lt;br /&gt;
                      '&amp;quot;$http_user_agent&amp;quot; &amp;quot;$http_x_forwarded_for&amp;quot;';&lt;br /&gt;
    access_log /dev/stdout main;&lt;br /&gt;
&lt;br /&gt;
    sendfile        on;&lt;br /&gt;
    keepalive_timeout  65;&lt;br /&gt;
&lt;br /&gt;
    # Redirect HTTP to HTTPS&lt;br /&gt;
    server {&lt;br /&gt;
        listen 80;&lt;br /&gt;
        server_name _;&lt;br /&gt;
        return 301 https://$host$request_uri;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    # HTTPS Configuration&lt;br /&gt;
    server {&lt;br /&gt;
        listen 443 ssl;&lt;br /&gt;
        server_name _;&lt;br /&gt;
        http2 on;&lt;br /&gt;
        ssl_protocols TLSv1.3;&lt;br /&gt;
        ssl_prefer_server_ciphers on;&lt;br /&gt;
&lt;br /&gt;
        ssl_certificate /etc/ssl/localcerts/ns-pdns-01.auul.pri.ee.crt;&lt;br /&gt;
        ssl_certificate_key /etc/ssl/localcerts/ns-pdns-01.auul.pri.ee.key;&lt;br /&gt;
&lt;br /&gt;
        # Recommended security settings&lt;br /&gt;
        ssl_session_cache shared:SSL:10m;&lt;br /&gt;
        ssl_session_timeout 10m;&lt;br /&gt;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305;&lt;br /&gt;
&lt;br /&gt;
        # Logging&lt;br /&gt;
        access_log /dev/stdout;&lt;br /&gt;
        error_log /dev/stdout;&lt;br /&gt;
&lt;br /&gt;
        # Reverse proxy to the destination&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://svc_pdns:8081;&lt;br /&gt;
            proxy_set_header Host $host;&lt;br /&gt;
            proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_set_header X-Forwarded-Proto $scheme;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Misc====&lt;br /&gt;
&lt;br /&gt;
Tulemusena saab pda webgui poole pöörduda aadressiga https://pdns.moraal.ee/.&lt;br /&gt;
&lt;br /&gt;
PDA kasutaja parooli muutmine postgresql baasis, nb rakendus kasutab tabeli nimena 'user', see on postgresql nö built-in objekt ja name clash ületamiseks tuleb pöörduda rakendusega seotud ressursi poole &amp;quot;user&amp;quot; abil, eriti koos skeemi prefiksiga&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# su - postgres&lt;br /&gt;
$ psql db_pda&lt;br /&gt;
pda=# select * from public.&amp;quot;user&amp;quot;;&lt;br /&gt;
-[ RECORD 1 ]------------------------------------------------------------&lt;br /&gt;
id         | 1&lt;br /&gt;
username   | admin&lt;br /&gt;
password   | $2y$15$NgdA4JSsKb1RyaiWBdKjcODfgxkwmhMB.95sa07PX/d9a9QxZ/4FF&lt;br /&gt;
firstname  | Imre&lt;br /&gt;
lastname   | Oolberg&lt;br /&gt;
email      | imre.oolberg@auul.pri.ee&lt;br /&gt;
otp_secret | &lt;br /&gt;
role_id    | 1&lt;br /&gt;
confirmed  | f&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
db_pda=# update public.&amp;quot;user&amp;quot; set password='$2y$15$NgdA4JSsKb1RyaiWBdKjcODfgxkwmhMB.95sa07PX/d9a9QxZ/4FC' where username='admin';&lt;br /&gt;
UPDATE 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kusjuures password väärtus tekitatakse nt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ htpasswd -bnBC 15 &amp;quot;&amp;quot; pdaparool | tr -d ':\n'&lt;br /&gt;
$2y$15$NgdA4JSsKb1RyaiWBdKjcODfgxkwmhMB.95sa07PX/d9a9QxZ/4FC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutaja lisamine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db_pda=# insert into &amp;quot;user&amp;quot; (username, password, firstname, lastname, email, role_id, confirmed) values ('admin',  '$2b$12$4M9qXQaWn95GTregvSO2v.I/1QQT0/Ayqt3jZsMp06FIa5dMme6Gu', 'Administrator', 'Administrator', 'priit@moraal.ee', 1, 'f');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pdns api kontakti lisamine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db_pda=# insert into setting (name, value) values ('pdns_api_url', 'http://192.168.10.80:8081');&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
db_pda=# insert into setting (name, value) values ('pdns_api_key', 'apiparool');&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
db_pda=# insert into setting (name, value) values ('pdns_version', '4.9.11');&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
db_pda=# select * from setting;&lt;br /&gt;
 id |     name     |         value&lt;br /&gt;
----+--------------+------------------------&lt;br /&gt;
  7 | pdns_api_url | http://192.168.10.80:8081&lt;br /&gt;
  8 | pdns_api_key | apiparool&lt;br /&gt;
  9 | pdns_version | 4.9.11&lt;br /&gt;
(3 rows)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PDA kasutamise privileegid====&lt;br /&gt;
&lt;br /&gt;
Väited&lt;br /&gt;
&lt;br /&gt;
* Account - grupi taoline moodustis, praktiliselt võiks vastata domeeni omanik asutusele&lt;br /&gt;
* User - kasutaja taoline moodustis, vastab inimesele kes süsteemi kasutab&lt;br /&gt;
* User ja Account vaheliste seoste abil saab anda hulgale kasutajatele õiguse tegeleda hulga domeenidega&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@rv-xxx-01:/opt/pda/dc# docker exec -ti e8 sh&lt;br /&gt;
/app $ ps aux&lt;br /&gt;
PID   USER     TIME  COMMAND&lt;br /&gt;
    1 pda       0:00 {gunicorn} /usr/bin/python3 /usr/bin/gunicorn powerdnsadmin:create_app() -t 60 --workers 2 --bind 0.0.0.0:80 --log-level DEBUG&lt;br /&gt;
    7 pda       0:02 {gunicorn} /usr/bin/python3 /usr/bin/gunicorn powerdnsadmin:create_app() -t 60 --workers 2 --bind 0.0.0.0:80 --log-level DEBUG&lt;br /&gt;
    8 pda       0:01 {gunicorn} /usr/bin/python3 /usr/bin/gunicorn powerdnsadmin:create_app() -t 60 --workers 2 --bind 0.0.0.0:80 --log-level DEBUG&lt;br /&gt;
&lt;br /&gt;
[2025-10-31 13:06:25,927] [record.py:61] ERROR - Cannot fetch zone's record data from remote powerdns api. DETAIL: HTTPSConnectionPool(host='rvxxx-01.test.moraal.ee', port=443): Max retries exceeded with url: /api/v1/servers/localhost/zones/imretest-03.ee (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1007)')))&lt;br /&gt;
&lt;br /&gt;
    volumes:&lt;br /&gt;
        #      - /opt/pda/volume/pda/etc/ssl/certs/ca-certificates.crt:/usr/lib/python3.10/site-packages/certifi/cacert.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PDA API liidese kasutamine====&lt;br /&gt;
&lt;br /&gt;
Tsooni tekitamine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ curl -s -L -H 'Content-Type: application/json' -H 'Authorization: Basic xxx' -X POST https://pda.moraal.ee/api/v1/pdnsadmin/zones \&lt;br /&gt;
    --data '{&amp;quot;name&amp;quot;: &amp;quot;zone-moraal-imre-test-01.ee.&amp;quot;, &amp;quot;kind&amp;quot;: &amp;quot;MASTER&amp;quot;, &amp;quot;nameservers&amp;quot;: [&amp;quot;ans1.moraal.ee.&amp;quot;, &amp;quot;ans2.moraal.ee.&amp;quot;]}' | jq .&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;account&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
  &amp;quot;api_rectify&amp;quot;: false,&lt;br /&gt;
  &amp;quot;catalog&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
  &amp;quot;dnssec&amp;quot;: false,&lt;br /&gt;
  &amp;quot;edited_serial&amp;quot;: 2026010802,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;zone-moraal-imre-test-01.ee.&amp;quot;,&lt;br /&gt;
  &amp;quot;kind&amp;quot;: &amp;quot;Master&amp;quot;,&lt;br /&gt;
  &amp;quot;last_check&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;master_tsig_key_ids&amp;quot;: [],&lt;br /&gt;
  &amp;quot;masters&amp;quot;: [],&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;zone-moraal-imre-test-01.ee.&amp;quot;,&lt;br /&gt;
  &amp;quot;notified_serial&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;nsec3narrow&amp;quot;: false,&lt;br /&gt;
  &amp;quot;nsec3param&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
  &amp;quot;rrsets&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;comments&amp;quot;: [],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;zone-moraal-imre-test-01.ee.&amp;quot;,&lt;br /&gt;
      &amp;quot;records&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;content&amp;quot;: &amp;quot;ans1.moraal.ee. hostmaster.moraal.ee. 2026010801 86400 7200 2419200 10800&amp;quot;,&lt;br /&gt;
          &amp;quot;disabled&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;ttl&amp;quot;: 3600,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;SOA&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;comments&amp;quot;: [],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;zone-moraal-imre-test-01.ee.&amp;quot;,&lt;br /&gt;
      &amp;quot;records&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;content&amp;quot;: &amp;quot;ans1.moraal.ee.&amp;quot;,&lt;br /&gt;
          &amp;quot;disabled&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;content&amp;quot;: &amp;quot;ans2.moraal.ee.&amp;quot;,&lt;br /&gt;
          &amp;quot;disabled&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;ttl&amp;quot;: 3600,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;NS&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;serial&amp;quot;: 2026010801,&lt;br /&gt;
  &amp;quot;slave_tsig_key_ids&amp;quot;: [],&lt;br /&gt;
  &amp;quot;soa_edit&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
  &amp;quot;soa_edit_api&amp;quot;: &amp;quot;DEFAULT&amp;quot;,&lt;br /&gt;
  &amp;quot;url&amp;quot;: &amp;quot;/api/v1/servers/localhost/zones/zone-moraal-imre-test-01.ee.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui pole ligipääsu saab sellise vastuse&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% curl -s -L -H 'Content-Type: application/json' -H 'X-API-KEY:  xxx' -X GET &amp;quot;https://pda.moraal.ee/api/v1/servers/localhost/zones/zone-moraal-imre-test-01.ee&amp;quot; | jq .&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;msg&amp;quot;: &amp;quot;Zone access not allowed&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===pdns docker lahendus===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# egrep -v &amp;quot;^$|^#&amp;quot; /etc/powerdns/pdns.conf&lt;br /&gt;
allow-axfr-ips=127.0.0.1,192.168.10.0/24&lt;br /&gt;
allow-notify-from=&lt;br /&gt;
allow-unsigned-notify=yes&lt;br /&gt;
also-notify=&lt;br /&gt;
api=yes&lt;br /&gt;
api-key=saladus&lt;br /&gt;
default-api-rectify=yes&lt;br /&gt;
default-ksk-algorithm=ecdsa256&lt;br /&gt;
default-soa-content=ans1.auu.pri.ee hostmaster.auul.pri.ee 0 86400 7200 2419200 10800&lt;br /&gt;
default-soa-edit=INCEPTION-INCREMENT&lt;br /&gt;
default-soa-edit-signed=INCEPTION-INCREMENT&lt;br /&gt;
default-ttl=3600&lt;br /&gt;
disable-syslog=no&lt;br /&gt;
forward-notify=&lt;br /&gt;
include-dir=/etc/powerdns/pdns.d&lt;br /&gt;
launch=&lt;br /&gt;
local-address=172.30.0.15, 10.30.0.15&lt;br /&gt;
local-port=53&lt;br /&gt;
log-dns-details=yes&lt;br /&gt;
log-dns-queries=yes&lt;br /&gt;
log-timestamp=yes&lt;br /&gt;
loglevel=4&lt;br /&gt;
only-notify=&lt;br /&gt;
primary=yes&lt;br /&gt;
secondary=yes&lt;br /&gt;
webserver=yes&lt;br /&gt;
webserver-address=10.30.0.15&lt;br /&gt;
webserver-allow-from=0.0.0.0/0&lt;br /&gt;
webserver-loglevel=detailed&lt;br /&gt;
webserver-password=saladus&lt;br /&gt;
webserver-port=8081&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===pdns podman lahendus===&lt;br /&gt;
&lt;br /&gt;
PDNS Quadlet Service kirjeldus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kasutaja@ns-pdns-01:~$ cat .config/containers/systemd/pdns-01.container&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=My PDNS Quadlet Service&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Container]&lt;br /&gt;
Image=docker.io/powerdns/pdns-auth-49:latest&lt;br /&gt;
PublishPort=1053:8053/tcp&lt;br /&gt;
PublishPort=1053:8053/udp&lt;br /&gt;
ContainerName=pdns-01&lt;br /&gt;
Volume=%h/volume/pdns/etc/powerdns/pdns.conf:/etc/powerdns/pdns.conf:ro&lt;br /&gt;
Environment=PDNS_local_port=8053&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
# This tells systemd to start it when you log in&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ning pdns.conf seadistusfail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /opt/pdns/volume/pdns/etc/powerdns/pdns.conf&lt;br /&gt;
local-address=0.0.0.0&lt;br /&gt;
launch=&lt;br /&gt;
# include-dir=/etc/powerdns/pdns.d&lt;br /&gt;
api=yes&lt;br /&gt;
api-key=parool&lt;br /&gt;
webserver=yes&lt;br /&gt;
webserver-address=0.0.0.0&lt;br /&gt;
webserver-allow-from=0.0.0.0/0&lt;br /&gt;
&lt;br /&gt;
#master=yes&lt;br /&gt;
&lt;br /&gt;
primary=yes&lt;br /&gt;
secondary=yes&lt;br /&gt;
allow-axfr-ips= 100.20.21.0/24,127.0.0.1/32,172.17.0.0/16&lt;br /&gt;
also-notify=192.168.1.150&lt;br /&gt;
only-notify=&lt;br /&gt;
forward-notify=&lt;br /&gt;
default-soa-content=ans1.auul.pri.ee hostmaster.auul.pri.ee 0 86400 7200 2419200 10800&lt;br /&gt;
default-soa-edit=INCEPTION-INCREMENT&lt;br /&gt;
default-soa-edit-signed=INCEPTION-INCREMENT&lt;br /&gt;
default-ttl=3600&lt;br /&gt;
&lt;br /&gt;
default-ksk-algorithm=ecdsa256&lt;br /&gt;
default-api-rectify=yes&lt;br /&gt;
# default-nsec3-param=1 0 0 -&lt;br /&gt;
&lt;br /&gt;
launch+=gpgsql&lt;br /&gt;
gpgsql-dnssec=yes&lt;br /&gt;
gpgsql-extra-connection-parameters=password=parool dbname=db_pdns port=5432 user=pdns host=192.168.1.147&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Imre</name></author>
	</entry>
</feed>