Home Navigationspfeil Doku und Anleitung Navigationspfeil Installation Navigationspfeil Datei config.inc.php

Vor der Installation: config.inc.php anpassen

Bevor Sie CMBasic auf den Server Ihres Dienstleisters laden und installieren, müssen Sie die »config.inc.php« anpassen. Dort stecken alle wichtigen Konfigurationseinstellungen, dort geben Sie Ihre Zugangsdaten ein. Es handelt sich um eine einfache Textdatei aus dem Unterordner »edit«.

Beitrag aktualisiert am 16.02.2025

In der Voreinstellung ist die Datei config.inc.php immerhin schon für den Offlinetest mit dem lokalen Webserver XAMPP (Apachefriends) eingerichtet. Sie können also CMBasic ohne weitere Anpassungen offline (auf Ihrem eigenen Rechner) für Testzwecke installieren. Wenn Sie das XAMPP-System einsetzen. (XAMPP ist ein Paket, das einen lokalen Webserver mit PHP und MySQL auf dem lokalen Rechner einrichtet. XAMPP schafft also eine Testumgebung.)

So sieht die config.inc.php aus

Hier zeige ich Ihnen die wichtigsten Details dieser Datei. Die einleitenden und abschaltenden PHP-Tags schreibe ich aus technischen Gründen nicht mit.

Außerdem habe ich die längeren erklärenden Kommentare - also die Texte nach dem Doppelslash // - gekürzt, um die Übersicht zu bewahren. Die Nummerierung ist ebenfalls nicht in der Originaldatei enthalten. Die hilft Ihnen lediglich beim Finden der passenden Zeile.

Gute Texteditoren wie z.B. PSPad oder Notepad++ zeigen jedoch die Zeilennummern an.

(1)  öffnendes PHP-Tag
(2)  $dbname = "cdcol"; // Name der Datenbank, , muss ggf. vorher eingerichtet werden
(3)  $dbhost = "localhost"; // Datenbankhost, meist localhost
(4)  $dbuser = "root"; // Benutzername für MySQL
(5)  $dbpassword = ""; // Passwort für MySQL
(6)  $fulltree = 1; // voller Navigationsbaum? 1 für ja, 0 für nein
(7)  $htmleditor = 1; // HTML-Editor TinyMCE anzeigen? 1 für ja, 0 für nein
(8)  $pfx = "cmb170_"; // Tabellenpräfix -- ändern, wenn mehrere CMBasic pro Datenbank!
(9)  $cssfolder = "wallmow"; // CSS-Ordner wie wallmow, gruenau, kino ... 
(10) $friendlyURL = 0; // freundliche URLs? Nur mit .htaccess und Apache mod_rewrite-Modul on
(11) $niceTitle = 1; // ab 1.6.5, halbtransparente, attraktive JavaScript-Tooltips für Hyperlinks
(12) $frontlogin = 0; // Loginlink im Frontend anzeigen? (Position $felog im Template)
(13) // 0 für nein, 1 für ja, URL-Anhang in "" wenn auf einer ausgewählten Seite
(14) $separator = ","; // Separatortyp (, oder . oder -), am besten nicht ändern
(15) $path_root = "Home"; // neu in Rev 3
(16) define('CMBASICLOG', 'Login'); // Mehrere CMBasics pro Datenbank? Dann Wert Login bitte stets var...
(17) // Wenn der Wert für 'Login' nicht verändert wird, kann ein einmal angemeldeter Nutzer
(18) // in alle CMBasics der selben Datenbank eintreten. Kein Problem, wenn man Alleinbetreuer ist.
(19) // define('SPLASH', 'splash.html'); // Splashpage einbinden (=alternative Startseite). Falls ja ...
(20) // statt splash.html einfach Namen der gewünschten Splashpage notieren
(21) 
(22) // Hinweis zu Konstanten: Wenn man die folgende Funktion nicht braucht, Zeile einfach mit // aus...
(23) define('HTML5', TRUE); // Ausgabe als HTML5 bzw. in modernerem Layout (nicht kompatibel mit ...
(24) define('NODOUBLE', TRUE); // doppelten Content unterdrücken?
(25) define('MULTIHIGH', FALSE); // Obermenüeintrag zusätzlich zum Untereintrag hervorheben? Neue S...
(26) define('STATS', FALSE); // Statistikfunktionen ab sofort auf FALSE, da outdated!
(27) define('UTF8', TRUE); // ab 1.6.5, UTF-8 einschalten, ansonsten weiterhin ISO-8859-1
(28) // Minibots einbinden (neu ab 1.6)
(29) define('METADESC', TRUE); // Meta-Description einbinden
(30) define('METAKEY', TRUE); // Meta-Keywords einbinden
(31) define('CODE', TRUE); // Code-Konverter
(32) define('FEEDBACK', TRUE); // Feedbackformular
(33) define('HIDEMAIL2', TRUE); // E-Mail-Verschleierer2 
(34) define('LIGHTBOX', TRUE); // Lightbox-Galerie
(35) define('AUDIO', TRUE); //  Audioplayer
(36) // define('FLV', TRUE); // entweder JW FLV Videoplayer* , Legacy
(37) define('VIDEO', TRUE); // oder freier Videoplayer*
(38) // define('MAPCREATOR', TRUE); // MapCreator (Google-Maps), Legacy und deaktiviert
(39) define('SITEMAP', TRUE); // Sitemap
(40) define('FILELIST', TRUE); // Uploader mit Dateianzeige
(41) define('ANKERLIST', TRUE); // ANKERLIST erlauben
(42) define('YOUTUBE', TRUE); // Einbinden von YouTube-Videos erlauben
(43) 
(44) // Typ des Frontend-Logins
(45) # $frontlogintyp = "link"; // Legacy, funktionslos und daher deaktiviert
(46) 
(47) // Blogansicht steuern - am besten unverändert lassen
(48) $blogheadlink = 0; // 1 wenn der Head des Blogs zusätzlich als Link genutzt werden soll, sonst 0 ...
(49) $newblog = 0; // 1 wenn der Inhalt des 2. Tagpaars komplett als Anreißer genutzt werden soll, sonst ....
(50) $nohead = 0; // 1  wenn erstes Tagpaar zur Meta-Description bzw. zum Blogtag werden soll, per Stan...
(51) schließendes PHP-Tag

