radius DB install

This commit is contained in:
Ibnu Maksum 2023-09-29 14:11:44 +07:00
parent dc19583d95
commit d002ed2286
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
3 changed files with 246 additions and 45 deletions

169
install/radius.sql Normal file
View File

@ -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 */;

View File

@ -58,6 +58,11 @@
<input type="text" class="form-control" id="dbname" name="dbname">
</div>
<div class="form-group">
<label for="dbname"><input type="checkbox" class="form-control" id="radius" name="radius" value="yes"> Install Radius Table?</label>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</fieldset>
</form>

View File

@ -1,7 +1,8 @@
<?php
/**
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
**/
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
**/
//error_reporting (0);
$appurl = $_POST['appurl'];
$db_host = $_POST['dbhost'];
@ -9,19 +10,21 @@ $db_user = $_POST['dbuser'];
$db_password = $_POST['dbpass'];
$db_name = $_POST['dbname'];
$cn = '0';
try{
$dbh = new pdo( "mysql:host=$db_host;dbname=$db_name",
try {
$dbh = new pdo(
"mysql:host=$db_host;dbname=$db_name",
"$db_user",
"$db_password",
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
);
$cn = '1';
}
catch(PDOException $ex){
} catch (PDOException $ex) {
$cn = '0';
}
if ($cn == '1') {
$input = '<?php
if ($_POST['radius'] == 'yes') {
$input = '<?php
define(\'APP_URL\', \'' . $appurl . '\');
$_app_stage = \'Live\';
@ -48,17 +51,40 @@ if($_app_stage!=\'Live\'){
ini_set(\'display_startup_errors\', 0);
}
';
$wConfig = "../config.php";
} else {
$input = '<?php
define(\'APP_URL\', \'' . $appurl . '\');
$_app_stage = \'Live\';
// Database PHPNuxBill
$db_host = \'' . $db_host . '\';
$db_user = \'' . $db_user . '\';
$db_password = \'' . $db_password . '\';
$db_name = \'' . $db_name . '\';
if($_app_stage!=\'Live\'){
error_reporting(E_ERROR);
ini_set(\'display_errors\', 1);
ini_set(\'display_startup_errors\', 1);
}else{
error_reporting(E_ERROR);
ini_set(\'display_errors\', 0);
ini_set(\'display_startup_errors\', 0);
}
';
}
$wConfig = "../config.php";
$fh = fopen($wConfig, 'w') or die("Can't create config file, your server does not support 'fopen' function,
please create a file named - config.php with following contents- <br/>$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";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHPNuxBill Installer</title>
<title>PHPNuxBill Installer</title>
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@ -76,44 +103,44 @@ $wConfig = "../config.php";
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type='text/css' href='css/style.css' rel='stylesheet'/>
<link type='text/css' href='css/style.css' rel='stylesheet' />
<link type='text/css' href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body style='background-color: #FBFBFB;'>
<div id='main-container'>
<div id='main-container'>
<img src="img/logo.png" class="img-responsive" alt="Logo" />
<hr>
<div class="span12">
<h4> PHPNuxBill Installer </h4>
<?php
if ($cn == '1') {
?>
<p><strong>Config File Created and Database Imported.</strong><br></p>
<form action="step5.php" method="post">
<fieldset>
<legend>Click Continue</legend>
<button type='submit' class='btn btn-primary'>Continue</button>
</fieldset>
</form>
<?php
} elseif ($cn == '2') {
?>
<p> 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</p>
<?php
} else {
?>
<p> MySQL Connection Failed.</p>
<?php
}
?>
</div>
</div>
<div class="span12">
<h4> PHPNuxBill Installer </h4>
<?php
if ($cn == '1') {
?>
<p><strong>Config File Created and Database Imported.</strong><br></p>
<form action="step5.php" method="post">
<fieldset>
<legend>Click Continue</legend>
<button type='submit' class='btn btn-primary'>Continue</button>
</fieldset>
</form>
<?php
} elseif ($cn == '2') {
?>
<p> 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</p>
<?php
} else {
?>
<p> MySQL Connection Failed.</p>
<?php
}
?>
</div>
</div>
<div class="footer">Copyright &copy; 2021 PHPNuxBill. All Rights Reserved<br/><br/></div>
<div class="footer">Copyright &copy; 2021 PHPNuxBill. All Rights Reserved<br /><br /></div>
</body>
</html>
</html>