Silverstripe

Aus d0b
Zur Navigation springenZur Suche springen

Open Source CMS / Framework http://www.silverstripe.org/

Hier meine ersten Gehversuche ;-) Ziel ist es ne kleine Seite mit eignen template sowie einer Galerie und diversen kleinen Modulen ans laufen zu bringen.

Basis

Als Basis dient ein Debian Lenny mit Plesk auf einen vhost-Server. Also schnell mal in Plesk eine Domain anlegen (FTP, DB, DB User) und dann mit der Shell in das webverzeichnis (httpdocs/) der angelegten domain wechseln, die ich ab jetzt testdomain.tld schimpfe, um dort folgende Befehle auszuführen:

wget http://www.silverstripe.org/assets/downloads/SilverStripe-v2.4.6.tar.gz  // Download  
tar -xzf SilverStripe-v2.4.6.tar.gz                                           // entpacken 
cat SilverStripe-v2.4.6/INSTALL                                               // Lesen ;)
cp -a SilverStripe-v2.4.6/. ../euerpfad/                                      // Verzeichniss anpassen
rm -Rf SilverStripe-v2.4.6/ SilverStripe-v2.4.6.tar.gz INSTALL UPGRADING      // Aufräumen

Dann erstman den Browser öffnen und testdomain.tld/install.php aufrufen. Ich werde aufgefordert inn der php.ini möglichst den wert von gpc_magic_qoutes auf "off" zu ändern sowie folgendes zu tun:

mkdir silverstripe-cache                                                      // Ordner erstellen
chmod 777 assets/Uploads silverstripe-cache                                   // Ordnerechte ändern
chmod 666 .htaccess mysite/_config.php                                        // Dateirechte ändern

Nachdem das getan ist und notwendige Angaben im install-Formular ausgefüllt sind geht es weiter -> Silverstripe wird ohne zu mucken installiert =) Jetzt kann man sich im Admin Bereich schonmal ansehen testdomain.tld/admin - und schon geht es wieder weiter an die Module, ich fange mit der Galerie an.

Module hinzufügen

Es gibt bereits eine vielzahl an Modulen auf der Silverstripe HP. Jedem Modul / Widget liegt eine INSTALL Textdatei bei, reinschauen lohnt sich, da es ggf. Abhängigkeiten zu anderen Modulen gibt.


Galerie

Ich habe mich mal für die Variante von UncleCheese Image_Gallery entschieden, also downloaden als zip oder via git.

Benötigte Module:

Was nun?

  1. Die oben genannten Module downloaden
  2. Umbennen der Modulordner in: dataobject_manager, uploadify, image_gallery
  3. In das Stammverzeichniss von Silverstripe kopieren
  4. /dev/build?flush=1 ausführen und weiter gehts

Gästebuch

Hier habe ich das Simple Guestbook [v1.1.0] genommen, welches ab Silverstripe 2.3 funktioniert.

Benötigte Module:

Und wieder:

  1. Die oben genannten Module downloaden (dataobject_manager hatte ich ja schon ;-)
  2. Umbennen der Modulordner in: dataobject_manager, recaptcha, spamprotection, guestbook
  3. In das Stammverzeichniss von Silverstripe kopieren
  4. /dev/build?flush=1 ausführen und weiter gehts

Troubleshooting

Was mir so passiert ist ;-)

Admin login stuck

Fehlerbeschreibung: Nachdem man die Login Daten auf www.domain.tld/admin eingegeben hat, wechselt die Anzeige in den "Laden...." zustand, der Hintergrund ist Weiß und es ist das Silverstripe Logo zu sehen....und dann....passiert nichts mehr, quasi freeze.

Fehlerursache: Das Skript konnte wahrscheinlich keine .js Files im Verzeichniss "assets/_combinedfiles/" erstellen.

Fehlerbehebung: Das Verzeichniss "assets/_combinedfiles/" sollte die Rechte 777 haben und die user:group Parameter sollten auch stimmen, bei mir war das nicht der Fall. Mit folgenden Befehlen ändern wird das.

cd httpdocs/assets/
chown user:goup _combinedfiles/       <-- user:group sind Platzhalter, hier kommen eure Daten rein!
chmod 777 _combinedfiles/

Falls das noch nicht geholfen hat, schalten wir das ganze einfach ab indem wir in die "mysite/_config.php" folgende Zeile eintragen:

Requirements::set_combined_files_enabled(false);

Image Gallery

Fehlerbeschreibung: Hier kommt es zu Rechteproblemen, wenn die Module die entsprechenden Ordner für die Alben/Bilder innerhalb von httpdocs/assetes/ anlegen möchten. Diese notwendigen Ordner gehören dem falschen benutzer(:gruppe) an und bekommen auch nicht die notwendigen Rechte (chmod 777). Dadurch können in den Unterordner (_resampled) von erzeugten Album keine Bilder erstellt werden.

Fehlerursache: Bisher noch nicht genauer ermittelt, keine zeit!

Fehlerbehebung: Vorerst keine behebung, dafür von Hand improvisiert:

  1. Ss-Admin: Neue Gallery Page erstellen
  2. FTP: Ordnerstruktur anlegen "image_gallery/europa_lehrgang/", sowie "image_gallery/europa_lehrgang/_resampled/"
  3. FTP: Den beiden neuen Ordner mit chmod 777 ausstatten
  4. Ss-Admin: Album anlegen z.b. "Europa-Lehrgang"
  5. Ss-Admin: In die angelegte Gallery wechseln und Bilder in die Gallery laden


Befehlsfetzen zum reparieren von Hand (MYSQL)

DELETE FROM `ImageGalleryItem` WHERE `AlbumID` = 23;      // Datenbank aufräumen

Und folgenden Befehl konnte ich gebrauchen, um die gewählten Vorschau Bilder für ein Album - innerhalb des Albums wieder sichtbar zu machen.

UPDATE `File` SET ClassName = 'ImageGalleryImage' WHERE ID IN ( SELECT ImageID FROM ImageGalleryItem );

Login Fail

Fehlerbeschreibung: Nach eingabe der Login Daten auf www.domain.tld/admin , erscheint folgende Fehlermeldungen:

Sorry, there was a problem with handling your request.

Fehlerursache: Kann mehrere Ursachen haben, bei mir wurde der Fehler durch ein leeres Feld im File-Table der DB verursacht.

Fehlerbehebung: Seite in dev Mode setzen, dafür die mysite/_config.php um folgende zeile erweitern. Das diese Zeile nach Fehlerbehebung wieder auskommentiert wird setz ich mal vorraus.

Director::set_environment_type("test");

Web-file Upload Fail

Fehlerbeschreibung: Wenn man im Admin Bereich des CMS mit der Upload Funktion eine Datei ausgewählt hat, diese Datei dann mit den Button "Ausgewählte Dateien hochladen" möchte, erscheint folgende Fehlermeldung "Dies ist kein gültiger Upload" in einen Pop-Up Fenster.

Fehlerursache: Kann ich nicht sagen, war zu faul zum nachlesen ;)

Fehlerbehebung: Diverse Nutzer dieses CMS bieten hier Dateien zum patchen an:

Links