From d002ed2286cc8937cf563a1f18d8be597eca0aed Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Fri, 29 Sep 2023 14:11:44 +0700 Subject: [PATCH] radius DB install --- install/radius.sql | 169 +++++++++++++++++++++++++++++++++++++++++++++ install/step3.php | 5 ++ install/step4.php | 117 +++++++++++++++++++------------ 3 files changed, 246 insertions(+), 45 deletions(-) create mode 100644 install/radius.sql diff --git a/install/radius.sql b/install/radius.sql new file mode 100644 index 00000000..5645ffd7 --- /dev/null +++ b/install/radius.sql @@ -0,0 +1,169 @@ +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; + +CREATE TABLE `nas` ( + `id` int(10) NOT NULL, + `nasname` varchar(128) COLLATE utf8mb4_general_ci NOT NULL, + `shortname` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, + `type` varchar(30) COLLATE utf8mb4_general_ci DEFAULT 'other', + `ports` int(5) DEFAULT NULL, + `secret` varchar(60) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'secret', + `server` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, + `community` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, + `description` varchar(200) COLLATE utf8mb4_general_ci DEFAULT 'RADIUS Client' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `radacct` ( + `radacctid` bigint(21) NOT NULL, + `acctsessionid` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `acctuniqueid` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `realm` varchar(64) COLLATE utf8mb4_general_ci DEFAULT '', + `nasipaddress` varchar(15) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `nasportid` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, + `nasporttype` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, + `acctstarttime` datetime DEFAULT NULL, + `acctupdatetime` datetime DEFAULT NULL, + `acctstoptime` datetime DEFAULT NULL, + `acctinterval` int(12) DEFAULT NULL, + `acctsessiontime` int(12) UNSIGNED DEFAULT NULL, + `acctauthentic` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, + `connectinfo_start` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL, + `connectinfo_stop` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL, + `acctinputoctets` bigint(20) DEFAULT NULL, + `acctoutputoctets` bigint(20) DEFAULT NULL, + `calledstationid` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `callingstationid` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `acctterminatecause` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `servicetype` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, + `framedprotocol` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, + `framedipaddress` varchar(15) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `framedipv6address` varchar(45) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `framedipv6prefix` varchar(45) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `framedinterfaceid` varchar(44) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `delegatedipv6prefix` varchar(45) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `class` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `radcheck` ( + `id` int(11) UNSIGNED NOT NULL, + `username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `attribute` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `op` char(2) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '==', + `value` varchar(253) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `radgroupcheck` ( + `id` int(11) UNSIGNED NOT NULL, + `groupname` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `attribute` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `op` char(2) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '==', + `value` varchar(253) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `radgroupreply` ( + `id` int(11) UNSIGNED NOT NULL, + `groupname` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `attribute` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `op` char(2) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '=', + `value` varchar(253) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `radpostauth` ( + `id` int(11) NOT NULL, + `username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `pass` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `reply` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `authdate` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), + `class` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `radreply` ( + `id` int(11) UNSIGNED NOT NULL, + `username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `attribute` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `op` char(2) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '=', + `value` varchar(253) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `radusergroup` ( + `id` int(11) UNSIGNED NOT NULL, + `username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `groupname` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `priority` int(11) NOT NULL DEFAULT '1' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + + +ALTER TABLE `nas` + ADD PRIMARY KEY (`id`), + ADD KEY `nasname` (`nasname`); + +ALTER TABLE `radacct` + ADD PRIMARY KEY (`radacctid`), + ADD UNIQUE KEY `acctuniqueid` (`acctuniqueid`), + ADD KEY `username` (`username`), + ADD KEY `framedipaddress` (`framedipaddress`), + ADD KEY `framedipv6address` (`framedipv6address`), + ADD KEY `framedipv6prefix` (`framedipv6prefix`), + ADD KEY `framedinterfaceid` (`framedinterfaceid`), + ADD KEY `delegatedipv6prefix` (`delegatedipv6prefix`), + ADD KEY `acctsessionid` (`acctsessionid`), + ADD KEY `acctsessiontime` (`acctsessiontime`), + ADD KEY `acctstarttime` (`acctstarttime`), + ADD KEY `acctinterval` (`acctinterval`), + ADD KEY `acctstoptime` (`acctstoptime`), + ADD KEY `nasipaddress` (`nasipaddress`), + ADD KEY `class` (`class`); + +ALTER TABLE `radcheck` + ADD PRIMARY KEY (`id`), + ADD KEY `username` (`username`(32)); + +ALTER TABLE `radgroupcheck` + ADD PRIMARY KEY (`id`), + ADD KEY `groupname` (`groupname`(32)); + +ALTER TABLE `radgroupreply` + ADD PRIMARY KEY (`id`), + ADD KEY `groupname` (`groupname`(32)); + +ALTER TABLE `radpostauth` + ADD PRIMARY KEY (`id`), + ADD KEY `username` (`username`), + ADD KEY `class` (`class`); + +ALTER TABLE `radreply` + ADD PRIMARY KEY (`id`), + ADD KEY `username` (`username`(32)); + +ALTER TABLE `radusergroup` + ADD PRIMARY KEY (`id`), + ADD KEY `username` (`username`(32)); + + +ALTER TABLE `nas` + MODIFY `id` int(10) NOT NULL AUTO_INCREMENT; + +ALTER TABLE `radacct` + MODIFY `radacctid` bigint(21) NOT NULL AUTO_INCREMENT; + +ALTER TABLE `radcheck` + MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; + +ALTER TABLE `radgroupcheck` + MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; + +ALTER TABLE `radgroupreply` + MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; + +ALTER TABLE `radpostauth` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +ALTER TABLE `radreply` + MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; + +ALTER TABLE `radusergroup` + MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/install/step3.php b/install/step3.php index bd168a89..21b18104 100644 --- a/install/step3.php +++ b/install/step3.php @@ -58,6 +58,11 @@ +
+ + +
+ diff --git a/install/step4.php b/install/step4.php index 2208a751..515a4779 100644 --- a/install/step4.php +++ b/install/step4.php @@ -1,7 +1,8 @@ PDO::ERRMODE_EXCEPTION)); + array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) + ); $cn = '1'; -} -catch(PDOException $ex){ +} catch (PDOException $ex) { $cn = '0'; } if ($cn == '1') { - $input = '$input"); - fwrite($fh, $input); fclose($fh); - $sql = file_get_contents('phpnuxbill.sql'); - $qr = $dbh->exec($sql); - + if ($_POST['radius'] == 'yes') { + $sql = file_get_contents('radius.sql'); + $qrs = $dbh->exec($sql); + } } else { header("location: step3.php?_error=1"); exit; @@ -67,8 +93,9 @@ $wConfig = "../config.php"; ?> + - PHPNuxBill Installer + PHPNuxBill Installer @@ -76,44 +103,44 @@ $wConfig = "../config.php"; - + -
+
Logo
-
-

PHPNuxBill Installer

- -

Config File Created and Database Imported.

-
-
- Click Continue - -
-
- -

MySQL Connection was successfull. An error occured while adding data on MySQL. Unsuccessfull - Installation. Please refer manual installation in the website github.com/ibnux/phpnuxbill or Contact phpnuxbill@ibnux.com for - helping on installation

- -

MySQL Connection Failed.

- -
-
+
+

PHPNuxBill Installer

+ +

Config File Created and Database Imported.

+
+
+ Click Continue + +
+
+ +

MySQL Connection was successfull. An error occured while adding data on MySQL. Unsuccessfull + Installation. Please refer manual installation in the website github.com/ibnux/phpnuxbill/wiki or Contact Telegram @ibnux for + helping on installation

+ +

MySQL Connection Failed.

+ +
+
- + - + \ No newline at end of file