From 60f9f71401ccb4a3e24fb66079a29078480e00e8 Mon Sep 17 00:00:00 2001 From: Matt Smith Date: Mon, 11 Apr 2011 06:30:08 -0500 Subject: testing/poweradmin: new aport A Web-based PHP tool for administering PowerDNS http://www.poweradmin.org/ --- testing/poweradmin/0010-fix-installer-config.patch | 31 +++++++++ testing/poweradmin/0020-fix-for-mysql55.patch | 20 ++++++ testing/poweradmin/APKBUILD | 81 ++++++++++++++++++++++ testing/poweradmin/poweradmin.apache2.conf | 7 ++ testing/poweradmin/poweradmin.post-install | 30 ++++++++ 5 files changed, 169 insertions(+) create mode 100644 testing/poweradmin/0010-fix-installer-config.patch create mode 100644 testing/poweradmin/0020-fix-for-mysql55.patch create mode 100644 testing/poweradmin/APKBUILD create mode 100644 testing/poweradmin/poweradmin.apache2.conf create mode 100644 testing/poweradmin/poweradmin.post-install (limited to 'testing/poweradmin') diff --git a/testing/poweradmin/0010-fix-installer-config.patch b/testing/poweradmin/0010-fix-installer-config.patch new file mode 100644 index 0000000000..11dd435163 --- /dev/null +++ b/testing/poweradmin/0010-fix-installer-config.patch @@ -0,0 +1,31 @@ +--- ./install/index.php.orig ++++ ./install/index.php +@@ -287,11 +287,27 @@ + "\$db_port\t\t= '" . $_POST['db_port'] . "';\n" . + "\$db_type\t\t= '" . $_POST['db_type'] . "';\n" . + "\n" . +- "\$iface_lang\t\t= '" . $_POST['language'] . "';\n" . ++ "\$iface_lang\t\t= '" . $_POST['language'] . "';\n" . ++ "\$iface_style\t\t= ". "'example';\n" . ++ "\$iface_rowamount\t=". "50;\n" . ++ "\$iface_expire\t\t=". "1800;\n" . ++ "\$iface_zonelist_serial\t=". "false;\n" . ++ "\$iface_title\t\t=". "'Poweradmin';\n" . + "\n" . + "\$dns_hostmaster\t\t= '" . $_POST['dns_hostmaster'] . "';\n" . + "\$dns_ns1\t\t= '" . $_POST['dns_ns1'] . "';\n" . + "\$dns_ns2\t\t= '" . $_POST['dns_ns2'] . "';\n" . ++ "\n" . ++ "// See for help.\n" . ++ "//\$timezone\t\t=". "'UTC';\n" . ++ "\n" . ++ "/* Syslog usage - writes authentication attempts to syslog\n" . ++ " This facility could be used in combination with fail2ban to\n" . ++ " ban IPs with break-in attempts\n" . ++ "*/\n" . ++ "\$syslog_use = false;\n" . ++ "\$syslog_ident = 'poweradmin';\n" . ++ "\$syslog_facility = LOG_USER;\n" . + "\n?>\n"; + + if (is_writeable($local_config_file)) { diff --git a/testing/poweradmin/0020-fix-for-mysql55.patch b/testing/poweradmin/0020-fix-for-mysql55.patch new file mode 100644 index 0000000000..dbf59973c5 --- /dev/null +++ b/testing/poweradmin/0020-fix-for-mysql55.patch @@ -0,0 +1,20 @@ +--- ./docs/powerdns-mysql-db-structure.sql.orig ++++ ./docs/powerdns-mysql-db-structure.sql +@@ -7,7 +7,7 @@ + notified_serial INT DEFAULT NULL, + account VARCHAR(40) DEFAULT NULL, + primary key (id) +-)type=InnoDB; ++) Engine=InnoDB; + + CREATE UNIQUE INDEX name_index ON domains(name); + +@@ -21,7 +21,7 @@ + prio INT DEFAULT NULL, + change_date INT DEFAULT NULL, + primary key(id) +-)type=InnoDB; ++) Engine=InnoDB; + + CREATE INDEX rec_name_index ON records(name); + CREATE INDEX nametype_index ON records(name,type); diff --git a/testing/poweradmin/APKBUILD b/testing/poweradmin/APKBUILD new file mode 100644 index 0000000000..64a5c0062b --- /dev/null +++ b/testing/poweradmin/APKBUILD @@ -0,0 +1,81 @@ +# Contributor: Matt Smith +# Maintainer: Matt Smith +pkgname=poweradmin +pkgver=2.1.5.999 +pkgrel=0 +pkgdesc="A Web-based PHP tool for administering PowerDNS" +url="https://www.poweradmin.org/" +arch="noarch" +license="GPL" +depends="php php-gettext php-mcrypt php-pear php-pear-mdb2 pdns" +# user needs to select either mysql or pgsql: +# - mysql php-mysql php-pear-mdb2-driver-mysql +# - postgresql php-pgsql php-pear-mdb2-driver-pgsql +depends_dev= +makedepends="$depends_dev" +install="$pkgname.post-install" +subpackages="$pkgname-doc" +source="http://www.poweradmin.org/download/poweradmin.nightly.tgz + 0010-fix-installer-config.patch + 0020-fix-for-mysql55.patch + $pkgname.apache2.conf + " + +_builddir="$srcdir"/$pkgname-nightly +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + return 0 +} + +package() { + # copy poweradmin + mkdir -p "$pkgdir"/usr/share/webapps/$pkgname || return 1 + cp -ra "$_builddir"/* "$pkgdir"/usr/share/webapps/$pkgname/ || return 1 + + # install empty config file (for the web installer) + mkdir -p "$pkgdir"/etc/$pkgname || return 1 + touch "$pkgdir"/etc/$pkgname/config.inc.php || return 1 + chmod 660 "$pkgdir"/etc/$pkgname/config.inc.php || return 1 + ln -fs /etc/$pkgname/config.inc.php "$pkgdir"/usr/share/webapps/$pkgname/inc/config.inc.php || return 1 + + # share files + _shares="i18n-template-db.pot i18n-template-php.pot \ + poweradmin-mysql-db-structure.sql poweradmin-pgsql-db-structure.sql \ + powerdns-mysql-db-structure.sql powerdns-pgsql-db-structure.sql \ + powerdns-sqlite-db-structure.sql" + for _share in $_shares; do + install -Dm644 \ + "$pkgdir"/usr/share/webapps/$pkgname/docs/$_share \ + "$pkgdir"/usr/share/$pkgname/$_share || return 1 + done + mv "$pkgdir"/usr/share/webapps/$pkgname/inc/config-me.inc.php \ + "$pkgdir"/usr/share/$pkgname/config-me.inc.php || return 1 + + # install the apache2 config + install -Dm644 "$srcdir"/$pkgname.apache2.conf \ + "$pkgdir"/etc/apache2/conf.d/$pkgname.conf || return 1 +} + +doc() { + _docs="CHANGELOG LICENSE README" + for _doc in $_docs; do + install -Dm644 \ + "$pkgdir"/usr/share/webapps/$pkgname/docs/$_doc \ + "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1 + done + rm -rf "$pkgdir"/usr/share/webapps/$pkgname/docs || return 1 +} + +md5sums="5420748a124302cdee5e14d660938663 poweradmin.nightly.tgz +f2936b9362269f5ed08dc853d49576cb 0010-fix-installer-config.patch +15638562a494a7ee3043e32476a47c94 0020-fix-for-mysql55.patch +a74d64fc95f48c64927dd10df214127a poweradmin.apache2.conf" diff --git a/testing/poweradmin/poweradmin.apache2.conf b/testing/poweradmin/poweradmin.apache2.conf new file mode 100644 index 0000000000..56355e3882 --- /dev/null +++ b/testing/poweradmin/poweradmin.apache2.conf @@ -0,0 +1,7 @@ +Alias /poweradmin "/usr/share/webapps/poweradmin" + + AllowOverride All + Options FollowSymlinks + Order allow,deny + Allow from all + diff --git a/testing/poweradmin/poweradmin.post-install b/testing/poweradmin/poweradmin.post-install new file mode 100644 index 0000000000..b317e03851 --- /dev/null +++ b/testing/poweradmin/poweradmin.post-install @@ -0,0 +1,30 @@ +#!/bin/sh + +echo "*" >&2 +echo "* Poweradmin has been installed to:" >&2 +echo "* /usr/share/webapps/poweradmin" >&2 +echo "* An empty Poweradmin config file has been installed to:" >&2 +echo "* /etc/poweradmin/config.inc.php" >&2 +echo "* If you use apache2:" >&2 +echo "* 1) Change the ownership of the config directory:" >&2 +echo "* chown -R apache:apache /etc/poweradmin" >&2 +echo "* 2) See if you need to modify the apache2 config:" >&2 +echo "* /etc/apache2/conf.d/poweradmin.conf" >&2 +echo "* 3) Restart apache2 when done." >&2 +echo "*" >&2 +echo "* Installation Steps:" >&2 +echo "* 1) Install the database packages you need for Poweradmin:" >&2 +echo "* For MySQL: apk add mysql php-mysql php-pear-mdb2-driver-mysql" >&2 +echo "* For PgSQL: apk add postgresql php-pgsql php-pear-mdb2-driver-pgsql" >&2 +echo "* 2) Point your browser to the install directory, e.g." >&2 +echo "* http://server_ip/poweradmin/install" >&2 +echo "* and follow the instructions on the screen." >&2 +echo "* 3) Remove the 'install' directory from the Poweradmin directory:" >&2 +echo "* rm /usr/share/webapps/poweradmin/install -rf" >&2 +echo "* 4) Point your browser to Poweradmin, e.g." >&2 +echo "* http://server_ip/poweradmin/" >&2 +echo "* and login using the username 'admin' and the password you provided" >&2 +echo "* during the installation process of Step 1 (above)." >&2 +echo "*" >&2 + +exit 0 -- cgit v1.2.3