Konfiguration PresideCMS



PresideCMS ist ein Open-Source Content-Management-System der englischen Firma Pixl8 Interactive. Das Produkt ist für Programmierer hinreichend dokumentiert und kann hier gelesen werden. Bemerkenswert ist, das PresideCMS vollumfänglich auf das bekannte Framework ColdBox von Ortus Solution setzt. Dem Ausbau des CMS sind daher keine Grenzen gesetzt.
 
Wir haben PresideCMS (Version 10.9.x) zentral auf unseren Lucee-Servern installiert. Für Ihre Webpräsenz muss also nur Ihr Code auf den Webspace kopiert werden. Als Start für ein neues Projekt eignet sich das Skeleton und das Verti-Theme sehr gut:
  • Das Skeleton bringt Ihnen eine sehr rudimentäre Applikation, welche Sie prima ausbauen können.
  • Das Verti-Theme bietet mehr Fleisch am Knochen und bietet Ihnen die grundlegenden Kenntnisse für die Entwicklung eines eigenen Theme.
  • Das Helios-Theme basiert auf dem Helios Theme von HTML5UP und bietet noch mehr Vielfalt.
Hinweis: Die folgenden Instruktionen beziehen sich auf einen Windows-Server mit IIS.

Einstellungen Lucee

PresideCMS verlangt einige wenige Einstellungen, welche von unseren vorgegebenen Einstellungen abweichen. Melden Sie sich nun am Lucee Web Administrator an. Wählen Sie im Menu den Eintrag Settings und dann Language/Compiler. Der Wert für Key case muss auf Preserve case stehen:
 
 
 
Nun sollte kontrolliert werden, ob das Mapping für den Zugang zum Code von PresideCMS vorhanden ist. Üblicherweise ist das Mapping bereits von uns serverweit erstellt worden. Wechseln zum Menueintrag Archives & Resources und dann Mappings. Nun sollte das Mapping /preside sichtbar sein, welches auf die zentrale Installation von PresideCMS zeigt:
 
 
Eine wichtige Einstellung fehlt noch: Die Datasource (Datenquelle). Im Control-Panel haben Sie vorgängig bereits eine MariaDB-Datenbank und einen passenden Benutzer erfasst. Dies übertragen wir nun auf Lucee. Wechseln zum Menueintrag Services und dann Datasource.
 
Geben Sie nun den Namen der Datasource ein, welcher üblicherweise der Name der Datenbank ist. Anstelle von xxxx_cms geben Sie den Namen der Datenbank ein. Wählen Sie zudem den Datenbanktyp MySQL. Klicken Sie nun auf create.
 
 
Nun geben Sie den Namen der Datenbank im Feld Database und der Benutzername im Feld Username ein. Zum Schluss geben Sie das Passwort ein.
Beenden Sie die Aktion mit einem Klick auf create.
 
 
Wenn alles geklappt hat, sehen Sie nun die neue Datasource. Wichtig ist, das der Check erfolgreich war.

Einstellungen IIS

Bevor ein paar Einstellungen für den IIS verändert werden, sollten Sie das Skeleton oder das Verti-Theme via FTP hochladen.
Laden Sie anschliessend die Datei web.config herunter, welche sich im Root-Ordner Ihres Webspaces befindet. Öffnen Sie die Datei mit Ihrem Editor.
 
Hier unsere Referenz-Datei:
 
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="false" />
        <defaultDocument>
            <files>
                <clear />
                <add value="index.cfm" />
                <add value="index.htm" />
                <add value="index.html" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="Default.aspx" />
            </files>
        </defaultDocument>
        <httpErrors errorMode="Detailed" />
        <handlers>
            <remove name="BonCode-Tomcat-CFC-Handler" />
            <add name="BonCode-Tomcat-Wildcard-Handler" path="*" verb="*" type="BonCodeIIS.BonCodeCallHandler,BonCodeIIS,Version=1.0.0.0,Culture=neutral,PublicKeyToken=ad590a40d40745cf" resourceType="Unspecified" preCondition="integratedMode" />
            <add name="BonCode-Tomcat-CFC-Handler" path="*.cfc" verb="*" type="BonCodeIIS.BonCodeCallHandler,BonCodeIIS,Version=1.0.0.0,Culture=neutral,PublicKeyToken=ad590a40d40745cf" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
        </handlers>
    </system.webServer>
    <system.web>
        <httpRuntime executionTimeout="1200" maxRequestLength="60000000" />
    </system.web>
