WCF2: WBB- / WCF-Ordner verschieben

  • WCF 2

Achtung: Diese Seite ist nur noch Teil eines Archivs und wird in Zukunft entfernt.

Wie schon unter Burning Board 3 ist es auch in Burning Board 4 möglich, die Verzeichnisstruktur nach der Installation zu ändern. Damit ist man auch flexibel, sobald die Software bereits installiert ist. Dabei ist der Vorgang ähnlich leicht wie unter Burning Board 3 und unterscheidet sich nur in ein paar Kleinigkeiten.

In diesem Beispiel gehe ich von folgender Verzeichnisstruktur aus:
/wbb4/ <- Burning Board 4
/wcf/ <- Community Framework 2

Aussehen soll sie nach dem Verschieben folgendermaßen:
/ <- Burning Board 4
/wcf/ <- Community Framework 2

Die Endanwendung Burning Board 4 soll demnach eine Verzeichnisebene nach oben rutschen. Hierbei geht man folgendermaßen vor:
  1. Zur Sicherheit erst einmal die gesamte Software für den Zugriff von außen sperren, z.B. über eine .htaccess-Passwortsperre. Das verhindert zum einen, dass die Benutzer unschöne Fehlermeldungen sehen, zum anderen aber auch, dass der Cache laufend neu erstellt wird, was er in diesem Fall nicht soll.
  2. Im ACP zu Pakete -> Anwendungen verwalten navigieren, die Endanwendung WoltLab Burning Board bearbeiten. Hier den Pfad und den Cookiepfad von /wbb4/ zu / ändern.

    Achtung:
    Danach ist das Forum (inklusive ACP) nicht mehr aufrufbar.
  3. Öffnen der Datei unter /wbb4/config.inc.php. Hier muss Zeile 7 bearbeitet werden:

    PHP-Quellcode

    1. <?php
    2. // com.woltlab.wbb (packageID 4)
    3. if (!defined('WBB_DIR')) define('WBB_DIR', dirname(__FILE__).'/');
    4. if (!defined('RELATIVE_WBB_DIR')) define('RELATIVE_WBB_DIR', '');
    5. // general info
    6. if (!defined('RELATIVE_WCF_DIR')) define('RELATIVE_WCF_DIR', RELATIVE_WBB_DIR.'../wcf/');
    7. if (!defined('PACKAGE_ID')) define('PACKAGE_ID', 4);
    8. if (!defined('PACKAGE_NAME')) define('PACKAGE_NAME', 'WoltLab Burning Board');
    9. if (!defined('PACKAGE_VERSION')) define('PACKAGE_VERSION', '4.0.0');
    Dort wird am Ende der Pfad zu Community Framework 2 angegeben.

    Erklärung (kann verwirrend sein):
    Unter RELATIVE_WBB_DIR ist der Pfad zu Burning Board 4 gespeichert, in diesem Falle wäre das /wbb4/. Der Pfad zu Community Framework ist von diesem Pfad relativ gesehen unter ../wcf/ zu finden, d.h. eine Verzeichnisebene nach oben (dafür steht das ../) und dann im Verzeichnis /wcf.

    Da in diese Beispiel Burning Board 4 eine Verzeichnisebene weiter nach oben soll, kann das dafür stehende Zeichen, nämlich das ../ so gesehen entfernt werden. Damit bleibt dann noch: wcf/. Die Datei müsste demnach folgendermaßen nach der Bearbeitung aussehen:

    PHP-Quellcode

    1. <?php
    2. // com.woltlab.wbb (packageID 4)
    3. if (!defined('WBB_DIR')) define('WBB_DIR', dirname(__FILE__).'/');
    4. if (!defined('RELATIVE_WBB_DIR')) define('RELATIVE_WBB_DIR', '');
    5. // general info
    6. if (!defined('RELATIVE_WCF_DIR')) define('RELATIVE_WCF_DIR', RELATIVE_WBB_DIR.'wcf/');
    7. if (!defined('PACKAGE_ID')) define('PACKAGE_ID', 4);
    8. if (!defined('PACKAGE_NAME')) define('PACKAGE_NAME', 'WoltLab Burning Board');
    9. if (!defined('PACKAGE_VERSION')) define('PACKAGE_VERSION', '4.0.0');
  4. Über phpMyAdmin in die Tabelle wcfX_package (wobei X für die Installationsnummer von Community Framework steht) gehen und bei allen Paketen, bei welchen in der Spalte packageDir als Pfad ../wbb4/ eingetragen ist, als Pfad ../ angeben.
  5. Über FTP oder SSH das Verzeichnis /wcf/cache leeren (nicht löschen).
Hinweis:
Dieser Vorgang ist auch mit allen anderen Endanwendungen und auch mit Community Framework 2 selbst möglich. Wichtig ist hierbei, immer die config.inc.php der jeweiligen Anwendungen zu öffnen und die richtige Zeile zu finden. Diese beginnt immer mit if (!defined('RELATIVE_WCF_DIR')).
Möchte man Community Framework selbst verschieben, muss man zudem in der Tabelle wcfX_package alle eingetragenen Pfade in der Spalte packageDir anpassen.

