L.A.M.P. - Eine Alternative zu MS Active Server Pages. Henning P. Schmiedehausen <hps@intermeta.de>



Ähnliche Dokumente
PHP Kurs Online Kurs Analysten Programmierer Web PHP

Step by Step Webserver unter Windows Server von Christian Bartl

EIDAMO Webshop-Lösung - White Paper

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Administrator Handbuch

Lokale Installation von DotNetNuke 4 ohne IIS

Das Typo3 Backend. Demo Website: Frontend: Backend: von Timo Schmidt

Einleitung: Frontend Backend

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Softwaren Engineering I

Allgemeines zu Datenbanken

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Installationsanleitung. Novaline Personal Abrechnung. Personal.One

Notes2DB. Machen Sie Ihre Notes-Datenbanken relational! Vortragender: Mag. Ing. Johannes Fiala, Fiala Web Development GmbH

easylearn Systemvoraussetzungen

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

SharePoint Demonstration

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Das Content-Management-System OpenCms im Vergleich mit TYPO3 und Joomla. Seminarvortrag von Wolfgang Neuß

Einführung in PHP. (mit Aufgaben)

Dynamische Webseiten mit PHP 1

HTTP-Server. Frank Wübbeling Universität Münster

Inhaltsverzeichnis. Beschreibung. Hintergrund

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

InfoPoint vom 9. November 2011

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Was ist neu in Sage CRM 6.1

DOKUMENTATION PASY. Patientendaten verwalten

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Herzlich willkommen im Modul Web-Engineering

Internetanbindung von Datenbanken

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

S-Verein VereinshomepagePLUS

Inhalt und Ziele. Homepage von Anfang an. Herzlich Willkommen! HTML Syntax; grundlegende Grafik- und Bildbearbeitung für das Internet;

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: Übung WS 2014/2015

Technologie ist Handwerk, Software was man draus macht.

Mail-Server mit GroupWare

Installationsanleitung dateiagent Pro

1. Loggen Sie sich mit Ihrem Benutzernamen in den Hosting-Manager (Confixx) auf Ihrer entsprechenden AREA ein. Automatische Wordpress Installation

Für die Bearbeitung von MySQL-Datenbanken ist das Administrationswerkzeug phpmyadmin integriert.

Einsatzbedingungen FAMOS 3.10

Adminer: Installationsanleitung

PCC Outlook Integration Installationsleitfaden

Systemvoraussetzungen

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Präsentation Von Laura Baake und Janina Schwemer

OP-LOG

Version 4.0. service.monitor. Systemanforderungen

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

Grundlagen der Informatik 2

Mini-Dokumentation zur Bearbeitung der Website massweiler.de

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Xampp-Installation und Konfiguration. Stefan Maihack Dipl. Ing. (FH) Datum:

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Web Space Anbieter im Internet:

Planung für Organisation und Technik

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: CF Carola Fichtner Web-Consulting

Databear Software Installer

doubleslash Net-Business GmbH

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

SEMINAR Modifikation für die Nutzung des Community Builders

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Installationsanleitung

TYPO3 Installation und Konfiguration

Sehr geehrte Faktor-IPS Anwender,

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

:: Anleitung Hosting Server 1cloud.ch ::

André Maurer Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

Ihr CMS für die eigene Facebook Page - 1

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

'DV8QWHUQHKPHQI U SURIHVVLRQHOOH,7/ VXQJHQ

Datenbanksysteme SS 2007

Informatik für Ökonomen II Übung 0

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Hochschule Darmstadt Fachbereich Informatik

Einführung in die Scriptsprache PHP

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Schulung Marketing Engine Thema : Einrichtung der App

Upgrade von Starke Praxis

3. Stud.IP-Entwickler-Workshop 2. Juni 2006 Workshop 3c: Stud.IP-Enterprise-Edition André Noack, Frank Elsner

FreieSoftwareOG. Creative Commons und freie Lizenzen- Ein kurzer Überblick

KEIL software. Inhaltsverzeichnis UPDATE. 1. Wichtige Informationen 1.1. Welche Änderungen gibt es?

Online-Publishing mit HTML und CSS für Einsteigerinnen

Transkript:

L.A.M.P. - Eine Alternative zu MS Active Server Pages <hps@intermeta.de>

Vorbemerkungen Dieser Vortrag beschäftigt sich mit L.A.M.P. MS ASP wurde nur erwähnt, damit Sie in den Vortrag kommen. Dieser Vortrag beschäftigt sich mit PHP. Nicht mit PHP3. Aktuell ist PHP Version 4. Und PHP3, Version 4 klingt blöd. Dieser Vortrag ist weitestgehend ideologiefrei. Weder wird freie Software in den Himmel gelobt noch auf kommerzielle Software eingeschlagen. Auch nicht auf Microsoft. KNF Kongress 2000 / 26.11.2000 / 2 von 27

