114 lines
2.5 KiB
Bash
114 lines
2.5 KiB
Bash
#!/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,openssl,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 <<EOF >/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 <<EOF >/opt/poweradmin/config/settings.php
|
|
<?php
|
|
|
|
/**
|
|
* Poweradmin Settings Configuration File
|
|
*
|
|
* Generated by the installer on 2026-02-02 21:01:40
|
|
*/
|
|
|
|
return [
|
|
/**
|
|
* Database Settings
|
|
*/
|
|
'database' => [
|
|
'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 <<EOF >/etc/apache2/sites-enabled/poweradmin.conf
|
|
<VirtualHost *:80>
|
|
ServerName $HOSTNAME
|
|
DocumentRoot /opt/poweradmin
|
|
|
|
<Directory /opt/poweradmin>
|
|
Options -Indexes +FollowSymLinks
|
|
AllowOverride All
|
|
Require all granted
|
|
</Directory>
|
|
|
|
# For DDNS update functionality
|
|
RewriteEngine On
|
|
RewriteRule ^/update(.*)$ /dynamic_update.php [L]
|
|
RewriteRule ^/nic/update(.*)$ /dynamic_update.php [L]
|
|
</VirtualHost>
|
|
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
|