Variablen und Konstanten

Schauen Sie sich erst einmal um. Das Prinzip ist einfach: In den ersten Zeilen steht links die sogenannte Variable, die den Wert speichert. Dann folgt ein Gleichheitszeichen als Zuweisungsoperator. Und rechts wird der entsprechende Wert notiert.

Ist es eine Zeichenfolge? Dann sitzt diese in Gänsefüßchen. Ist es nur eine Zahl? Dann können Sie die Gänsefüßchen weglassen.

In Zeile 16 und von Zeile 23 bis 42 gibt es dagegen keine Variablen, sondern sogenannte Konstanten. Da sieht die Zuweisung anders aus. Sie erfolgt innerhalb der runden Klammern. Der Wert TRUE sorgt dafür, dass eine Eigenschaft eingeschaltet ist. Wenn Sie die Eigenschaften deaktivieren wollen, schreiben Sie FALSE.

Semikolon und Kommentare

Jede Zeile wird dann durch ein Semikolon abgeschlossen. Die // reservieren Platz für eine Erklärung, es handelt sich dabei um einen Kommentar. Dieser kann auch entfallen.

Sicherheitsfeature: Seit Version 1.5 von CMBasic habe ich den Ordner edit zusätzlich mit einer .htaccess-Datei geschützt. Sofern Ihr Dienstleister mitspielt - und das sollten die meisten tun - ist dieser Ordner komplett für den Zugriff von außen gesperrt! Diese sensible Konfigurationsdatei ist also optimal geschützt. Safety first!

Wie öffnen Sie die Datei?

Das hängt von Ihrem Betriebssystem ab. Nehmen Sie einen einfachen Editor, unter Windows empfiehlt sich der Windows-Editor namens Notepad. Rechtsklicken sie auf die Datei und wählen Sie Senden an/Editor. Sie können auch Öffnen mit/Editor auswählen. Oder Sie ziehen die Datei in das Editorfenster.

Ich persönlich bevorzuge einen Spezialeditor wie den PsPad oder Notepad++. Solch ein Editor zeigt dann auch die Zeilennummerierung an.

Im Prinzip funktioniert jeder einfache Texteditor.


Erforderlich: Zugangsdaten eintragen (Zeile 2-5:)

So, jetzt kommen die Dinge, die Sie anpassen müssen. In Zeile 2-5 notieren Sie den Namen der Datenbank, den Datenbankhost und Ihre MySQL-Zugangsdaten. Die per Voreinstellung dargestellten Werte funktionieren nur, wenn Sie CMBasic lokal mit dem Webserver XAMPP einrichten. Die müssen Sie also ändern.

Hier eine Beispielkonfiguration für einen fiktiven Dienstleister:

 (2) $dbname = "dx3498212"; // Name der Datenbank
 (3) $dbhost = "localhost"; // Datenbankhost, meist localhost
 (4) $dbuser = "dx3498212"; // Benutzername für MySQL
 (5) $dbpassword = "ZudXTckS3r_s"; // Passwort für MySQL

Noch einmal zusammengefasst: Welche Daten Sie eintragen müssen, erfahren Sie von Ihrem Dienstleister.