Was ist L.A.M.P.? L.A.M.P. besteht aus vier Komponenten: L: Linux als Betriebsystem A: Apache als Webserver M: MySQL als Datenbank P: PHP als Scriptsprache Erzeugen, Speichern und Ausliefern von Daten KNF Kongress 2000 / 26.11.2000 / 3 von 27

Was kostet L.A.M.P.? Alle Komponenten von L.A.M.P. sind freie Software Linux und MySQL: GNU GPL (General Public License) Apache: Apache License PHP: PHP License (entspricht in etwa der Apache License) Für die Installation und Benutzung sind KEINE Lizenzgebühren (Geld) zu bezahlen KNF Kongress 2000 / 26.11.2000 / 4 von 27

Warum L.A.M.P.? (I) Moderne Websites haben nur noch wenige statische Seiten Selbst einfache Webseiten besitzen aktive Anteile: Kopfzeilen Fußzeilen Änderungsdatum Versionen Apache bietet für einfache Anforderungen Server Side Includes (SSI) KNF Kongress 2000 / 26.11.2000 / 5 von 27

Warum L.A.M.P.? (II) Server Side Includes können keine komplexeren Entscheidungen treffen. Aktive Inhalte auf Webseiten sollen über einfaches Einfügen von Text hinausgehen: personalisierte Websites Warenkörbe Feedback- oder Diskussionsforen usw. Große Sites sind Datenbanken mit Web- Frontend KNF Kongress 2000 / 26.11.2000 / 6 von 27

Alternativen zu L.A.M.P. (I) Linux: *BSD, Solaris (oder jedes andere Unix), Windows NT Apache: Roxen WebServer, Zeus, Netscape (iplanet) Server, IIS MySQL: PostgreSQL, Adabas, Informix, Oracle PHP: perl, Python, Java, Visual Basic, jede beliebige andere Programmiersprache KNF Kongress 2000 / 26.11.2000 / 7 von 27

Alternativen zu L.A.M.P. (II) MS Active Server Pages (nur Windows) ColdFusion (proprietär) eperl (seit 1998 nicht weiterentwickelt) Java Server Pages (JSP) KNF Kongress 2000 / 26.11.2000 / 8 von 27

Linux Linux 0.01 wurde Herbst 1991 freigegeben Steht stellvertretend für viele freie Betriebsysteme LAMP klingt besser als FAMP oder NAMP Linux kann heutzutage von jedermann aus der Schachtel gezogen und installiert werden professioneller Support verfügbar Linux hat den cooleren Namen - Linus Torvalds KNF Kongress 2000 / 26.11.2000 / 9 von 27

Apache Entstand 1995 aus einer Patchsammlung für den NCSA Webserver ( a patchy server ) Laut unabhängigen Zählungen der meistbenutzte Webserver im Internet Für fast jede Plattform verfügbar (auch exotische wie Windows NT) einfach durch Module erweiterbar industrial strength Webserver correctness more important than speed - Dean Gaudet KNF Kongress 2000 / 26.11.2000 / 10 von 27

MySQL Seit ca. 1992 verfügbar Relationales Datenbankmanagementsystem Unterstützt die Verwaltung mehrerer verschiedener Datenbasen gleichzeitig mehrstufiges Zugriffs- und Rechtemodell Unterstützt nur SQL Subset für Abfragen optimiert, somit gut für Webapplikationen geeignet KNF Kongress 2000 / 26.11.2000 / 11 von 27

PHP Entstand Mitte 1995 als personal homepage tool (Rasmus Lerdorf) wurde gezielt für Webapplikationen entwickelt Als Modul für Apache (und viele andere Webserver) implementiert eigene Syntax mit Anlehnungen an C++ und perl Kernstück des LAMP Systems KNF Kongress 2000 / 26.11.2000 / 12 von 27

Was ist L.A.M.P. nicht? Auspacken, Einschalten, Los L.A.M.P. ist ein Framework für Applikationen und Daten, keine fertige Sammlung von Modulen Content Management System (CMS) keine silver bullet KNF Kongress 2000 / 26.11.2000 / 13 von 27

Microsoft Active Server Pages Visual Basic in Webseiten eingebettet Ursprünglich nur für Microsoft IIS auf WIN32 verfügbar Enge Verknüpfung mit OLE und IIS Session-Handling und Persistenz implementiert Inzwischen einige Implementationen von ASP für Unix verfügbar (Chili!Soft ASP, InstantASP) Verschiedene IDE verfügbar KNF Kongress 2000 / 26.11.2000 / 14 von 27

