basics
This recipe book is an international delight!
It was born out of a wish to ensure the continuation of traditional cooking and a need to find new ways to collect and record traditional knowledge. To achieve these aims each of the participating countries set up four cooking groups in their regions. We made friends across the generations and across borders and got to understand the idea of Europe a little better.
Bei Mehrbenutzerbetriebssystemen (Windows, Linux, Mac OS X) werden die Dateirechte für Dateien und Ordner meist mit den Worten Lesen, Schreiben, Lesen/Ausführen, Ändern und Vollzugriff umschrieben. Jedes Betriebssystem verwaltet die Rechte auf eine leicht unterschiedliche Weise.
Unterscheiden kann man bei Windows die Art der Verwaltung vor Windows NT (Windows 98, Windows ME) und nach Windows NT (Window XP, Windows Vista, Windows 7). Nach Windows NT wurden für Dateien, Ordner und Prozesse Access Control Lists (ACLs, dt. Zugangskontrolllisten) eingeführt. Wenn diese ACLs nicht gesetzt sind, erhält jeder Benutzer Vollzugriff auf jedes Objekt. Daher ist auf diesen Betriebssystemen das Arbeiten mit XAMPP und Joomla! so "einfach". Ab Windows Vista wurde unter anderem die Sicherheit bei der Ausführung von Prozessen erhöht, daher müssen Sie beispielsweise den Betrieb eines Webservers und eines Datenbankservers erst explizit erlauben.
Bei Unix-artigen Systemen (Linux, Max OS X) werden die Zugriffsrechte über drei Benutzergruppen (Inhaber, Gruppe und Sonstige) und die Rechte (Lesen, Schreiben und Ausführen) definiert. Die Benutzerzuordnungen werden über den Befehl chown geregelt, die Dateirechte über den Befehl chmod. Beide Befehle finden Sie in Ihrem FTP-Programm (meist über einen Rechtsklick auf den Namen der Datei, deren Rechte Sie ändern möchten). Eine ausführliche Erklärung sowie eine Übersicht über die Zusammensetzung der Rechte finden Sie beispielsweise unter http://de.wikipedia.org/wiki/Unix-Dateirechte.
Bei virtuellen Servern bei einem Provider kann es, je nach Konfiguration des Servers, manchmal vorkommen, dass der Webserver mit anderen Rechten und Gruppenzuordnungen als der FTP-Benutzer läuft. Wenn Sie nun eine Datei über Joomla! hochladen, wird diese mit den Rechten des Webservers (z.B. mit dem User wwwrun) gespeichert. Wenn Sie mit Ihrem FTP-Benutzer (z.B. bertrand) diese Datei dann löschen wollen, kann es unter Umständen passieren, dass Sie das nicht dürfen, weil Ihr FTP-Benutzer sich in einer anderen Benutzergruppe als der Webserver befindet.
Um selbst ein PHP-basiertes CMS wie Joomla!, Drupal oder Wordpress installieren zu können, benötigen Sie einen Webserver, eine Datenbank und die Programmiersprache PHP. PC, Browser und Internetverbindung sind normalerweise vorhanden. Bei der Verwendung von Webserver, PHP-Interpreter und Datenbank gibt es sehr viele Möglichkeiten.
Sie können
- das System komplett lokal auf Ihrem PC aufsetzen.
- das System in einem Firmen-Intranet auf einem in der Firma befindlichen Server installieren.
- einen virtuellen Server bei einem Provider anmieten.
- einen Server bei einem Provider anmieten oder kaufen (mit Root-Zugriff).
Sie können ferner
- den Webserver und die Datenbank auf physisch getrennten Rechnern betreiben.
Sie können natürlich verschiedene
- Fabrikate von Webservern,
- Versionen des PHP-Interpreters und
- Versionen der MySQL-Datenbank
benutzen. Als Krönung können Sie alle Komponenten unter unterschiedlichen Betriebssystemen installieren und betreiben.
Diese Freiheit in der Wahl der Ressourcen erschlägt den Anfänger oft, deshalb beschreibe ich nachfolgend ein paar typische Szenarien.
Lokale Testumgebung
Sie sitzen daheim oder in Ihrem Büro und wollen eine Joomla!-Seite aufsetzen.
Betriebssystem Windows
Variante 1
Die meistens Windows Varianten bringen von Haus aus einen Webserver mit, den Internet Information Server. Sie müssen zusätzlich noch PHP und eine Datenbank installieren und können loslegen.
Variante 2
Sie nehmen ein vorkonfiguriertes Paket (XAMPP), entpacken es auf Ihrem Rechner, und alles, was Sie benötigen, ist da.
Betriebssystem Linux
Hier kommt es auf die von Ihnen genutzte Distribution an. Alle Distributionen erlauben die einfache Installation (per Mausklick) der Pakete Apache, PHP und MySQL. Je nach Distribution sind sie unter Umständen bereits vorinstalliert.
Variante 1
Sie benutzen die in der Distribution enthaltenen Programme.
Variante 2
Sie nehmen ein vorkonfiguriertes Paket (XAMPP), entpacken es auf Ihrem Rechner, und alles, was Sie benötigen, ist da.
Betriebssystem Mac OS X
Sie haben einen Webserver und PHP standardmäßig in Ihrem System, müssen allerdings alles konfigurieren. Außerdem benötigen Sie eine Datenbank.
Variante 1
Sie benutzen den installierten Apache Webserver mit PHP und installieren sich die fehlende Software dazu.
Variante 2
Es klingt wie ein Running Gag, aber nehmen Sie doch einfach das vorkonfigurierte Paket XAMPP für Mac OS X. Entpacken Sie es auf Ihrem Rechner, und alles, was Sie benötigen, ist da. Im Mac OS X-Umfeld wird auch gern auf ein anderes Komplettpaket mit dem Namen MAMP zurückgegriffen.
Produktivumgebung
Auch hier gibt es mehrere Möglichkeiten.
Angemieteter Webspace
Sie mieten bei einem Provider ein Webspace-Paket mit Datenbank, PHP-Unterstützung und meist auch Ihrem Domainnamen. In diesem Fall haben Sie eine funktionsfähige Umgebung, in die Sie Ihr System installieren können. Bei der Auswahl der Versionen (PHP, MySQL) sind Sie auf Ihren Provider angewiesen. Manchmal bieten die Provider auch bereits verschiedene CMS vorinstalliert mit verschiedenen Templates an. Dann müssen Sie das gewünschte System nur per Mausklick aktivieren, und es steht Ihnen zur Verfügung.
Eigener Server
Sie mieten bei einem Provider einen Server und installieren darauf ein Betriebssystem Ihrer Wahl. Sie sind der Administrator dieses Systems und können wie auf Ihrem PC zu Hause arbeiten. Diese Variante ist die mit Abstand anspruchsvollste, aber auch auch die flexibelste. Sie können – wenn Sie es können – auf "Ihrem" Server alles installieren und konfigurieren.
Eigene Server können noch in physikalische Maschinen, also ein Gerät pro Server (Dedicated Server) und virtuelle Server unterteilt werden. Bei virtuellen Servern können sich Hunderte auf einer Maschine befinden. Auf beiden Varianten haben Sie root-Zugriff, können also tun und lassen, was Sie wollen.
2010 ist ein wichtiges Jahr für die meisten Open Source Content Management Systeme, da Major Updates vor der Tür stehen (Joomla! 1.6, Drupal 7) oder bereits veröffentlicht worden sind (Wordpress 3). Ich habe bei verschiedenen Gelegenheiten Präsentationen über das Thema gehalten, zuletzt vergangene Woche auf der Unconference im Rahmen der DrupalCon in Copenhagen.
Was kann ich lernen?
Grob zusammengefasst, alles was Sie wissen müssen um bei Joomla! 1.6, Drupal 7, Wordpress 3 und den gängigen Web 2.0 Anbindungen auf dem laufenden zu sein.
- Tag 1 - Welches CMS für welchen Zweck - Drupal 7, Wordpress 3 oder Joomla! 1.6?
- Tag 2 - Joomla! 1.6
- Tag 3 - Drupal 7
- Tag 4 - Wordpress 3
- Tag 5 - Web 2.0
Was muss ich können?
Sie müssen keine speziellen Kenntnisse haben. Hilfreich sind Erfahrungen mit Browsern, ein wenig HTML und basale Kenntnisse über PC (Ordner anlegen, Dateien entpacken, etc). Alles was Sie darüberhinaus können ist sicherlich hilfreich (CSS, PHP, etc). Ich habe bei meinen Veranstaltungen die Erfahrung gemacht, das die Teilnehmer meistens "genug" wissen. Mir geht es sehr darum, Ihnen ein grundsätzliches Verständnis für die Themen zu vermitteln auf dessen Basis sie Entscheidungen für weitere Vorgehensweisen treffen können. Ich habe nicht die Absicht Ihren Kopf mit Buzzwords zu füllen. Vielleicht gelingt es mir ein paar Buzzwords zu entzaubern :-).
Unter einem Client-Server-System versteht man eine Netzwerkstruktur, bei der Dienste von einem zentralen Server angeboten werden, auf die beliebig viele Arbeitsstationen (Clients) zugreifen können. Der Server ist für die Bereitstellung des Dienstes zuständig. Der Client kann mit dem Server kommunzieren und bietet die eigentliche Benutzeroberfläche. Der Client ist ein Internetbrowser. Die Server heißen in unserem Fall Apache Webserver und MySQL-Datenbank.
Ablauf eines Zugriffs auf einer typischen CMS-Website im Internet
Um eine grobe Vorstellung von den Vorgängen hinter den Kulissen zu bekommen, sehen Sie hier eine vereinfachte Auflistung der Abläufe, um von einem Computer auf eine dynamische Website zugreifen zu können:
- Ein Benutzer stellt eine Internetverbindung über einen Provider her.
- Er ruft die gewünschte Website-Adresse (URL) im Browser auf.
- Der Browser nimmt Kontakt mit dem Webserver auf.
- Der Webserver schickt eine Anfrage an den auf dem Server installierten PHP-Sprach-Interpreter. Der ruft die CMS-PHP-Dateien auf und interpretiert sie.
- Der PHP-Interpreter fordert die benötigten Daten bei der Datenbank an.
- Der PHP-Interpreter erzeugt je nach Template HTML-Code und gibt ihn an den Webserver weiter.
- Der Webserver liefert die "Seite" bzw. den generierten Code an den Browser des Clients.
- Der Browser "entdeckt" in der ihm angelieferten Seite Verweise auf CSS- und andere Dateien (Bilder, Flash-Elemente ...) und fordert diese separat beim Webserver an.
- Während des Ladens aller benötigten Ressourcen versucht der Browser, die Seite zu "parsen" und zu "rendern", also auseinanderzunehmen und möglichst gut darzustellen.
Sehr oft stellt sich das Problem bei unseren Websites: Wohin mit den Fotos?
Fotos sind immer so eine Sache. Es sind Familienerinnerungen, Urlaubsfotos, Ebay Beschreibungen, Unfallfotos, Screenshots, etc. Manche Fotos sind für die Öffentlichkeit, manche nur für bestimmte Freunde und manche für die Famile. Früher hatte man eine grosse Kiste mit allen entwickelten Fotos und/oder jede Menge Fotoalben, die dann teilweise liebevoll gepflegt worden sind.

Abbildung 1: Fotoalbum
Foto: found-photos
In den letzten Jahren habe ich wirklich viele Varianten der Bildspeicherung durch und komme immer wieder auf Flickr zurück.