</configuration>

Anstelle der nicht unbedingt aussagekräftigen Fehlermeldungen vom IIS möchten wir, zumindest in der Entwicklungs- und Test-Phase des Projektes, Fehlermeldungen von Lucee sehen. Der folgende Eintrag macht dies möglich:
 
<httpErrors errorMode="Detailed" />
PresideCMS benötigt für den Boncode-Connector ein Wildcard-Handler. Boncode ist sozusagen die Verbindungsbrücke vom IIS zum Tomcat. Dies wird im Abschnitt <handlers> geregelt, indem die Standard-Einstellungen gelöscht und die Wildcard-Einstellung erstellt wird.
 
Diese Einstellung macht uns nicht gerade glücklich: Anstelle dass nur die CFML-Requests zum Tomcat weitergereicht werden, gelangen alle Request zum Tomcat. Sozusagen wird der IIS regelrecht ausgeknipst. Wir hoffen, dass der Hersteller von PresideCMS dieses Manko beheben wird.

Nun stellen wir eine längere Ausführungszeit für den CFML-Code ein. Der Standardwert sind 110 Sekunden. Wir erhöhen den Wert auf 1200 Sekunden (20 Minuten). Dieses Limit wird wohl nie ausgereizt. Dieser Wert können Sie natürlich nach Ihrem Gutdünken einstellen.
 
    <system.web>
        <httpRuntime executionTimeout="1200" maxRequestLength="60000000" />
    </system.web>
 
Zum Schluss erhöhen wir die maximale Grösse eine Datei für den Upload. Microsoft hat diesen Wert sehr optimistisch eingestellt: 4096 KB. Für ein CMS, in welchem wir grössere PDF's und Bilder hochladen, reicht dieser Wert bei weitem nicht. Wir stellen den Wert auf  60000000 KB (um die 58 MB) ein. Auch diesen Wert können Sie nach Ihren Bedürfnissen einstellen.

Sie können diese Datei gebrauchsfertig hier downloaden und auf Ihren Webspace kopieren.

Einstellungen PresideCMS

Die grundlegenden Einstellung für das CMS sind in der Datei Config.cfc im Ordner /application/config abgelegt. Die vorher angelegte Datasource und ein paar andere Einstellungen müssen hier eingetragen werden:
 
component extends="preside.system.config.Config" output=false {
    public void function configure() output=false {
        super.configure();

        settings.preside_admin_path = "cmsadmin";
        settings.system_user	    = "sysadmin";
        settings.default_locale     = "en";

        settings.default_log_name   = "${site_id}";
        settings.default_log_level  = "information";
        settings.sql_log_name       = "${site_id}";
        settings.sql_log_level      = "information";

        settings.dsn	            = "xxxx_cms"

        settings.autoSyncDB         = true;

        settings.features.websiteUsers.enabled = false;
        settings.features.updatemanager.enabled = false;
    }
}
 
  • settings.preside_admin_path: Der Wert cmsadmin ist der Standardwert für den Zugang zum Administrationbereiches, z.B. https://www.meinesite.ch/cmsadmin. Früher oder später wird diese URL in der Hackerszene bekannt. Erschweren Sie den Zugang zum Administrationbereiches, indem Sie diesen Pfad nach Ihren eigenen Vorstellungen gestalten. Verwenden Sie auch für jedes Projekt einen anderen Wert.
  • settings.default.locale: Den Wert für die Einstellung kann auf Ihre Sprache geändert werden. Setzen Sie den Wert auf de.
  • settings.default_log_name, settings.sql_log_name: Als Dateiname für die beiden Logs verwende ich üblicherweise den Namen der Domain. Ersetzen Sie ${site_id} mit Ihrem gewünschten Dateinamen.
  • settings.dsn: Ersetzen Sie den Wert xxxx_cms mit der Datasource, welche Sie vorgängig in der Lucee-Administration erstellt haben.
  • settings.features.websiteUsers.enabled: Ändern Sie den Wert auf true, wenn Sie das das Frontend-Website-Benutzermanagement nutzen möchten.
  • settings.features.updatemanager.enabled: Da PresideCMS zentral installiert ist, macht der Update-Manager keinen Sinn und ist daher ausgeschaltet.
  • settings.autoSyncDB: Wir aktualisieren die zentrale Installation regelmässig. Jeder Update wird frühzeitig angekündigt. Es kann sein, dass eine neue Version von PresideCMS die Datenbank aktualisieren muss. Damit das ohne Rückfrage funktioniert, ist die Einstellung auf true gestellt.