Gute Eigenschaften von PHP Vollständige Programmiersprache Integration direkt in HTML Seiten Komplexe Elemente (Strings,Objekte,...) vorhanden Modifikation der HTTP Header möglich Session-Handling und Persistenz sind seit PHP 4 Bestandteil der Sprache KNF Kongress 2000 / 26.11.2000 / 15 von 27

...und schlechte PHP hat einen ähnlichen Wildwuchs im Sprachumfang wie perl (zumindest ist aber noch kein die unless not open möglich) Über 1400 (!) einzelne Funktionen Oft kein Konzept erkennbar (beispielsweise beim Datenbankzugriff) Weder funktionale noch objektorientierte Programmierung wird erzwungen Keine Trennung von Form und Funktion Keine IDE, nur rudimentärer Debugger KNF Kongress 2000 / 26.11.2000 / 16 von 27

Ein einfaches Beispiel Datum und Uhrzeit in eine Webseite einfügen: <HTML> <HEAD> <TITLE>Datum und Uhrzeit einfügen</title> </HEAD> <BODY BGCOLOR= white > <H1>Datum und Uhrzeit einfügen</h1> Aktuelle Uhrzeit und Datum: <?php echo date();?> </BODY> </HTML> KNF Kongress 2000 / 26.11.2000 / 17 von 27

PHP Tags <SCRIPT LANGUAGE= php >... </SCRIPT> <?...?> <?php...?> ASP kompatibel: <%... %> und <%= $variable %> (Ausgabe eines Variablenwertes) KNF Kongress 2000 / 26.11.2000 / 18 von 27

PHP in einer Webseite Es dürfen beliebig viele PHP Blöcke vorkommen Die Seite wird von oben nach unten interpretiert, nicht kompiliert Die Ausgabe eines PHP Blocks wird direkt in die HTML Seite eingefügt PHP Code kann vom HTML durch require und include getrennt werden KNF Kongress 2000 / 26.11.2000 / 19 von 27

Mehrere PHP-Blöcke [... Header...] <?php srand((double)microtime()*1000000); $test = rand(1,99);?> Die Zufallszahl <?php echo $test;?> ist <?php if(($test % 2) == 0) {?> gerade <?php } else {?> ungerade <?php }?> [... Footer...] KNF Kongress 2000 / 26.11.2000 / 20 von 27

PHP und MySQL Datenbankverbindungen können persistent sein, d.h. mehrere PHP Programme können sich eine Datenbankverbindung teilen PHP verfügt für Zugriffe auf MySQL Datenbanken über etwa 35 Funktionen SQL Abfragen können direkt in PHP Datentypen gespeichert werden (mysql_fetch_array,mysql_fetch_object) Das Datenbankinterface ist MySQL spezifisch KNF Kongress 2000 / 26.11.2000 / 21 von 27

Datenbankabfrage in PHP [...] <TABLE> <?php $link = mysql_connect( dbserver, dbuser, dbpasswd ); $res = mysql_query( mydatabase SELECT name FROM userdb, $link); while($row = mysql_fetch_array($res)) {?> <TR><TD>Benutzername:</TD><TD> <?php echo $row[0];?></td></tr> <?php } mysql_free_result($res); mysql_close($link);?> </TABLE> [...] KNF Kongress 2000 / 26.11.2000 / 22 von 27

Applikationen in PHP IMP Webmail System Keystone (Workgroup und Troubleticket System) phpcms (Content Management System) phpmyadmin (MySQL Administration) phpchat (Chat Server) phppolls (Voting Booth) KNF Kongress 2000 / 26.11.2000 / 23 von 27

Referenzen (Quelle: The Audi TT Website (Quelle: www.php..php.net) White House 200th anniversary site RedHat Software Neckermann Big Brother - The TV Show SAT.1 ComDirekt Bank NASA Spiegel Online KNF Kongress 2000 / 26.11.2000 / 24 von 27

Fazit L.A.M.P. ist ein System zum Betrieb von Websites mit aktiven Inhalten Apache und Linux als Industriestandards bieten ein solides Fundament PHP als mächtige Scriptsprache ermöglicht die Erstellung von komplexen Anwendungen MySQL bietet eine performante und günstige Lösung zum Speichern von Daten für Webapplikationen KNF Kongress 2000 / 26.11.2000 / 25 von 27

Fragen und Diskussion Vielen Dank für Ihre Aufmerksamkeit ftp:// ://ftp.hometree.net/pub/kongress2000/lamp.ppt KNF Kongress 2000 / 26.11.2000 / 26 von 27