Seite 1 von 2
Umzug von cms ins root
Verfasst: Sa 10. Mär 2007, 11:44
von nixblick
Hallo bin neu bei Contenido!
Ich will auch dieses CMS aus meiner Adresse weghaben. Liebe Mod´s, ich hoffe, ich habe alles versucht:
FAQ gelesen...
Forum mehrfach durchsucht...
Readme gelesen....
etc...
Ich benutze Contenido Version 4.6.15
Ich hab alle Dateien vom Orden /cms ins root kopiert die index.php von "../contenido/" in "contenido/" umgeändert.
Im Mandanten habe ich die Pfade ohne die Endung /cms geändert.
Die Schreibrechte habe ich auch in den einzelnen Ordern überprüft.
Ich mach da jetzt schon längere Zeit dran rum und komm einfach zu keiner Lösung...
Trotzdem bekomme ich im Frontend weiter folgende Fehlermeldungen:
Warning: chdir() [function.chdir]: open_basedir restriction in effect. File(/home/www/ww2261/html) is not within the allowed path(s): (/home/www/ww2261/html/:/home/www/ww2261/phptmp/:/home/www/ww2261/files/:/home/www/ww2261/atd/) in /home/www/ww2261/html/front_content.php on line 73
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ww2261/html/front_content.php:73) in /home/www/ww2261/html/conlib/session.inc on line 479
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ww2261/html/front_content.php:73) in /home/www/ww2261/html/conlib/session.inc on line 484
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ww2261/html/front_content.php:73) in /home/www/ww2261/html/conlib/session.inc on line 485
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ww2261/html/front_content.php:73) in /home/www/ww2261/html/conlib/session.inc on line 486
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ww2261/html/front_content.php:73) in /home/www/ww2261/html/conlib/session.inc on line 487
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ww2261/html/front_content.php:73) in /home/www/ww2261/html/conlib/session.inc on line 488
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ww2261/html/front_content.php:73) in /home/www/ww2261/html/conlib/session.inc on line 489
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ww2261/html/front_content.php:73) in /home/www/ww2261/html/conlib/session.inc on line 128
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ww2261/html/front_content.php:73) in /home/www/ww2261/html/front_content.php on line 187
Das komische ist: In der Vorgängerversion hatte ich das schon mal hinbekommen... Hab aber dann alles gelöscht, weil ich eine neue Seite neu aufbauen will.
Vielen Dank schon mal für Eure Hilfe!
nixblick
Verfasst: Sa 10. Mär 2007, 16:09
von emergence
Warning: chdir() [function.chdir]: open_basedir restriction in effect. File(/home/www/ww2261/html) is not within the allowed path(s): (/home/www/ww2261/html/:/home/www/ww2261/phptmp/:/home/www/ww2261/files/:/home/www/ww2261/atd/) in /home/www/ww2261/html/front_content.php on line 73
intressante ist nur diese meldung...
dein mandantenpfad -> /home/www/ww2261/html
hat der am ende einen
/
also so /home/www/ww2261/html/
?
ähm
index.php von "../contenido/" in "contenido/" umgeändert.
wie ? du meinst wohl die config.php odr?
Verfasst: So 11. Mär 2007, 10:22
von nixblick
Hallo emergenze,
du meinst die Einstellungen unter Admisitration> Mandanten> Serverpfad?
Dort heißt der Mandantenpfad /home/www/ww2261/html/
Die Webadresse heißt
http://www.xyz.de/
Die backslash setzt contenido am Ende selber rein. Habs auch schon ohne probiert. Die kommen beim speichern von selber wieder...
und, mein Fehler, klar meine ich die config.php...
Hast Du eventuell einen Tipp für mich?
Was fang ich mit der Meldung an und wie bekomme ich Sie weg???
Unter der Meldung wird ein Teil der Seite des Beispielmandanten angezeigt. Allerdings ohne Menü, Kopf, oder Fußcontainer. Das ist direkt nach der Erstinstalation passiert und ohne dass ich das Frontend vorher aufgerufen hatte.
Ich bin echt ratlos...
Vielen Dank schon mal für Deine/Eure Hilfe!
nixblick
Verfasst: So 11. Mär 2007, 10:29
von emergence
mein tipp:
eventuell in der includes/config.php
nachsehen ob
/home/www/ww2261/html
dort irgendwo ohne slash steht...
Verfasst: So 11. Mär 2007, 10:44
von nixblick
habe unter contenido> includes die config.php gefunden.
Da gibt es einen Pfad
/* The root server path where all frontends reside */
$cfg['path']['frontend'] = '/home/www/ww2261/html/';
Der war ohne / .
Hab es geändert. Hat aber nichts gebracht.
Es gibt den Ordner includes nochmals im root. Darin ist aber keine config.php, sondern nur functions.include.php und functions.navigation.php.
Muss da auch eine config.php sein?
Danke Dir schon mal
nixblick
Verfasst: So 11. Mär 2007, 10:49
von emergence
nixblick hat geschrieben:Es gibt den Ordner includes nochmals im root. Darin ist aber keine config.php, sondern nur functions.include.php und functions.navigation.php.
Muss da auch eine config.php sein?
ähm, nein da muss keine sein...
sag mal bei der front_content.php -> poste mal was da bei zeile 73 steht (+- 5 zeilen)
Verfasst: So 11. Mär 2007, 10:56
von nixblick
das da?
$db = new DB_Contenido;
$sess->register("cfgClient");
$sess->register("errsite_idcat");
$sess->register("errsite_idart");
$sess->register("encoding");
if ($cfgClient["set"] != "set")
{
rereadClients();
}
$sql = "SELECT idlang, encoding FROM ".$cfg["tab"]["lang"];
$db->query($sql);
// get encodings of all languages
while ($db->next_record())
{
$encoding[$db->f("idlang")] = $db->f("encoding");
}
if (is_numeric($tmpchangelang) && $tmpchangelang > 0)
{
$savedlang = $lang;
$lang = $tmpchangelang;
}
// Checking basic data input
if (isset($changeclient) && !is_numeric($changeclient)) {
unset ($changeclient);
}
if (isset($client) && !is_numeric($client)) {
unset ($client);
}
if (isset($changelang) && !is_numeric($changelang)) {
unset ($changelang);
}
if (isset($lang) && !is_numeric($lang)) {
unset ($lang);
}
// Change client
if (isset($changeclient)){
$client = $changeclient;
unset($lang);
unset($load_lang);
}
und vielen vielen Dank, emergence, das Du Dich an einem Sonntag Morgen, bei dem tollen Wetter, meinem Problem widmest!!!
Toller Service hier und so was ist normalerweise nicht selbstverständlich!!!
nixblick
Verfasst: So 11. Mär 2007, 12:28
von emergence
hmm..
da steht aber nichts von chdir im code... sicher das die richtige zeile dabei ist ?
vielleicht ist ja was seitens provider falsch konfiguriert...
eventuell sollte /home/www/ww2261/ im allowed path mit aufgenommen werden...
wie sieht der inhalt der mandanten config.php aus ?
Verfasst: So 11. Mär 2007, 12:48
von nixblick
ich hoffe, dass ich die richtigen Zeilen hier gepostet habe...
Soll ich dir nochmals den ganzen Cote der front_content.php posten?
Wo finde ich die Mandanten config.php?
Einen entsprechenden Ordner finde ich nicht...
sorry, ich bin neu an dem Thema und hatte bisher nur eine Installation mit der vorherigen Contenidoversion gemacht...
Grüße
Verfasst: So 11. Mär 2007, 13:45
von php0815
nixblick hat geschrieben:
Wo finde ich die Mandanten config.php?
Einen entsprechenden Ordner finde ich nicht...
Die Mandantenpfade stellt man unter Administration->Mandanten ein
oder in der Tabelle con_clients
Verfasst: So 11. Mär 2007, 14:16
von nixblick
Hallo php0515
Danke für den Hinweis. Hab aber bereits in meinem ersten Posting geschrieben, dass ich unter den Mandanteneinstellungen das "cms" entfernt habe.
In der Tabelle con_clients steht als frontentpath "home/www/ww2261/html/".
Passt das?
Sorry, ich bin net so der Crack mit SQL und so...
Ich bin eher der "Learning by doing" Typ...
Hat vielleicht noch jemand einen Tip für mich, oder könnte sich das mal anschauen? Ich will das schon selber lernen, aber ich verzweifle noch, weil ich da jetzt schon eine Woche dran rum mach...
Danke schon mal und viele Grüße
Verfasst: So 11. Mär 2007, 15:23
von php0815
nixblick hat geschrieben:
Ich bin eher der "Learning by doing" Typ...
Na da haben wir was gemeinsam.
Wenn da dein cms Verzeichniss drinn ist müßte es passen aber davon habe ich auch nicht so das Fachwissen.
Verfasst: So 11. Mär 2007, 17:46
von emergence
oje...
Wo finde ich die Mandanten config.php?
dort wo du die front_content.php auch findest..
Soll ich dir nochmals den ganzen Cote der front_content.php posten?
autsch nicht cote -> code...
nein egal... anders frag mal zuerst deinen provider...
Verfasst: So 11. Mär 2007, 19:06
von nixblick
emergence:
also, ich seh den cote=code vor lauter Buchstaben net mehr...
Eventuell weiß ich jetzt, was Du mit der Mandanten Config meinst...
Vermutlich die Config.php, die jetzt bei mir direkt im root liegt.
(Hab erbarmen mit mir; ich bin in Contenido net so fit)
Wie gesagt, habe ich die config.php geändert:
// Relative path to contenido directory, for all inclusions, in most cases: "../contenido/"
$contenido_path = "contenido/";
// If language isn't specified, set this client and language (ID)
$load_lang = "1";
$load_client = "1";
/* Various debugging options */
$frontend_debug["container_display"] = false;
$frontend_debug["module_display"] = false;
$frontend_debug["module_timing"] = false;
$frontend_debug["module_timing_summary"] = false;
/* Set to 1 to brute-force module regeneration */
$force = 0;
?>
und eventuell hast Du den
Code hier in der front_content.php gemeint:
# include the config file of the frontend to init the Client and Language Id
include_once ("config.php");
# Contenido startup process
include_once ($contenido_path."includes/startup.php");
cInclude("includes", "functions.con.php");
cInclude("includes", "functions.con2.php");
cInclude("includes", "functions.api.php");
cInclude("includes", "functions.pathresolver.php");
if ($cfg["use_pseudocron"] == true)
{
/* Include cronjob-Emulator */
$oldpwd = getcwd();
chdir($cfg["path"]["contenido"].$cfg["path"]["cronjobs"]);
cInclude("includes", "pseudo-cron.inc.php");
chdir($oldpwd);
}
/*
* Initialize the Database Abstraction Layer, the Session, Authentication and Permissions Handler of the
* PHPLIB application development toolkit
* @see
http://sourceforge.net/projects/phplib
*/
if ($contenido)
{
//Backend
page_open(array ('sess' => 'Contenido_Session', 'auth' => 'Contenido_Challenge_Crypt_Auth', 'perm' => 'Contenido_Perm'));
i18nInit($cfg["path"]["contenido"].$cfg["path"]["locale"], $belang);
}
else
{
//Frontend
page_open(array ('sess' => 'Contenido_Frontend_Session', 'auth' => 'Contenido_Frontend_Challenge_Crypt_Auth', 'perm' => 'Contenido_Perm'));
}
Was soll ich denn meinen Provider fragen?
Warum es nicht läuft???
Ich steh echt auf dem Schlauch...
Schon mal jetzt danke für Deine/Eure Hilfe!
Grüße
Verfasst: Mo 12. Mär 2007, 11:37
von emergence
ähm... ich hab ne idee warum das auftritt...
ich erklärs jetzt mal etwas technisch...intressant ist folgender teil
Code: Alles auswählen
/* Include cronjob-Emulator */
$oldpwd = getcwd();
chdir($cfg["path"]["contenido"].$cfg["path"]["cronjobs"]);
cInclude("includes", "pseudo-cron.inc.php");
chdir($oldpwd);
ich nehm jetzt mal den teil raus der meiner meinung nach funktioniert, dann bleibt folgendes übrig...
und das bringt im root verzeichnis deines webspaces einen fehler...
kurz erklärt was der code in dem fall macht
Code: Alles auswählen
$oldpwd = getcwd(); // liefert aktuelles verzeichnis: /home/www/ww2261/html
// dazwischen irgendwas anderes
chdir($oldpwd); // pfad wieder auf altes aktuelles zurück setzen
und jetzt komme ich zur fehlkonfiguration
beim open_basedir allowed path(s) ist folgendes erlaubt:
/home/www/ww2261/html/
/home/www/ww2261/phptmp/
/home/www/ww2261/files/
/home/www/ww2261/atd/
es wird aber seitens script folgendes versucht zu setzen
/home/www/ww2261/html (und da fehlt der slash -> liefert der php befehl getcwd einfach so retur)
möglich lösung:
/home/www/ww2261/
im open_basedir mit aufnehmen...
oder
in der front_content.php verwenden...
das erste wäre die lösung, das zweite der workaround...
wenn der workaround funktioniert, ist es eine fehlkonfiguration des servers...