Am vergangen Sonntag durfte ich bei der Schulung von Roland in Sachen CakePHP mit dabei sein. Das Framework interessiert mich an sich und ausserdem sehe ich es als eine Möglichkeit an, damit meine kleinen Webapplikationen neu zu zimmern. Alle Teilnehmer haben ein “nackiges” Framework erstellt und sind von dort aus gestartet. Das ist auch durchaus sinnreich und allemal besser, als wenn wir von Roland ein fertiges Päckli bekommen hätten. Wir haben zwar ein solches Paket erhalten, aber nicht um damit während der Schulung zu arbeiten, sondern um daraus einige Beispiele zu ziehen und natürlich auch für das nachträgliche Studium.
Im Vorfeld habe ich auf meinem kleine EEEPC 1000H einige Vorkehrungen getroffen. Darauf läuft ein Ubuntu 9.10. Es braucht also nicht zwingend ein Server zu sein, auch wenn das natürlich bei einer fertig gebackenen Applikation sinnreich wäre. Aber zum Entwickeln reicht also ein solch kleiner Kerl, der übrigens bloss ein Gigabyte flüchtigen Speicher besitzt.
Manchmal hätte ich aber dann doch lieber ein etwas grösseren Bildschirm gehabt, gerade bei der Ansicht der Konsole, die ab und an eine ziemlich lange “Backliste” anzeigt. Aber es ging letztlich auch so ganz gut. Ich installierte PHP, den Apache Webserver, den MySQL-Server und für mich noch optional PHPMyAdmin. Wer möchte, kann sich natürlich auch über die Konsole die nötigen Datenbanken Tabellen anlegen. Ich mag einfach lieber das GUI.
sudo apt-get install php5 php5-cli mysql-server apache2 phpmyadmin
Wichtig ist, dass beim Apache-Webserver das Modul mod_rewrite aktiviert ist. Das haben wir nach längeren Detektivarbeiten und Dank Ute herausgefunden. Auf ubuntusers.de gibt es dazu einen gesunden Wiki-Artikel. (Heisst es eigentlich einen gesunden Wiki-Artikel oder ein gesunder Wiki-Artikel?)
Anschliessend holten wir uns die aktuelle und stabile Source auf der Website von CakePHP und entpackten sie. Der Apache muss dann auf das Verzeichnis webroot im Baum des Downloads unter app zeigen. Die Datei default im Verzeichnis /etc/apache2/sites-available hat bei mir folgendes Aussehen, allerdings habe ich keine zusätzlichen virtuellen Hosts, sondern bloss eine Site erzeugt. Auch hier hat mich Ute unterstützt:
<virtualhost *:80> ServerAdmin webmaster@localhost DocumentRoot /home/roman/cakephp/app/webroot <directory /> Options FollowSymLinks AllowOverride FileInfo Options <directory /home/roman/cakephp/app/webroot> Options Indexes FollowSymLinks AllowOverride FileInfo Options Order allow,deny allow from all </directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </directory> </virtualhost>
Damit funktionierte CakePHP ganz gut. Die Installation war also recht einfach, die ersten vier kleinen Hürden betreffen die Schreibrechte auf Verzeichnissen, die sichergestellt werden müssen und der “gesalzenen Sicherheit” sind rasch erledigt. Danach kann man bereits loslassen.
Roland hat sein Projekt, das wir ansatzweise an diesem Sonntag erarbeitet haben, in das Netz gestellt, so dass jeder daran partizipieren kann. Auch das ganze Modell und die Anforderungen stehen dort bereit. Die Idee, welche sich hinter diesem Vorgehen verbirgt, soll echte OpenSource-Programmierung abbilden. Jeder von uns kann oder darf einen Teil zu diesem Projekt beitragen, bis ein fertiges Produkt entsteht. So macht “opensourcen” Spass. Ich hoffe, dass ich mir hin und wieder ein Stündchen Zeit nehmen kann, um da mitzuwirken.

Während dem Kurs sind ein paar wenige Bilder entstanden, die ich in eben jener Applikation bereitgestellt habe, die einst durch die neu zu backende Anwendung ersetzt werden soll: In meiner kleinen Bilderdatenbank. An dieser Stelle sende ich ein dickes Dankeschön an Ute und Roland für die Gastfreundschaft und für den interessanten Sonntagnachmittag! Ich komme sicherlich noch einmal auf das Thema zurück und kann dann hoffentlich etwas tiefer über Technisches berichten.
Ähnliche Artikel
- 2. Februar 2010 -- Webentwicklung mit CakePHP (8)
- 19. Mai 2008 -- WordPress auf einem Ubuntu-Server (12)
- 9. Januar 2008 -- SSL auf Apache einrichten (0)
- 2. Januar 2008 -- phpmyadmin zur MySQL-Verwaltung (9)
- 13. November 2009 -- PDF-Dateien mit PHP erzeugen (7)

