Web-Anwendungen sind Programme, die auf einem Server im Internet laufen und über einen Web-Browser bedient werden. Dazu gehören Blogs, Foren, Foto-Gallerien und Redaktionssysteme (CMS).
2. 2
Über uns
IT-Beratung, Training, Web-Design, Programmierung
Thomas Siegers ts@interwerkstatt.net
Diese Präsentation ist frei zugänglich auf:
http://www.slideshare.net/thomasjs
Dieses Werk bzw. Inhalt steht unter einer Creative Commons
Namensnennung - Weitergabe unter gleichen Bedingungen 3.0
Unported Lizenz.
Siehe mehr unter: http://creativecommons.org/licenses/by-sa/3.0/deed.de
4. 4
Motto
"Sage es mir und ich vergesse es,
zeige es mir und ich erinnere mich,
lass es mich tun und ich behalte es."
Konfuzius, chinesischer Philosoph, 551479
v. Chr.
6. 6
Statisch vs. Dynamisch
Statische Webseite
Seiten liegen als verlinkte HTML-Dateien “fertig zum Gebrauch” auf
einem Web-Server (oder sogar nur Datei-Server)
Vorteile: einfach, sicher
Nachteile: schwierig zu pflegen, nicht interaktiv
Dynamische Webseite
Inhalte sind in Datenbank (oder Textdateien) gespeichert
Web-Anwendung (WordPress) nimmt Anfrage vom Browser
entgegen,
verarbeitet die Anfrage
Inhalte aus Datenbank holen
Inhalte in Vorlagen einbauen
und liefert Webseite an Browser zurück
Vor- und Nachteile umgekehrt zur statischen Seite
7. 7
Architektur
Web Server
Datenbank
PHP-Modul
WordPress
Browser
Web-Host
1. Anfrage
Link
Formular
3. Antwort
Webseite
2. Verarbeitung
Daten holen
Webseite bauen
Linux
Apache
MySQL
PHP
8. 8
Konzept
Trennung von Inhalt und Layout
Inhalt in Datenbank oder Textdateien
Layout mit Vorlagen, templates, themes
Interaktivität
Kontaktformular, Kommentare (Blog)
Benutzerzugriffssteuerung
ACL, access control list
Erweiterte Funktionalitäten
Arbeitsabläufe, work flow
Integrierte Anwendungen
Reservierungssystem, Foto Gallery, Forum
9. 9
Datenbank
Anzahl von verknüpften Tabellen
Verknüpfung mit Hilfe von Schlüsseln
Schnelles Finden durch Indizes
Abfragesprache SQL
Client-Server Architektur
DBMS: Programm + Daten
Netzwerkfähig: DBMS auf Server im Internet
Sicherheit: Anmeldung mit Benutzer und Kennwort
Integrität: Mehrbenutzerzugriff, Transaktionssicherheit
Open Source: MySQL, PostgreSQL
Kommerziell: Oracle, MS SQL Server
10. 10
Webanwendung
Client-Server
Server: Anwendungsprogramm, Datenbank, Webserver
Client: Browser
Netzwerkprotokoll: HTTP
zustandslos Session, Cookies
Parameter: http://www.xyz.de/index.php?key1=val1&key2=val2
Aktualisierung der Webseite nicht automatisch (F5)
Seiteninhalte müssen vom Server geladen werden.
Benutzerfreundlichkeit durch JavaScript
Tip: Back-Button besser nicht benutzen
Info: Statische Webseite ist keine Webanwendung.
12. 12
Open Source
OSS – Open Source Software
Quelloffen, öffentlich zugänglich
Frage der Freiheit, nicht des Preises
Vergleich: Redefreiheit, nicht Freibier
http://www.gnu.org/philosophy/free-sw.html
Verschiedene Lizenzmodelle
GPL – GNU General Public License
13. 13
Web-Host
Shared Host
viel kostengünstiger als virtual oder dedicated host, meistens ausreichend
Vorausetzungen*
Apache 2.x + mit mod_rewrite Modul, MySQL 5.0 +, PHP 5.2.4 +
Bewertungsportale
http://www.webhostlist.de
http://www.hostsuche.de
Features
Speicherplatz, Datentransfer, Domains
MySQL, phpMyAdmin
PHP, Ruby, Python
FTP, SFTP, FTPS, SSH
E-Mail, IMAP, Web-Mail
…
*) http://wordpress.org/about/requirements/
14. 14
Sicherheit
Popularität
Lohnendes Angriffsziel
Anwendung aktuell halten
Bugs: 20% Core, 80% Plugins
Studie des BSI (Bundesamt für Sicherheit in der Informationstechnik)
Administartionsverzeichnis schützen
Rechte auf Konfigurationsdatei einschränken
Datenbankpräfix ändern
Benutzernamen des Admins ändern
Sichere Passwörter verwenden
15. 15
Migration
Dateien in Archiv komprimieren
Archiv auf neuen Host kopieren
Archiv auspacken
Datenbank in Dateien exportieren
Datei auf neuen Host kopieren
Dateien importieren
Pfade in Konfigurationsdatei anpassen
Datenbank nach alten Pfaden durchsuchen
16. 16
Domaintransfer
Genereller Ablauf
https://de.wikipedia.org/wiki/Domain-Transfer
Scenario: Providerwechsel von A nach B
Zugriff auf E-Mail sicherstellen
Zweitadresse verwenden
Account bei A eröffnen
bei B Autorisierungscode anfordern
auch genannt: AuthCode, EPP/transfer authorization key, …
bei A Domaintransfer einleiten
FAQs der Providers lesen
E-Mails von A, B und anderen* beachten und antworten
A → AuthCode, AuthCode → B,
Domain-Inhaber Validierung, Transferbestätigung
*) Domain-Registrar
17. 17
Testumgebung
LAMP
Linux – Apache – MySQL – PHP
XAMPP
Windows – Apache – MySQL – PHP – Perl
http://www.apachefriends.org/de/xampp.html
Vorteile
Geht auch ohne Netzwerk, daher schnell
Sicherheit kein Problem
Lokal Dateien kopieren und editieren
Portable Version herunterladen und auspacken
Zur Konfiguration setup_xampp.bat ausführen
Starten mit http://localhost
18. 18
Installation
WordPress in 5 Minuten installieren (englisch)
Installationsdateien
Archiv herunterladen (ZIP), auspacken und Dateien hochladen
oder besser: Archiv auf den Server hochladen und dort auspacken
Datenbank
auf dem Web-Host Datenbank anlegen
Host-Adresse, Datenbankname, -benutzer, -passwort
Konfigurationsdatei
wp-config-sample.php in wp-config.php umbenennen
Datenbank, Zeichensatz, Sortierfolge eintragen
alle Blogs mit derselben Datenbank Tabellen-Präfix ändern
„Salz“-Phrase für Schlüssel eingeben
oder, wenn möglich...
Konfigurationsdatei vom Installationsprogramm erzeugen lassen
19. 19
Installation
Installationsprogramm
Installationsprogramm im Browser starten
eigenen Benutzernamen vergeben (besser nicht admin)
Konfigurationsdatei sichern
in Web-Host Oberfläche (control panel) Rechte überprüfen
666 bedeutet, alle können die Datei wp-config.php beschreiben
Rechte in 644 ändern
.htaccess Datei anlegen
notwendig für suchmaschinenfreundliche URLs
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
20. Version aktualisieren!
20
Administration
Anmelden
www.mydomain.de/wp-login.php
Administrationsoberfläche
Dashboard
Beiträge
Medien
Seiten
Kommentare
Designs
Plugins
Benutzer
Werkzeuge
Einstellungen
Leiste oben
Links
Zur Seite
Updates
Kommentare
Neu
Profil
Optionen
Hilfe
21. 21
Plugins
Verzeichnis
http://wordpress.org/plugins/, über 25.000 Plugins
Auswahl: Beschreibung, Bewertung, letzter Update
Hinweis auf inaktive oder verlassene Plugins
Description, Installation, FAQ, Screenshots, ...
Installation
Admin-Oberfläche: Plugins > Installieren
Suchen – installieren – aktivieren
Konfiguration
eigener Menüpunkt in Administrationsoberfläche
oder in Einstellungen
oder in Plugins > Installierte Plugins > Einstellungen
oder als zusätzliche Eigenschaft in andere Funktionen integriert
Beispiel
Youtube Video einbetten
http://wordpress.org/plugins/youtube-embed-plus/
22. 22
Themes
Verzeichnis
http://wordpress.org/themes/
Suche mit Stich- oder Schlagworten (Tags)
Mobil-freundlich
Responsive design: Layout passt sich der Bildschirmgröße an.
http://wordpress.org/themes/responsive
Premium-Themes
http://wordpress.org/themes/commercial/
http://www.google.com/search?q=wordpress+premium+themes&lr=lang_de
Installation
Admin-Oberfläche: Design > Themes > Theme installieren
Aktivieren, Anpassen, evtl. Einstellungen
Konfiguration
Theme , Widgets, Menüs