1
1
#! /bin/sh
2
2
3
- # Defaults
4
- # mysql
3
+ TZ= ${TZ :- Europe / Moscow}
4
+
5
5
MYSQL_HOST=${MYSQL_HOST:- localhost}
6
6
MYSQL_PORT=${MYSQL_PORT:- 3306}
7
7
MYSQL_DATABASE=${MYSQL_DATABASE:- pdns}
8
8
MYSQL_USER=${MYSQL_USER:- pdns}
9
9
MYSQL_PASSWORD=${MYSQL_PASSWORD:- pdns}
10
10
11
- # php
12
- SESSION_KEY=` pwgen 32 1`
13
-
11
+ POWERADMIN_IFACE_LANG=${POWERADMIN_IFACE_LANG:- en_EN}
12
+ POWERADMIN_HOSTMASTER=${POWERADMIN_HOSTMASTER:- }
13
+ POWERADMIN_NS1=${POWERADMIN_NS1:- }
14
+ POWERADMIN_NS2=${POWERADMIN_NS2:- }
15
+ POWERADMIN_SESSION_KEY=${POWER_ADMIN:- `pwgen 32 1`}
14
16
15
17
PDNS_ALLOW_AXFR_IPS=${PDNS_ALLOW_AXFR_IPS:- 127.0.0.1}
16
18
PDNS_MASTER=${PDNS_MASTER:- yes}
@@ -20,41 +22,62 @@ PDNS_DISTRIBUTOR_THREADS=${PDNS_DISTRIBUTOR_THREADS:-3}
20
22
PDNS_RECURSIVE_CACHE_TTL=${PDNS_RECURSIVE_CACHE_TTL:- 10}
21
23
PDNS_ALLOW_RECURSION=${PDNS_ALLOW_RECURSION:- 127.0.0.1}
22
24
PDNS_RECURSOR=${PDNS_RECURSOR:- no}
23
- POWERADMIN_HOSTMASTER=${POWERADMIN_HOSTMASTER:- }
24
- POWERADMIN_NS1=${POWERADMIN_NS1:- }
25
- POWERADMIN_NS2=${POWERADMIN_NS2:- }
26
25
27
- # Setup run directory
28
- if [ ! -d /run/powerdns ]; then
29
- mkdir -p /run/powerdns
30
- fi
31
- chown -R powerdns:powerdns /run/powerdns
32
- chmod 0755 /run/powerdns
33
26
34
- # Setup mysql env
27
+ cp /usr/share/zoneinfo/${TZ} /etc/localtime; \
28
+ ENV LANG ${POWERADMIN_IFACE_LANG} .UTF-8
29
+ ENV LANGUAGE ${POWERADMIN_IFACE_LANG} .UTF-8
30
+ ENV LC_ALL ${POWERADMIN_IFACE_LANG} .UTF-8
31
+ ENV MUSL_LOCPATH /usr/share/i18n/locales/musl
35
32
36
- if [ -n " $MYSQL_HOST " ]; then
37
- sed -i " s!MYSQL_HOST!${MYSQL_HOST} !" /etc/powerdns/conf.d/gmysql.conf
38
- sed -i " s!{{MYSQL_HOST}}!${MYSQL_HOST} !" /var/www/html/poweradmin/inc/config.inc.php
39
- fi
40
- if [ -n " $MYSQL_PORT " ]; then
41
- sed -i " s!MYSQL_PORT!${MYSQL_PORT} !" /etc/powerdns/conf.d/gmysql.conf
42
- sed -i " s!{{MYSQL_PORT}}!${MYSQL_PORT} !" /var/www/html/poweradmin/inc/config.inc.php
43
- fi
44
- if [ -n " $MYSQL_DATABASE " ]; then
45
- sed -i " s!MYSQL_DATABASE!${MYSQL_DATABASE} !" /etc/powerdns/conf.d/gmysql.conf
46
- sed -i " s!{{MYSQL_DB}}!${MYSQL_DATABASE} !" /var/www/html/poweradmin/inc/config.inc.php
33
+ sed -i " s!MYSQL_HOST!${MYSQL_HOST} !" /etc/powerdns/conf.d/gmysql.conf
34
+ sed -i " s!MYSQL_PORT!${MYSQL_PORT} !" /etc/powerdns/conf.d/gmysql.conf
35
+ sed -i " s!MYSQL_DATABASE!${MYSQL_DATABASE} !" /etc/powerdns/conf.d/gmysql.conf
36
+ sed -i " s!MYSQL_USER!${MYSQL_USER} !" /etc/powerdns/conf.d/gmysql.conf
37
+ sed -i " s!MYSQL_PASSWORD!${MYSQL_PASSWORD} !" /etc/powerdns/conf.d/gmysql.conf
38
+
39
+ sed -i " s!MYSQL_HOST!${MYSQL_HOST} !" /var/www/html/poweradmin/inc/config.inc.php
40
+ sed -i " s!MYSQL_PORT!${MYSQL_PORT} !" /var/www/html/poweradmin/inc/config.inc.php
41
+ sed -i " s!MYSQL_DATABASE!${MYSQL_DATABASE} !" /var/www/html/poweradmin/inc/config.inc.php
42
+ sed -i " s!MYSQL_USER!${MYSQL_USER} !" /var/www/html/poweradmin/inc/config.inc.php
43
+ sed -i " s!MYSQL_PASSWORD!${MYSQL_PASSWORD} !" /var/www/html/poweradmin/inc/config.inc.php
44
+
45
+ sed -i " s!POWERADMIN_SESSION_KEY!${POWERADMIN_SESSION_KEY} !" /var/www/html/poweradmin/inc/config.inc.php
46
+ sed -i " s!POWERADMIN_IFACE_LANG!${POWERADMIN_IFACE_LANG} !" /var/www/html/poweradmin/inc/config.inc.php
47
+ sed -i " s!POWERADMIN_HOSTMASTER!${POWERADMIN_HOSTMASTER} !" /var/www/html/poweradmin/inc/config.inc.php
48
+ sed -i " s!POWERADMIN_NS1!${POWERADMIN_NS1} !" /var/www/html/poweradmin/inc/config.inc.php
49
+ sed -i " s!POWERADMIN_NS2!${POWERADMIN_NS2} !" /var/www/html/poweradmin/inc/config.inc.php
50
+ sed -i " s!TZ!${TZ} !" /var/www/html/poweradmin/inc/config.inc.php
51
+
52
+ until nc -z ${MYSQL_HOST} ${MYSQL_PORT} ; do
53
+ echo " $( date) - waiting for a response from mysql"
54
+ sleep 1
55
+ done
56
+
57
+ if mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} " ${MYSQL_DATABASE} " > /dev/null 2>&1 < /dev/null
58
+ then
59
+ echo " Database ${MYSQL_DATABASE} already exists"
60
+ else
61
+ mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} -e " CREATE DATABASE ${MYSQL_DATABASE} "
62
+ mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} < /sql/pdns_schema.sql
63
+ mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} < /sql/poweradmin.sql
47
64
fi
48
- if [ -n " $MYSQL_USER " ]; then
49
- sed -i " s!MYSQL_USER!${MYSQL_USER} !" /etc/powerdns/conf.d/gmysql.conf
50
- sed -i " s!{{MYSQL_USER}}!${MYSQL_USER} !" /var/www/html/poweradmin/inc/config.inc.php
65
+
66
+ CHECK_TABLE=` mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} -e " CHECK TABLE domains;" | grep " doesn't exist" | awk {' print $3' }`
67
+ if [ ${CHECK_TABLE} == " Error" ]; then
68
+ mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} < /sql/pdns_schema.sql
51
69
fi
52
- if [ -n " $MYSQL_PASSWORD " ]; then
53
- sed -i " s!MYSQL_PASSWORD!${MYSQL_PASSWORD} !" /etc/powerdns/conf.d/gmysql.conf
54
- sed -i " s!{{MYSQL_PASSWORD}}!${MYSQL_PASSWORD} !" /var/www/html/poweradmin/inc/config.inc.php
70
+
71
+ CHECK_TABLE=` mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} -e " CHECK TABLE users;" | grep " doesn't exist" | awk {' print $3' }`
72
+ if [ ${CHECK_TABLE} == " Error" ]; then
73
+ mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} < /sql/poweradmin.sql
55
74
fi
75
+ rm -rf /sql
76
+
77
+ # INSERT INTO users ( id, username, `password`, fullname, email, description, perm_templ, active, use_ldap )
78
+ # VALUES ( 1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', '[email protected] ', 'Administrator with full rights.', 1, 1, 0 );
79
+ # INSERT INTO perm_templ ( id, name, descr ) VALUES ( 1, 'Administrator', 'Administrator template with full rights.' );
56
80
57
- sed -i " s!{{SESSION_KEY}}!${SESSION_KEY} !" /var/www/html/poweradmin/inc/config.inc.php
58
81
59
82
# Setup web access
60
83
if [ ! -f /etc/powerdns/conf.d/webserver.conf ] && [ -n " $POWERDNS_WEBSERVER_ALLOW_FROM " ]; then
0 commit comments