Bitte achten Sie darauf, nur die Werte innerhalb der Gänsefüßchen anzupassen. Sie dürfen keine weiteren Zeichen ergänzen oder löschen!

Das sind die wichtigen Zeilen. Alles andere können Sie dagegen vorerst so belassen! Sie wollen sofort starten? Installieren Sie CMBasic jetzt. Und passen Sie die anderen Variablen und Konstanten einfach nachträglich an! Sie können die Datei config.inc.php ja später erneut bearbeiten und hochladen.


Bei Bedarf: Weitere Einstellungen anpassen

Lust, das Weitere zu prüfen bzw. einzustellen? Na dann geht es einfach los!

Voller Navigationsbaum? (Zeile 6)

Sie möchten, dass das Hauptmenü stets voll aufgeklappt erscheint? Das ist die Voreinstellung! Belassen Sie bei $fulltree einfach die 1. Ansonsten tragen Sie dort eine 0 ein. Dann bleiben die Unterzweige eingeklappt und klappen erst aus, wenn Sie das dazugehörige Obermenü anklicken.

Hinweis: Auf dieser Präsenz habe ich $fulltree auf 0 gesetzt!

HTML-Editor TinyMCE anzeigen? (Zeile 7)

Entscheiden Sie sich hier, ob Sie den HTML-Editor TinyMCE sehen wollen oder nicht. Ich würde diese Einstellung auf 1 belassen. Die 1 ist voreingestellt und steht für anzeigen. Sie können dann trotzdem außer der Reihe den Texteditor wählen. Haken Sie beim Bearbeiten die Checkbox HTML ab.

Tabellenpräfix ändern? (Zeile 8)

Hier können Sie den Tabellenpräfix ändern. Das ist vor allem dann wichtig, wenn Sie mehrere CMBasic-Instanzen in einer Datenbank speichern wollen. Jede Version sollte dann einen anderen Präfix erhalten.

CSS-Ordner einstellen für anderes Template? (Zeile 9)

In Zeile 9 wählen Sie eins der vielen Templates aus. Welches gefällt Ihnen am besten? Tippen Sie in Gänsefüßchen einfach den Ordnernamen dieses Templates ein.

Die Templateordner finden Sie unter dem Pfad templates/css. Sie können hier natürlich nur einen Ordner eintragen, den es auch gibt. Voreingestellt ist wallmow.

Tipp: Jedes Template bringt eine eigene index.php mit. Die liegt im Template-Stammordner und kann beliebig angepasst werden.

Diese index.php wird bei Auswahl des entsprechenden Templates eingelesen. Passen Sie diese Datei und die dazugehörigen CSS-Dateien an, wenn Sie ein Template individualisieren möchten. Einen Templateworkshop finden Sie hier.

Freundliche URLs einstellen? (Zeile 10)

Suchmaschinenfreundliche URLs sind eine feine Sache. So wie hier auf cmbasic.de! Per Voreinstellung sind dagegen dynamische URLs eingestellt. Aus Sicherheitsgründen, da nicht jeder Webhoster suchmaschinenfreundliche URLs unterstützt.

Sie wollen suchmaschinenfreundliche URLs einstellen? Das gelingt, wenn Ihr Webhoster das Modul mod_rewrite unterstützt. Dann setzen Sie den Wert 0 auf 1. Außerdem müssen Sie die Datei htaccess.txt aus dem CMBasic-Stammordner umbenennen in .htaccess.

Mehr zu dieser Problematik erfahren Sie in einem extra Beitrag zum Einstellen suchmaschinenfreundlicher URLs.

Wo soll der Link zum Login angezeigt werden? (Zeile 12)

Um sich in CMBasic einzuloggen, hängen Sie normalerweise /backend an Ihre URL an. Es gibt aber zusätzlich auch eine Loginmöglichkeit im Frontend, also direkt auf der Website. Und zwar als Hyperlink, der auf das Backend verweist.

Dieser Hyperlink im Frontend wird nur angezeigt, wenn im Template der Einschub {felog} verwendet wird. Bei den mitgelieferten Templates ist das jedoch in aller Regel der Fall. Wo dieser Link angezeigt wird, bestimmt der Ersteller des Templates. Hier finden Sie einen Workshop zum Erstellen bzw. Anpassen der CMBasic-Templates.

Doch zurück zum Loginlink. Sie wollen ihn? Ersetzen Sie die voreingestellte 0 durch eine 1. Nun wird der Link auf allen Seiten zusätzlich angezeigt und Administratorinnen und Administratoren finden leichter ins Backend.

Logimlink nur auf einer Seite anzeigen

