331 lines
10 KiB
PHP
331 lines
10 KiB
PHP
|
<html>
|
||
|
<head><title>Installer Page STEP 1</title></head>
|
||
|
<body>
|
||
|
<?php
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
// Define Script Version
|
||
|
//------------------------------------------------------------------------------
|
||
|
$version = "2.0.3";
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
echo "INSTALLING...<br>";
|
||
|
|
||
|
// Aufbau der Datenbankverbindung
|
||
|
@$y = mysql_connect($_REQUEST["dbserv"],$_REQUEST["dbuser"],$_REQUEST["dbpwd"]);
|
||
|
$sql = 'CREATE DATABASE ' . $_REQUEST["dbname"];
|
||
|
if (mysql_query($sql, $y))
|
||
|
{
|
||
|
echo "Datenbank erfolgreich angelegt! [<b><font color=lime>OK</b></font>]<br>\n";
|
||
|
$config = "<?php
|
||
|
\$MYSQL_HOST=\"".$_REQUEST["dbserv"]."\";
|
||
|
\$MYSQL_USER=\"".$_REQUEST["dbuser"]."\";
|
||
|
\$MYSQL_PASS=\"".$_REQUEST["dbpwd"]."\";
|
||
|
\$MYSQL_DATABASE=\"".$_REQUEST["dbname"]."\";?>";
|
||
|
$dateiname = "../Config/_dbconfig_.php";
|
||
|
$handler = fOpen($dateiname , "w");
|
||
|
fWrite($handler , $config);
|
||
|
fClose($handler);
|
||
|
|
||
|
$config = "user: ".$_REQUEST["dbuser"].
|
||
|
"\npasswd: ".$_REQUEST["dbpwd"].
|
||
|
"\ndatabase: ".$_REQUEST["dbname"].
|
||
|
"\nhost: ".$_REQUEST["dbserv"];
|
||
|
$dateiname = $_REQUEST["vpndir"]."/database";
|
||
|
$handler = fOpen($dateiname , "w");
|
||
|
fWrite($handler , $config);
|
||
|
fClose($handler);
|
||
|
exec("chmod 777 ".$dateiname);
|
||
|
|
||
|
echo "Konfiguration erfolgreich angelegt! [<b><font color=lime>OK</b></font>]<br>\n";
|
||
|
include("../Config/_dbconfig_.php");
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
die("Fehler beim Anlegen der Datenbank! [<b><font color=red>FAIL</b></font>]<br>");
|
||
|
}
|
||
|
|
||
|
@$x = mysql_select_db($MYSQL_DATABASE);
|
||
|
if (empty($x))
|
||
|
{
|
||
|
die ("Keine Verbindung zur Datenbank! [<b><font color=red>FAIL</b></font>]<br>");
|
||
|
}
|
||
|
|
||
|
// MYSQL QUERYS....
|
||
|
mysql_query ("
|
||
|
CREATE TABLE userdata (
|
||
|
Id Int(11) NOT NULL auto_increment,
|
||
|
IsAdmin Int(1) NOT NULL default 0,
|
||
|
VPNId VarChar(2) NOT NULL default '-',
|
||
|
Nickname VarChar(50) NOT NULL default '',
|
||
|
Kennwort VarChar(50) NOT NULL default '',
|
||
|
Nachname VarChar(50) NOT NULL default '',
|
||
|
Vorname VarChar(50) NOT NULL default '',
|
||
|
Email VarChar(100) NOT NULL default '',
|
||
|
Avatar Int(1) NOT NULL default 0,
|
||
|
NovLogin VarChar(50) NOT NULL default '',
|
||
|
NovPass VarChar(50) NOT NULL default '',
|
||
|
PRIMARY KEY (Id)
|
||
|
)
|
||
|
");
|
||
|
|
||
|
mysql_query ("
|
||
|
CREATE TABLE `connections` (
|
||
|
`id` int(255) unsigned NOT NULL auto_increment,
|
||
|
`start` int(14) unsigned NOT NULL default '0',
|
||
|
`stop` int(14) unsigned NOT NULL default '0',
|
||
|
`ip` varchar(15) default NULL,
|
||
|
`local_ip` varchar(15) default NULL,
|
||
|
`remote_ip` varchar(15) default NULL,
|
||
|
`client` varchar(255) NOT NULL default '',
|
||
|
`sent` bigint(255) NOT NULL default '0',
|
||
|
`received` bigint(255) NOT NULL default '0',
|
||
|
PRIMARY KEY (`id`)
|
||
|
) ENGINE=MyISAM DEFAULT CHARSET=ascii;
|
||
|
");
|
||
|
|
||
|
mysql_query ("
|
||
|
CREATE TABLE `month` (
|
||
|
`id` int(255) unsigned NOT NULL auto_increment,
|
||
|
`month` int(2) unsigned NOT NULL default '0',
|
||
|
`year` int(5) unsigned NOT NULL default '0',
|
||
|
`sent` bigint(255) unsigned NOT NULL default '0',
|
||
|
`received` bigint(255) unsigned NOT NULL default '0',
|
||
|
`client` varchar(255) NOT NULL default '',
|
||
|
`time` int(255) unsigned NOT NULL default '0',
|
||
|
PRIMARY KEY (`id`)
|
||
|
) ENGINE=MyISAM DEFAULT CHARSET=ascii;
|
||
|
");
|
||
|
|
||
|
mysql_query ("
|
||
|
CREATE TABLE `year` (
|
||
|
`id` int(255) unsigned NOT NULL auto_increment,
|
||
|
`year` int(5) unsigned NOT NULL default '0',
|
||
|
`sent` bigint(255) unsigned NOT NULL default '0',
|
||
|
`received` bigint(255) unsigned NOT NULL default '0',
|
||
|
`client` varchar(255) NOT NULL default '',
|
||
|
`time` int(255) unsigned NOT NULL default '0',
|
||
|
PRIMARY KEY (`id`)
|
||
|
) ENGINE=MyISAM DEFAULT CHARSET=ascii;
|
||
|
");
|
||
|
|
||
|
mysql_query ("
|
||
|
CREATE TABLE `forum_question` (
|
||
|
`id` int(4) NOT NULL auto_increment,
|
||
|
`topic` varchar(255) NOT NULL default '',
|
||
|
`detail` longtext NOT NULL,
|
||
|
`name` varchar(65) NOT NULL default '',
|
||
|
`avatar` varchar(65) NOT NULL default '0',
|
||
|
`closed` varchar(65) NOT NULL default '0',
|
||
|
`category` varchar(65) NOT NULL default '0',
|
||
|
`w_adminonly` varchar(65) NOT NULL default '0',
|
||
|
`w_guest` varchar(65) NOT NULL default '0',
|
||
|
`r_adminonly` varchar(65) NOT NULL default '0',
|
||
|
`r_guest` varchar(65) NOT NULL default '0',
|
||
|
`datetime` varchar(25) NOT NULL default '',
|
||
|
`view` int(4) NOT NULL default '0',
|
||
|
`reply` int(4) NOT NULL default '0',
|
||
|
`lastupdate` varchar(50) NOT NULL default '',
|
||
|
PRIMARY KEY (`id`)
|
||
|
) TYPE=MyISAM AUTO_INCREMENT=1 ;
|
||
|
");
|
||
|
|
||
|
mysql_query ("
|
||
|
CREATE TABLE `forum_answer` (
|
||
|
`question_id` int(4) NOT NULL default '0',
|
||
|
`a_id` int(4) NOT NULL default '0',
|
||
|
`a_name` varchar(65) NOT NULL default '',
|
||
|
`a_avatar` varchar(65) NOT NULL default '',
|
||
|
`a_answer` longtext NOT NULL,
|
||
|
`a_datetime` varchar(25) NOT NULL default '',
|
||
|
`a_attachment` varchar(25) NOT NULL default '',
|
||
|
KEY `a_id` (`a_id`)
|
||
|
) TYPE=MyISAM;
|
||
|
");
|
||
|
|
||
|
mysql_query ("
|
||
|
CREATE TABLE `config` (
|
||
|
`id` int(254) NOT NULL auto_increment,
|
||
|
`attr` varchar(100) NOT NULL default '',
|
||
|
`value` varchar(500) NOT NULL default '',
|
||
|
`extra` varchar(100) NOT NULL default 'NULL',
|
||
|
PRIMARY KEY (`id`)
|
||
|
) TYPE=MyISAM;
|
||
|
");
|
||
|
|
||
|
mysql_query ("
|
||
|
CREATE TABLE `proxyrepair` (
|
||
|
`Count` int(11) NOT NULL AUTO_INCREMENT,
|
||
|
`Id` int(11) NOT NULL,
|
||
|
`VPNId` varchar(3) NOT NULL,
|
||
|
`IP` varchar(16) NOT NULL,
|
||
|
`Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
`RepID` varchar(3) NOT NULL,
|
||
|
PRIMARY KEY (`Count`)
|
||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=77 ;
|
||
|
");
|
||
|
|
||
|
// Definition des standard Benutzer
|
||
|
$benutzer[0]["IsAdmin"] =1;
|
||
|
$benutzer[0]["VPNId"] = "-";
|
||
|
$benutzer[0]["Nickname"] =$_REQUEST["name"];
|
||
|
$benutzer[0]["Kennwort"] = $_REQUEST["pwd"];
|
||
|
$benutzer[0]["Nachname"] = "Admin";
|
||
|
$benutzer[0]["Vorname"] = "Server";
|
||
|
$benutzer[0]["Email"] = $_REQUEST["email"];
|
||
|
|
||
|
// Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen.
|
||
|
mysql_query ("DELETE FROM userdata");
|
||
|
|
||
|
// Daten eintragen
|
||
|
while (list ($key, $value) = each ($benutzer))
|
||
|
{
|
||
|
// SQL-Anweisung erstellen
|
||
|
$sql = "INSERT INTO ".
|
||
|
"userdata (IsAdmin, VPNId, Nickname, Kennwort, Nachname, Vorname, Email) ".
|
||
|
"VALUES ('".$value["IsAdmin"]."','".
|
||
|
$value["VPNId"]."', '".
|
||
|
$value["Nickname"]."', '".
|
||
|
md5 ($value["Kennwort"])."', '".
|
||
|
$value["Nachname"]."', '".
|
||
|
$value["Vorname"]."', '".
|
||
|
$value["Email"]."')";
|
||
|
mysql_query ($sql);
|
||
|
|
||
|
if (mysql_affected_rows ($y) > 0)
|
||
|
{
|
||
|
echo "Benutzer erfolgreich angelegt! [<b><font color=lime>OK</b></font>]<br>\n";
|
||
|
echo "
|
||
|
<form action=\"install2.php\" method=\"post\">
|
||
|
<table>
|
||
|
<br>
|
||
|
<tr>
|
||
|
<td>Sitename:</td>
|
||
|
<td><input type=\"text\" name=\"sitename\" size=\"50\" value=\"SchulVPN\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Sitesubname</td>
|
||
|
<td><input type=\"text\" name=\"subname\" size=\"50\" value=\"Surf Secure\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Siteinfo (Header Marquee, empty = no marquee) </td>
|
||
|
<td><input type=\"text\" name=\"siteinfo\" size=\"50\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Theme:</td>
|
||
|
<td>
|
||
|
<select name=\"sitetheme\" size=1> ";
|
||
|
// Öffnet ein Unterverzeichnis mit dem Namen "daten"
|
||
|
$verzeichnis = openDir($_SERVER["DOCUMENT_ROOT"]."/Themes");
|
||
|
// Verzeichnis lesen
|
||
|
while ($file = readDir($verzeichnis))
|
||
|
{
|
||
|
// Höhere Verzeichnisse nicht anzeigen!
|
||
|
if ($file != "." && $file != "..")
|
||
|
{
|
||
|
$filecut = strpos($file, ".");
|
||
|
if($filecut > 0)
|
||
|
{
|
||
|
$file = substr($file,0,$filecut);
|
||
|
echo "<option value=\"".$file."\">".$file."</option>";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
// Verzeichnis schließen
|
||
|
closeDir($verzeichnis);
|
||
|
|
||
|
echo "
|
||
|
</select>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>OpenVPN Config Directory (WITHOUT ending /):</td>
|
||
|
<td><input type=\"text\" name=\"ovpnconfdir\" size=\"50\" value=\"".$_REQUEST["vpndir"]."\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>OpenVPN Config File Name:</td>
|
||
|
<td><input type=\"text\" name=\"ovpnconffile\" size=\"50\" value=\"server.conf\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>OpenVPN Key Directory (WITHOUT ending /):</td>
|
||
|
<td><input type=\"text\" name=\"ovpnkeydir\" size=\"50\" value=\"/etc/openvpn/easy-rsa2\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>OpenVPN Additional Download Directory (e.g. for client.ovpn, ca.crt, readme ...) (WITHOUT ending /):</td>
|
||
|
<td><input type=\"text\" name=\"publicdown\" value=\"/var/www/publicdown\"></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Download Directory (for Explorer, WITHOUT ending /):</td>
|
||
|
<td><input type=\"text\" name=\"downdir\" size=\"50\" value=\"/home/explorer\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Enable Mail Support:</td>
|
||
|
<td>
|
||
|
<select name=\"withmail\" size=1>
|
||
|
<option value=\"1\">Yes</option>
|
||
|
<option value=\"0\">No</option>
|
||
|
</select>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>SMTP Server:</td>
|
||
|
<td><input type=\"text\" name=\"mserv\" size=\"50\" value=\"smtp.live.com\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>SMTP User:</td>
|
||
|
<td><input type=\"text\" name=\"muser\" size=\"50\" value=\"user@live.com\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>SMTP Password:</td>
|
||
|
<td><input type=\"password\" name=\"mpass\" size=\"50\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>SMTP Sender Mail-Address:</td>
|
||
|
<td><input type=\"text\" name=\"mname\" size=\"50\" value=\"noreply@schulvpn.org\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Enable Squid Support:</td>
|
||
|
<td>
|
||
|
<select name=\"withsquid\" size=1>
|
||
|
<option value=\"1\">Yes</option>
|
||
|
<option value=\"0\">No</option>
|
||
|
</select>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>SQUID Config Directory (WITHOUT ending /):</td>
|
||
|
<td><input type=\"text\" name=\"sqdir\" size=\"50\" value=\"/etc/squid\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>SQUID Config File Name:</td>
|
||
|
<td><input type=\"text\" name=\"sqconf\" size=\"50\" value=\"squid.conf\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>SQUID Dynamic Directory (WIHTOUT ending /):</td>
|
||
|
<td><input type=\"text\" name=\"sqddir\" size=\"50\" value=\"/var/sqd\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><input type=\"hidden\" name=\"admin\" size=\"50\" value=\""; echo $benutzer[0]["Nickname"]; echo "\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><input type=\"hidden\" name=\"adress\" size=\"50\" value=\""; echo $_SERVER['HTTP_HOST']; echo "\"><td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><input type=\"hidden\" name=\"version\" size=\"50\" value=\""; echo $version; echo "\"><td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<input type=\"submit\" value=\"Install! STEP 2\">
|
||
|
</form> ";
|
||
|
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
echo "Fehler beim Anlegen der Benutzer. [<b><font color=red>FAIL</b></font>]<br>\n";
|
||
|
}
|
||
|
}
|
||
|
?>
|
||
|
|
||
|
</body>
|
||
|
</html>
|