Wollte meine HP (uhrsprungsscribt von Hen!) installieren
Set 1 (angabe von gameserver usw. kallr wunderbar)
aber Step 2 (conifg) kommt folgender fehler:
Config-Erstellung
Warning: fopen(./inc/config.inc.php) [function.fopen]: failed to open stream: Permission denied in /var/www/web154/html/index/install.php on line 337
Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www/web154/html/index/install.php on line 339
leider kenn ich mich bei html ned so gut aus bitte um hilfe..
Das ist die install.php:
<?PHP
function createHpTables() {
global $sqlHp;
echo'<p><b>HP-Datenbank</b></p>';
$cmdHp=array();
$cmdHp[] = "CREATE TABLE IF NOT EXISTS `is_items` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`vnum` int(10) unsigned NOT NULL,
`kategorie_id` int(10) unsigned NOT NULL,
`bild` varchar(50) NOT NULL,
`beschreibung` varchar(200) NOT NULL,
`preis` int(10) unsigned NOT NULL,
`anzeigen` varchar(1) NOT NULL,
`attrtype0` tinyint(4) NOT NULL DEFAULT '0',
`attrvalue0` smallint(6) NOT NULL DEFAULT '0',
`attrtype1` tinyint(4) NOT NULL DEFAULT '0',
`attrvalue1` smallint(6) NOT NULL DEFAULT '0',
`attrtype2` tinyint(4) NOT NULL DEFAULT '0',
`attrvalue2` smallint(6) NOT NULL DEFAULT '0',
`attrtype3` tinyint(4) NOT NULL DEFAULT '0',
`attrvalue3` smallint(6) NOT NULL DEFAULT '0',
`attrtype4` tinyint(4) NOT NULL DEFAULT '0',
`attrvalue4` smallint(6) NOT NULL DEFAULT '0',
`attrtype5` tinyint(4) NOT NULL DEFAULT '0',
`attrvalue5` smallint(6) NOT NULL DEFAULT '0',
`attrtype6` tinyint(4) NOT NULL DEFAULT '0',
`attrvalue6` smallint(6) NOT NULL DEFAULT '0',
`socket0` int(10) unsigned NOT NULL DEFAULT '0',
`socket1` int(10) unsigned NOT NULL DEFAULT '0',
`socket2` int(10) unsigned NOT NULL DEFAULT '0',
`socket3` int(10) unsigned NOT NULL DEFAULT '0',
`socket4` int(10) unsigned NOT NULL DEFAULT '0',
`socket5` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
);";
$cmdHp[] = "CREATE TABLE IF NOT EXISTS `is_kategorien` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`titel` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
);";
$cmdHp[] = "CREATE TABLE IF NOT EXISTS `is_log` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`account_id` int(10) unsigned NOT NULL,
`vnum` int(10) unsigned NOT NULL,
`preis` int(10) unsigned NOT NULL,
`zeitpunkt` datetime NOT NULL,
PRIMARY KEY (`id`)
);";
$cmdHp[] = "CREATE TABLE IF NOT EXISTS `psc_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`account_id` int(11) NOT NULL,
`admin_id` int(11) DEFAULT NULL,
`card_type` varchar(20) NOT NULL,
`waehrung` varchar(10) NOT NULL,
`psc_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`psc_betrag` decimal(5,2) NOT NULL,
`psc_pass` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`status` int(1) NOT NULL,
`kommentar` varchar(200) NOT NULL,
`datum` datetime NOT NULL,
PRIMARY KEY (`id`)
);";
$cmdHp[] = "CREATE TABLE IF NOT EXISTS `server_settings` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`variable` varchar(20) NOT NULL UNIQUE,
`beschreibung` varchar(100) NOT NULL,
`typ` enum('CHA','BOO','INT','DEC') NOT NULL,
`value` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
);";
$cmdHp[] = "INSERT INTO `server_settings` (`variable`, `beschreibung`, `typ`, `value`) VALUES
('maxGoldRate', 'Faktor der max. Gold-Drop-Rate', 'DEC', '1');";
$cmdHp[] = "INSERT INTO `server_settings` (`variable`, `beschreibung`, `typ`, `value`) VALUES
('expRate', 'Faktor der EXP-Rate', 'DEC', '1');";
$cmdHp[] = "INSERT INTO `server_settings` (`variable`, `beschreibung`, `typ`, `value`) VALUES
('minGoldRate', 'Faktor der minimalen Gold-Drop-Rate', 'DEC', '1');";
$cmdHp[]="CREATE TABLE IF NOT EXISTS `ban_log` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`admin_id` int(10) unsigned NOT NULL,
`account_id` int(10) unsigned NOT NULL,
`zeitpunkt` datetime NOT NULL,
`grund` varchar(200) NOT NULL,
`typ` varchar(5) NOT NULL,
PRIMARY KEY (`id`)
);";
$cmdHp[]="CREATE TABLE `news` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`titel` varchar(200) NOT NULL,
`inhalt` text NOT NULL,
`datum` int(10) unsigned NOT NULL,
`hot` tinyint(1) NOT NULL,
`kategorie` int(10) unsigned NOT NULL,
`author` int(10) unsigned NOT NULL,
`anzeigen` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;";
foreach($cmdHp AS $blub) {
echo '<p style="font-size:11px;">'.$blub;
$aktQry = mysql_query($blub,$sqlHp);
if($aktQry)
{
echo '<br><span style="color: #080">erfolgreich ausgeführt</a>';
}
else
{
echo '<br><span style="color: #800">Nicht ausgeführt:<br>';
echo mysql_error();
echo'</a>';
}
echo'</p>';
}
}
function createGsTables() {
echo'<p><b>Gameserver-Datenbank</b></p>';
global $sqlServ;
$cmdGS=array();
$cmdGS[]="ALTER TABLE account.account
ADD `coins` int(11) NOT NULL DEFAULT '0';";
$cmdGS[]="ALTER TABLE account.account
ADD `web_admin` int(1) NOT NULL DEFAULT '0';";
$cmdGS[]="ALTER TABLE account.account
ADD `web_ip` varchar(15) NOT NULL;";
$cmdGS[]="ALTER TABLE account.account
ADD `web_aktiviert` varchar(32) NOT NULL;";
foreach($cmdGS AS $blub) {
echo '<p style="font-size:11px;">'.$blub;
$aktQry = mysql_query($blub,$sqlServ);
if($aktQry)
{
echo '<br><span style="color: #080">erfolgreich ausgeführt</a>';
}
else
{
echo '<br><span style="color: #800">Nicht ausgeführt:<br>';
echo mysql_error();
echo'</a>';
}
echo'</p>';
}
}
if(isset($_GET['step']) && !empty($_GET['step'])) {
if($_GET['step']==1) {
?>
<p><b>Server-Daten</b></p>
<p>Elementare Server-Daten die zur einwandfreien Funktionalität der Homepage benötigt werden. <br/>
Der Kurz-Titel sollte nicht zu lang sein, denn er wird als E-Mail Titel/Absender genutzt.<br/>
Die bereits eingegebenen Werte sind Vorschläge/Beispiele.</p>
<form action="install.php?step=2" method="POST">
<table>
<tr>
<td>Webseiten-Titel</td>
<td><input type="text" size="40" maxlength="50" value="BeispielMT2 - Homepage" name="page_titel"/> (Wird in der Titelzeile der Homepage angezeigt.)</td>
<tr>
<tr>
<td>Kurz-Titel</td>
<td><input type="text" size="20" maxlength="50" value="BeispielMT2" name="kurz_titel"/></td>
<tr>
<tr>
<td>URL-Zum Script (ohne letzten Slash)</td>
<td><input type="text" size="30" maxlength="50" value="http://www.beispielmt2.de/mein/script" name="url"/> (Beispielsweise: "http://www.meine-seite-im.net")</td>
<tr>
<!--
<tr>
<td>Gameserver-IP</td>
<td><input type="text" size="20" maxlength="50" name="server_ip"/></td>
<tr>
-->
<tr>
<td>Registration aktiviert?</td>
<td>
<select name="reg_aktivieren">
<option selected="selected" value="true">ja</option>
<option value="false">nein</option>
</select>
</td>
<tr>
<tr>
<td>E-Mail-Aktivierung nötig?</td>
<td>
<select name="email_aktivieren">
<option value="true">ja</option>
<option selected="selected" value="false">nein</option>
</select>
</td>
<tr>
<tr>
<td>Einträge pro Seite bei Auflistungen</td>
<td><input type="text" size="20" maxlength="50" value="30" name="eintraege"/></td>
<tr>
<tr>
<td>Absender-Email (Registration)</td>
<td><input type="text" size="20" maxlength="50" value="
" name="reg_mail"/> (muss nicht existieren)</td><tr>
<tr>
<td>Absender-Email (Passwortreset)</td>
<td><input type="text" size="20" maxlength="50" value="
" name="pass_mail"/> (muss nicht existieren)</td><tr>
</table>
<p><b>SQL-Server-Daten</b></p>
<p>Eingeben der Daten für die SQL-Server. Es ist auch möglich, für beides die selbe Datenbank zu nutzen (aber nicht empfohlen). <br/>
Sollte dies der Fall sein, sollte bei Datenbank der Homepage eine entsprechende DB (z.B. account) eingegeben werden.</p>
<table>
<tr>
<th colspan="2" style="text-align:left;">Gameserver-Datenbank</th>
</tr>
<tr>
<td>SQL-Server (Gameserver)</td>
<td><input type="text" size="20" maxlength="50" name="sqlserver_game"/></td>
<tr>
<tr>
<td>SQL-User (Gameserver)</td>
<td><input type="text" size="20" maxlength="50" name="sqluser_game"/></td>
<tr>
<tr>
<td>SQL-Passwort (Gameserver)</td>
<td><input type="text" size="20" maxlength="50" name="sqlpass_game"/></td>
<tr>
<tr>
<th colspan="2" style="text-align:left;">Homepage-Datenbank</th>
</tr>
<tr>
<td>SQL-Server (Homepage)</td>
<td><input type="text" size="20" maxlength="50" name="sqlserver_hp"/></td>
<tr>
<tr>
<td>SQL-User (Homepage)</td>
<td><input type="text" size="20" maxlength="50" name="sqluser_hp"/></td>
<tr>
<tr>
<td>SQL-Passwort (Homepage)</td>
<td><input type="text" size="20" maxlength="50" name="sqlpass_hp"/></td>
<tr>
<tr>
<td>SQL-Datenbank (Homepage)</td>
<td><input type="text" size="20" maxlength="50" name="sqldb_hp"/></td>
<tr>
<tr>
<td><input type="submit" name="weiter" value="weiter"/></td>
<tr>
</table>
</form>
<?PHP
}
elseif($_GET['step']==2) {
echo'<p><b>Config-Erstellung</b></p>';
/*
$_POST['page_titel']
$_POST['kurz_titel']
$_POST['url']
$_POST['reg_aktivieren']
$_POST['email_aktivieren']
$_POST['eintraege']
$_POST['reg_mail']
$_POST['weiter']
*/
$checkGS = @mysql_connect($_POST['sqlserver_game'],$_POST['sqluser_game'],$_POST['sqlpass_game']);
$checkHP = @mysql_connect($_POST['sqlserver_hp'],$_POST['sqluser_hp'],$_POST['sqlpass_hp']);
$checkDB = @mysql_select_db($_POST['sqldb_hp'],$checkHP);
if(!$checkGS || !$checkHP || !$checkDB)
{
echo'<p><b>Fehler:</b><br>';
if(!$checkGS) echo'- Die Verbindung zum Game-Server ist fehlgeschlagen<br>';
if(!$checkHP) echo'- Die Verbindung zum HP-Server ist fehlgeschlagen<br>';
if(!$checkDB) echo'- Die Datenbank des HP-Servers konnte nicht ausgewählt werden<br>';
echo'<b><a href="javascript:history.back()">zurück</a></b>';
echo'</p>';
}
foreach($_POST AS $bla=>$bla2)
{
$_POST[$bla]=str_replace('"','\"',$_POST[$bla]);
$_POST[$bla]=str_replace("'","\'",$_POST[$bla]);
}
$cfgContent ='<?PHP
DEFINE(\'SQL_HOST\', \''.$_POST['sqlserver_game'].'\');
DEFINE(\'SQL_USER\', \''.$_POST['sqluser_game'].'\');
DEFINE(\'SQL_PASS\', \''.$_POST['sqlpass_game'].'\');
DEFINE(\'SQL_HP_HOST\', \''.$_POST['sqlserver_hp'].'\');
DEFINE(\'SQL_HP_USER\', \''.$_POST['sqluser_hp'].'\');
DEFINE(\'SQL_HP_PASS\', \''.$_POST['sqlpass_hp'].'\');
DEFINE(\'SQL_HP_DB\', \''.$_POST['sqldb_hp'].'\');
$serverSettings[\'titel_page\']="'.$_POST['page_titel'].'"; // Webseiten-Titel
$serverSettings[\'titel\']="'.$_POST['kurz_titel'].'"; // Servername
$serverSettings[\'url\']="'.$_POST['url'].'"; // URL zur Seite (ohne letzten "/")
$serverSettings[\'server_ip\']=""; // Server-IP
$serverSettings[\'register_on\']='.$_POST['reg_aktivieren'].'; // Registration aktiviert (ja = true / nein = false)
$serverSettings[\'mail_activation\']='.$_POST['email_aktivieren'].'; // Mailaktivierung (ja = true / nein = false)
$serverSettings[\'page_entries\']='.$_POST['eintraege'].'; // Einträge pro Seite
$serverSettings[\'reg_mail\']=\''.$_POST['reg_mail'].'\'; // E-Mail-Absender bei Registration
$serverSettings[\'pass_mail\']=\''.$_POST['pass_mail'].'\'; // E-Mail-Absender bei Passwortreset
require("daten.inc.php");
?>';
$cfgFile = fopen('./inc/config.inc.php','w+');
$writeCfg = fwrite($cfgFile,$cfgContent);
if($writeCfg)
{
echo'<p>
<b>Config erfolgreich erstellt</b><br>
<a href="install.php?step=3">weiter</a>
</p>';
}
}
elseif($_GET['step']==3) {
echo'<p><b>Tabellen erstellen</b></p>';
require_once('./inc/config.inc.php');
$sqlHp = mysql_connect(SQL_HP_HOST, SQL_HP_USER, SQL_HP_PASS);
$sqlServ = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS);
$selectHpDb = mysql_select_db(SQL_HP_DB,$sqlHp);
if(!is_resource($sqlServ) OR !is_resource($sqlHp) OR !$selectHpDb) {
exit("Verbindung zur Datenbank fehlgeschlagen: Abbruch");
}
createHpTables();
createGsTables();
?>
<p>Wurden vorher keine anderen Scripte auf der Datenbank angewendet,<br/>
so sollte jeder Befehl erfolgreich ausgeführt worden sein.<br/>
Duplicate Entries sollten keine Probleme machen sofern die Datentypen stimmen.</p>
<p>Nun noch folgenden Ordern/Datein die CHMODS ändern:<br/>
./is_img/: CHMOD 777<br/>
./archives/: CHMOD 777 (mit Unterordner/Files)
</p>
<p><b><a href="install.php?step=4">Admin eingeben</a></b></p>
<?PHP
}
elseif($_GET['step']==4)
{
echo'<p><b>Namen des Admins eingeben</b></p>';
if(!isset($_POST['submit']) && !$_POST['submit']=='aktualisieren')
{
?>
<p>Nun einem bestehenden Account Adminrechte zuweisen.</p>
<form action="install.php?step=4" method="POST">
<input type="text" size="16" maxlength="20" name="account">
<input type="submit" name="submit" value="aktualisieren">
</form>
<p><b>Abschließend die install.php löschen!</b></p>
<?PHP
}
else {
if(!empty($_POST['account']))
{
require_once('./inc/config.inc.php');
$sqlHp = mysql_connect(SQL_HP_HOST, SQL_HP_USER, SQL_HP_PASS);
$sqlServ = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS);
$selectHpDb = mysql_select_db(SQL_HP_DB,$sqlHp);
if(!is_resource($sqlServ) OR !is_resource($sqlHp) OR !$selectHpDb) {
exit("Verbindung zur Datenbank fehlgeschlagen: Abbruch");
}
$userAccount = mysql_real_escape_string($_POST['account']);
$checkAccount = "SELECT id,login FROM account.account WHERE login='".$userAccount."' LIMIT 1";
$queryAccount = mysql_query($checkAccount,$sqlServ);
if(mysql_num_rows($queryAccount)>0)
{
$sqlUpdate = "UPDATE account.account SET web_admin='9' WHERE login='".$userAccount."' LIMIT 1";
$qryUpdate = mysql_query($sqlUpdate,$sqlServ);
if($qryUpdate)
{
echo'Account erfolgreich als Admin eingetragen. Nun bitte die "install.php" löschen!<br><a href="index.php">zur Seite</a>';
}
}
else
{
echo'Account existiert nicht. <a href="install.php?step=4">Wiederholen!</a>';
}
}
else
{
echo'Es wurde kein Account eingegeben. <a href="install.php?step=4">Wiederholen!</a>';
}
}
}
}
else {
?>
<p><b>Installation MT2GS CMS by hennink</b></p>
<p><a href="install.php?step=1">Installation starten</a></p>
<?PHP
}
?>





