#!/usr/bin/env bash # Copyright (c) 2021-2026 community-scripts ORG # Author: Slaviša Arežina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE # Source: https://www.powerdns.com/ source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors setting_up_container network_check update_os setup_hwaccel msg_info "Installing Dependencies" $STD apt install -y sqlite3 msg_ok "Installed Dependencies" PHP_VERSION="8.3" PHP_APACHE="YES" PHP_FPM="YES" PHP_MODULE="gettext,tokenizer,sqlite3,ldap" setup_php setup_deb822_repo \ "pdns" \ "https://repo.powerdns.com/FD380FBB-pub.asc" \ "http://repo.powerdns.com/debian" \ "trixie-auth-50" cat </etc/apt/preferences.d/auth-50 Package: pdns-* Pin: origin repo.powerdns.com Pin-Priority: 600 EOF msg_info "Setting up PowerDNS" $STD apt install -y pdns \ pdns-backend-sqlite3 msg_ok "Setup PowerDNS" fetch_and_deploy_gh_release "poweradmin" "poweradmin/poweradmin" "tarball" msg_info "Setting up Poweradmin" sqlite3 /opt/poweradmin/powerdns.db < /usr/share/doc/pdns-backend-sqlite3/schema.sqlite3.sql cat </opt/poweradmin/config/settings.php [ 'type' => 'sqlite', 'file' => '/opt/poweradmin/powerdns.db', ], /** * Security Settings */ 'security' => [ 'session_key' => '5c\$^vK#l!*@mj4Id(WWzsosruN\$fkhaqLQo@i-s6ZBV)8C', ], /** * Interface Settings */ 'interface' => [ 'language' => 'en_EN', ], /** * DNS Settings */ 'dns' => [ 'hostmaster' => 'localhost.lan', 'ns1' => '8.8.8.8', 'ns2' => '9.9.9.9', ] ]; EOF msg_ok "Setup Poweradmin" msg_info "Creating Service" rm /etc/apache2/sites-enabled/000-default.conf cat </etc/apache2/sites-enabled/poweradmin.conf ServerName $HOSTNAME DocumentRoot /opt/poweradmin Options -Indexes +FollowSymLinks AllowOverride All Require all granted # For DDNS update functionality RewriteEngine On RewriteRule ^/update(.*)$ /dynamic_update.php [L] RewriteRule ^/nic/update(.*)$ /dynamic_update.php [L] EOF $STD a2enmod rewrite headers chown -R www-data:www-data /opt/poweradmin $STD systemctl restart apache2 msg_info "Created Service" motd_ssh customize cleanup_lxc