Falls Fragen oder Unsicherheiten bestehen, einfach hier in den Kommentaren fragen oder im Forum melden. :)
Über den Autor
Ich bin Webentwickler in Stuttgart und administriere Server seit vielen Jahren. In diesem Blog erstelle ich hauptsächlich Tutorials für andere Webentwickler, Webdesigner und Serveradministratoren.
-------------------------------------------------------------------------------------------------------------------------------------
I’m a web developer in Stuttgart, Germany, and server administrator since many years. This blog mainly contains a tutorial set for other web developer, web designer and server administrators.

4.802 mal gelesen

Kommentare 10

  • Black Rider -

    Das kann immer sein. Letztendlich ist diese Anleitung hier jedoch zu großen Teilen ebenfalls nutzbar.

  • Unknown -

    Leider ist diese Anleitung unbrauchbar, wenn man das Forum inklusive WCF-Order verschieben will oder es sich um einen scheinbare Verschiebung durch Aufschaltung der Domain auf ein anderes Verzeichnis handelt. Ich empfehle, in so einem Fall NICHT diese Anleitung zu verwenden, da es sein könnte, dass das Forum danach nicht mehr aufrufbar ist und man nur eine weiße Seite oder eine Fehlermeldung sieht.

  • webghost -

    hat nun geklappt, danke. Lag wohl doch noch am Cache, so nach dem sechsten mal löschen war dann auch der 500er weg. Jetzt muss ich nur noch schauen wie ich das SEO-Plugin dazu bringe damit klar zu kommen... das Ding zickt auch immer rum...

  • webghost -

    das dachte ich auch. Hat zweimal nicht geklappt, aber ich werde es nochmal versuchen.
    Was den Cache betrifft war ich schon richtig, per FTP alles in /wcf/cache löschen, ausser der .htaccess?

  • Black Rider -

    Normal sollte dann alles soweit funktionieren.

  • webghost -

    Hallo,

    danke erstmal für die Anleitung. Gibt ja hier allgemein Haufenweise nützliche Infos ..für mich als Neuling mit dem WCF optimal;)

    Nun hatte ich aber gerade ein Problem. Ich will nicht das Verzeichnis verschieben sondern eines umbenennen. Aus "/marketplace/" will ich "/marktplatz/" machen. Sollte doch auch in etwa so möglich sein? In der config.inc.php brauch ich wohl nichts zu ändern da sich der Pfad zum wcf nicht ändert.
    Also hab ich in der Datenbank den Eintrag geändert, im ACP den Pfad geändert, das Verzeichnis umbenannt und den Cache gelöscht. Ergab aber einen Fehler:
    Message: Unable to run 'com.viecode.marketplace', 'marketplace\system\MARKETPLACECore' is missing or does not implement 'wcf\system\application\IApplication'.

    hast Du mir da einen Tipp was schief gelaufen sein könnte

    Grüsse

  • WhiteDragon -

    Jetzt nach dem ich Pfad mittels PHPMyAdmin korrigiert habe, also unter applications, passt wieder alles und alles funktioniert wieder. :thumbup:

    Vielen Dank dir und deiner Anleitung hier! ;)

  • WhiteDragon -

    Das hab ich mir schon gedacht, das ich die konfigurationsdaten nicht ändern muss, also hab ich das so gelassen. Also so bin ich vorgegangen:

    1. ACP-> Anwendungsverwaltung-> WBB-> geändert von wbb4/ auf /
    2. Forum per FTP verschoben, nun kommt eine Fehlermeldung:


    Fatal error: An error occured. Sorry.
    Information:

    ID: b6434de869f7121ac42adb5de3ba3452b8d40667
    Bitte teilen Sie dem Betreiber die oben stehende ID mit.
    Die Fehlermeldung kann mit dieser ID über „ACP » Protokoll » Fehler“ eingesehen werden.

    Zum Ändern vom WCF im ACP kam ich nicht mehr, weil danach das Forum direkt nach dem absenden vom WBB Pfad nicht mehr erreichbar war. Jetzt steht aber beim WCF noch der Ordner mit wbb4 drin. :S

    EDIT: Cache hab ich auch noch geleert.

  • Black Rider -

    Wenn du beides änderst, brauchst du die Konfigurationsdateien natürlich nicht zu bearbeiten, das war eventuell dein Fehler.
    Alle Daten, die man bei der Anwendungsverwaltung im ACP einstellen kann, findest du auch in der Datenbank in der Tabelle 'wcfX_application', wobei X für die Installationsnummer von Community Framework steht.

  • WhiteDragon -

    Ich habe nun eins unser Foren umziehen lassen. Das Problem, ich bin nach dieser Anleitung vorgegangen, jedoch scheint dabei ein Fehler zu sein, wenn man beides umziehen lassen möchte (WCF&Wbb4) in einem Ordner höher. Bei mir war es im Ordner wbb4/ und wcf darunter wbb4/wcf Nun soll der Ordner wbb4 weg.

    Kann man den Schritt mit Anwendungen verwalten im ACP auch irgendwie außerhalb des ACP ändern? ACP ist nur noch bedingt erreichbar. Anscheinend stimmt bei uns dort eine Zuordnung nicht.