Sie wollen diesem Loginlink nur auf einer ausgewählten Unterseite einblenden? Damit er nicht sofort ins Auge fällt? Dann notieren Sie statt 0 oder 1 einfach den URL-Anhang der entsprechenden Seite. Bitte in Gänsefüßchen.

So sieht es aus, wenn sich der Loginlink auf der Unterseite für das Impressum befindet und der URL-Anhang impressum lautet:

$frontlogin = "impressum"; // ...

Frontend-Loginmöglichkeit als Formular statt als Link

Bis CMBasic 1.6.9 funktionierte auch die Variable $frontlogintyp. Sie konnten schreiben:

$frontlogintyp = "iframe";

Dadurch wurde ein Loginformular in einem Inline-Frame dargestellt. Und zwar direkt im Frontend!

Das gefiel mir aus Sicherheitsgründen nicht mehr. Deshalb habe ich diese Möglichkeit mit CMBasic 1.7.0 entfernt. Sie finden die entsprechende Variable zwar weiterhin in der config.inc.php in Zeile 45 vor, sie ist aber wirkungslos geworden!

Mehrere CMBasics pro Präsenz? (Zeile 16)

Zeile 13 ist nur interessant, wenn Sie mehrere CMBasics auf Ihrer Präsenz installiert haben. Hier können Sie eine interessante Einstellung vornehmen.

Sie möchten, dass ein einmal angemeldeter Nutzer in alle CMBasics eintreten kann? Praktisch, wenn alle CMBasics eine Einheit bilden und zusammenhängen!

Dann ändern Sie nichts!

Sie wollen dagegen, dass jedes CMBasic ein eigenständiger Bereich ist? Dann müssen Sie einen abweichenden Wert eintragen. Das könnte im zweiten CMBasic dann so aussehen:

define('CMBASICLOG', 'ZweitesLogin'); // ...

Alternative Startseite (Splashpage) einbinden? (Zeile 19)

Sie wollen eine alternative, statische Startseite einbinden? Um einen ganz individuellen »Eingang« in CMBasic zu schaffen?

Erstellen Sie diese Seite, nennen Sie sie beispielsweise splash.html und legen Sie diese im Stammordner von CMBasic ab. Entfernen Sie nun das Kommentarzeichen // am Anfang der Zeile 16. Dann sieht es so aus:

define('SPLASH', 'splash.html'); // ...

Per Voreinstellung ist diese Konstante mit // auskommentiert, wirkt also nicht.

Statistikfunkion ein oder aus?

Die nächste Option wurde ab CMBasic 1.6.9 entfernt:

define('STATS', TRUE); // ...

Wenn Sie es ausschalten wollten, mussten Sie TRUE durch FALSE ersetzen.

Wie kamen Sie an die statistischen Daten? Das gelang über das Backend über den Punkt Skripte und dann per Klick auf Zugriffsstatistik.

Beachten Sie, dass diese Zugriffsstatistik nur eine ungefähre Übersicht über die Anzahl der Seitenabrufe pro Monat und pro Jahr gibt/gab.

Ab PHP 7 arbeitet die Statistik leider nicht mehr, deshalb habe ich sie ab CMBasic 1.6.9 entfernt.


Kleine Helfer: Die neuen Minibots

Zeile 29 bis 42 kümmern sich um die Minibots, die in CMBasic 1.6 Einzug gehalten haben. Sie steuern die Meta-Tags für Beschreibung und Stichworte, verschleiern die E-Mail-Adresse oder aktivieren eine Lightbox-Galerie. Auch Audio- und Videodateien lassen sich per Minibot abspielen und eine Sitemap gibt es ebenfalls.

Per Voreinstellung sind (fast) alle Minibots aktiv und das ist auch gut so.

Wie Sie diese per Minibot gesteuerten Funktion nutzen, erfahren Sie in der Anleitung zu den neuen Features von CMBasic 1.6.

Welchen Videoplayer möchten Sie sehen?

Für die Anzeige der Videos gibt es zwei konkurrierende Minibots. In der Voreinstellung war früher der FLV-Videoplayer eingestellt. Das ist ein kommerzieller Videoplayer, den Sie nur bei privaten, nicht-gewerblichen Websites lizenzfrei nutzen konnten.

 (36) define('FLV', TRUE); // entweder JW FLV Videoplayer*
 (37) // define('VIDEO', TRUE); // oder freier Videoplayer*

Die Zeile für den alternativen, freien Videoplayer dagegen habe ich auskommentiert.

Falls Sie lieber Lizenzkosten sparen und den freien Videoplayer verwenden wollen, kommentieren Sie Zeile 29 aus und entfernen die Kommentarzeichen vor Zeile 30.

 (36) // define('FLV', TRUE); // entweder JW FLV Videoplayer*
 (37) define('VIDEO', TRUE); // oder freier Videoplayer*


© CMBasic.de