Die oben beschriebene Datei Config.cfc können Sie hier herunterladen und frei verwenden. Kopieren Sie die Datei in den Ordner /application/config.
 
Zum Schluss muss die Datei urlrewrite.xml angepasst werden. Diese finden Sie im Root-Ordner Ihres Webspaces. Die Datei beinhaltet die URL-Rewrite-Regeln. PresideCMS verwendet anstelle von Apache .htaccess ein Java-Webfilter. Weiterführende Informationen finden Sie hier beim Hersteller: UrlRewriteFilter.
 
Eine Regel verbietet den Aufruf der Administration von Lucee, was extrem hinderlich ist. Dieser Bereich wird gelöscht oder auskommentiert:
 
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
    <!--
    <rule>
        <note>
            Disable CFML Admin Contexts
        </note>
        <condition type="remote-addr" operator="notequal" next="or">127.0.0.1</condition>
        <condition name="host"        operator="notequal" next="or">127.0.0.1</condition>
        <from>^/(railo-context|lucee|cfide|bluedragon)/admin.*$</from>
        <set type="status">404</set>
        <to last="true">/404.html</to>
    </rule>
    -->
.....
</urlrewrite>
 

Webbasierende Installation von PresideCMS

Nun kommt der einfachere Teil der finalen Installation von PresideCMS: Geben Sie die Adresse der Website in Ihren Browser ein. Der automatische Teil des Setups legt die Tabellen und Inhalte der Datenbank an. Dies dauert höchstens eine Minute. Wenn Sie das Skeleton installiert haben, empfängt Sie nun eine sehr einfach gestaltete Seite.
 
Wechseln Sie nun in den Administrationsbereich vom CMS, indem Sie die Adresse mit der oben gewählten URL ergänzen. Sie werden nun mit dem Anmelde-Formular empfangen:
 
 
Im ersten Feld geben Sie Ihre E-Mail-Adresse ein. Anschliessend geben Sie das gewünschtes Passwort zweimal ein. Bitte nehmen sie dazu unseren Artikel Sichere Passwörter zu Hilfe. Es ist wichtig, dass ein starkes Passwort verwendet wird. Schliessen Sie die Installation ab, indem Sie auf Setup user drücken.
 
Anschliessend erhalten Sie die Meldung, dass Ihr Konto erstellt worden ist und Sie können sich anmelden. Sie sehen nun die Übersichtseite vom CMS:

 
Das CMS ist nun rudimentär betriebsbereit. Vervollständigen Sie die Einstellungen mit der Hilfe der folgenden Artikel.

Weiterführende Artikel:


Sie haben noch kein SSL-Zertifikat für Ihre Website? Ein Zertifikat ist im Handumdrehen bestellt und installiert. Hier finden Sie unsere Preisliste.

Hinweis:
Dieser Artikel ist haupsächlich für unsere Hosting-Kunden gedacht.
Einstellungen oder Konfigurations-Vorgänge passen für unser Umfeld und müssen bei Fremd-Systemen vermutlich angepasst werden.

Add Feedback