WebProvider-Mirror

Einrichtung einer Web Entwicklungs-Umgebung

In jedem größeren Web und in allen Paketen von Web-Programmen wird moderne IT-Technologie eingesetzt. Professionelle Provider bieten dazu alle Resourcen. Die Entwicklung eines komplexen Webs auf einem entfernten Server ist sehr aufwändig, langsam und teuer. Deshalb richtet man am eigenen Server eine möglichst ähnlich reagierende Entwicklungs-Umgebung ein. Diese Seite zeigt dazu einige Beispiele.
Server Webserver (Apache), Fileserver (Samba)
Voraussetzungen und Ziele Einfache Varianten, Provider-Mirror
User Anlegen eines passenden Linux-Users
Datei-System Anlegen des Webspace
Apache Webserver Ergänzung der Apache - Konfiguration
Samba Fileserver Ergänzung der Samba - Konfiguration
FTP Server Upload der Web-Dateien
MySQL Server Ergänzung des Datanbank-Servers
Verwandte Themen LAMP-Server (WAMP-Server), Apache Webserver, Samba Fileserver, pureFTP Server, MySQL Datenbank Server

Voraussetzungen, Zielsetzung

Wer ein eigenes Web im Internet betreibt und dazu die Dienstleistung eines Web-Providers beansprucht, möchte eigene Webseiten herstellen, testen und zur weltweiten Verwendung auf den Webserver des Providers laden. Zur Einrichtung einer bequemen Entwicklungs-Umgebung sind viele Varianten möglich.
Einige Beispiele werden hier vorgestellt.

Online Web-Editor

Wenn sie ihre ersten Webseiten erstellen, dann ist ein rascher Erfolg das vorläufig einzige Ziel.
Einige FreeWeb-Provider bieten Live Online-Editoren an. Das sind Werkzeug (tool)-Webseiten zur Herstellung eigener Webseiten.
Voraussetzung:
Ein Browser-Programm auf einem PC mit Internet-Zugang, Anmeldung bei einem Web-Provider, der ein derartiges Service anbietet.

Diese Variante eignet sich zur Herstellung einer einfachen Startseite ("Homepage"). Sie ist langsam, aufwändig und ermöglicht keinen Test am eigenen PC.
Sinnvoll - wenn überhaupt - nur für ihre allererste Webseite.
Tipp: Halten sie die erzeugte Webseite so einfach wie möglich.

Web-Editor

Wenn sie mehrere eigene Webseiten erstellen wollen, dann brauchen sie dazu ein WebEditor-Programm.
Solche Programme gibt es kommerziell oder als Freeware für alle Betriebssysteme.
Arbeitsweise:
Sie erzeugen und testen Webseiten am eigenen PC, und kopieren fertige Seiten per Upload auf den Webserver ihres Web-Providers.

Web-Verzeichnis
Legen sie ein eigenes Verzeichnis (Ordner) für alle im Web verwendeten Dateien an, z.B. (Linux, Windows):
/home/ich/web
C:\web
Tipp: Verwenden sie für ihre Webseiten nur Dokumente aus diesem Verzeichnis (oder einem Unter-Verzeichnis). Wenn sie z.B. ein Bild einsetzen, dann kopieren sie dieses Bild vorher in ihr Web-Verzeichnis.
Wenn sie Dateien aus einem beliebigen anderen Verzeichnis ihres PC verwenden, dann scheinen ihre Webseiten am eigenen PC zu funktionieren, nach dem Upload werden diese Dateien jedoch nicht angezeigt.

Tipp: Geben sie vor jeder anderen Arbeit ihrem Web-Editor den Pfad zu ihrem Web-Verzeichnis bekannt. Verwenden sie dazu Menü-Befehle wie z.B. (Neues) Web anlegen, Web-Site anlegen.
Erst danach kann ihr Web-Editor Links und Bilder in ihren Webseiten korrekt verwalten !

Start-Seite
Erzeugen sie eine Start-Webseite. Ihr Web-Provider verlangt dafür einen genau festgelegten Datei-Namen. Wenn sie den Datei-Namen nicht kennen oder nicht finden, dann versuchen sie index.html, index.htm, start.htm, z.B.
/home/ich/web/index.html
C:\web\index.htm
Tipp: Alle anderen Datei-Namen sind (in Grenzen) frei wählbar, einzig der Name der Start-Datei ist vom Provider festgelegt.

Tipp: Verwenden sie für alle Verzeichnisse und Ordner ihres Webs web-sichere Namen:
Die Namen enthalten nur kleine Buchstaben, Ziffern und das Underline-Zeichen.
Die Namen enthalten keine großen Buchstaben, Umlaute, Sonderzeichen, Leerzeichen, ...
Die Namen beginnen mit einem kleinen Buchstaben.
Wenn sie diese Faustregeln nicht einhalten, dann scheinen ihre Webseiten am eigenen PC zu funktionieren, nicht jedoch nach dem Upload.

Test
Öffnen sie die selbst erzeugte Startseite index.html durch Doppelklick oder mit Befehl Datei | Öffnen eines Browsers.

Upload
Nach erfolgreichem Test ist die Webseite bereit zum Upload ↓

Upload

Jede selbst erzeugte Webseite wird zuerst am eigenen PC getestet. Wenn die Seite im Test korrekt angezeigt wird, und alle darin evtl. enthaltenen Links funktionieren, können sie die Datei auf den Webserver ihres Providers kopieren (Upload).

Werkzeug-Webseiten
Freeweb-Provider bieten meist eigene Werkzeug-Webseiten für den Upload an. Suchen sie nach Stichworten wie Tools, Management, Filemanager, Upload, ...
Achten sie beim Upload darauf, dass am Server des Providers eine genaue Kopie ihres Web-Verzeichnisses entsteht: Die Namen aller Dateien müssen genau gleich lauten. Wenn sie Unter-Verzeichnisse verwenden, dann müssen deren Namen und Pfade ebenfalls genau gleich lauten wie im Original auf ihrem PC.

Online-Test
Nach jedem Upload folgt der Live-Test. Ihre Browser Adress-Zeile muss dazu mit http:// beginnen, z.B.
http://www.provider.com/meinweb
(ersetzen sie meinweb durch ihren Web-Namen bei diesem Provider).
Wenn die Startseite angezeigt wird, dann nehmen sie die Adresse in die Liste ihrer Favoriten (Bookmarks) auf.

FTP
Professionelle Provider bieten zum Upload FTP (File Transfer Protocol) an. Dazu brauchen sie ein FTP Client-Programm (kommerziell oder Freeware).
Starten sie das FTP-Programm und suchen sie eine Möglichkeit zum Einstellen der Konfiguration für ihr Web (Site), Stichwort Site Manager.
Tragen sie die Zugangs-Daten (FTP-Adresse, Name, Passwort) ein, so wie von ihrem Provider angegeben und stellen sie die Verbindung her (Connect).
Jedes FTP-Programm zeigt 2 Haupt-Fenster an: Ihr Verzeichnis am entfernten Provider-Server und ein Verzeichnis an ihrem lokalen PC. Stellen sie die Fenster sinnvoll ein, sodass man in beiden Fenstern genau äquivalente Inhalte sieht.
Dateien und Verzeichnisse werden kopiert, indem man sie doppel-klickt oder markiert und Befehle (Upload) erteilt.
Tipp: Kopieren sie immer nur vom eigenen PC zum Provider, nicht umgekehrt.

Web-Editor:
Professionelle Web-Editor Programme bieten eingebaute FTP-Funktionen. Auch in diesem Fall werden die FTP Anmelde-Daten einmalig eingetragen. Danach werden geänderte oder neu erstellte Webseiten automatisch oder auf Befehl per FTP auf den Server ihres Providers kopiert.
Beachten sie bei jeder automatisch durchgeführten Synchronisation die genaue Zeit-Einstellung ↓ ihres PC !

Webserver

Für höhere Ansprüche wird ein eigener Webserver eingerichtet.
Dazu wird nach Möglichkeit ein eigenen Server-PC verwendet (ältere Modelle genügen völlig) und im lokalen Netzwerk verbunden.
Notfalls kann man die gesamte Server-Software (kostenlos) auch am eigenen Arbeits-PC installieren.
Details zur Installation des Apache Webservers auf Linux oder Windows

Ein eigener Webserver bietet weit mehr als nur realistische Test-Bedingungen:
Ihr Webserver verwaltet die gesamte im eigenen Netzwerk benötigte Information (auf Webseiten).
Sie können nicht nur statische Webseiten verwenden sondern auch Script-Programme (Perl, PHP, Python,...) und damit auch umfangreiche Programm-Pakete installieren (z.B. Wiki, Content Management (CMS), Groupware, Projektverwaltung, Terminverwaltung, ...)

Mirror-Web

Für gehobene und professionelle Ansprüche wird ein eigener Entwicklungs-Server eingerichtet.
Der Server kann unabhängig von diesem Einsatz auch andere (Routine)-Aufgaben übernehmen. Auf einem Standard LAMP Server (Linux + Apache + MySQL + Samba...) kann man mehrere Entwicklungs-Webs einrichten. Jedes davon kann einzeln so konfiguriert werden, dass die Bedingungen des jeweiligen Web-Providers so genau wie möglich simuliert werden.
Das ermöglicht bequeme Entwicklung und realistische Test-Bedingungen, insbesondere für komplexe Webs.

Voraussetzung am eigenen Server-PC:
Ein Standard LAMP Server ist auf einem PC ihres lokalen Netzwerks eingerichtet.
Details zum Thema LAMP-Server (Jede professionelle Linux-Distribution enthält alle LAMP-Konponenten).
Alternative: Im Internet werden komplett eingerichtete und konfigurierte LAMP-Server als Virtuelle PC (appliances) angeboten. Das erfordert ein erhebliches Download-Volumen (2..4 GB), läuft jedoch sofort und erspart die für AnfängerInnen umständliche Installation und Konfiguration aller Komponenten.
Die Installation auf Windows (WAMP) ist prinzipiell möglich. Der Aufwand ist allerdings bedeutend größer, da alle Komponenten installiert werden müssen. Im Ergebnis lässt sich diese Lösung niemals so gut an die Provider-Bedngungen anpassen wie ein Linux-System.

Voraussetzung beim Provider
Die beschriebene Variante ist nur für professionelle Provider sinnvoll. Typische Details:
Sie verfügen über eine eigene Domain
Ihr Provider bietet FTP-Zugang
Ihr Provider bietet Script-Ünterstützung (Perl, PHP, ...)
Datenbank-Unterstützung (MySQL) ist für die meisten größeren Pakete von Web-Programmen notwendig.

Alle weiteren Kapitel dieser Seite demonstrieren ein Beispiel für eine derartige Konfiguration:
Anmeldung als User root (Voraussetzung für Administrator-Arbeiten).)
Einrichtung eines Linux-Users
Einrichtung des Webs im Dateisystem
Konfiguration des Apache Webservers
Konfiguration des Samba Fileservers
Konfiguratioin des FTP-Servers
Konfiguratioin des MySQL Datenbank-Servers

User

Ihr Provider hat sie als Linux-User angelegt. Zur Simulation vergleichbarer Bedingungen sollten sie am eigenen Server einen User mit dem gleichen Namen anlegen.
Die meisten Provider verwenden die Domäne oder einen davon abgeleiteten Namen als User-Namen.
Sie verfügen über eine Domain mydom.com, die vom Provider verwaltet wird.
Ihr Username lautet wahrscheinlich auf mydom.com, mydom_com oder ähnlich.
Legen sie am eigenen Server einen Linux User mit dem gleichen Namen an. Ein Punkt im Namen ist kein Problem.
Vergeben sie das gleiche Passwort wie für den Account beim Provider.
Alle übrigen User-Daten werden sinngemäß möglichst ähnlich zu den Provider-Verhältnissen eingestellt.
Auf SuSE Linux verwenden sie YAST2 | Sicherheit und Benutzer | Benutzer bearbeiten und anlegen

Dateisystem

home-Verzeichnis

Wenn der User ↑ korrekt angelegt wurde, dann sollte für diesen User bereits ein home-Verzeichnis existieren, z.B.
/home/mydom.com
Dieses Verzeichnis wird dem Verzeichnis am Provider-Server möglichst genau nachgebaut.

Wenn sie mit FTP zum Provider verbinden, dann wird im entfernten Verzeichnis das genau korrespondierende Verzeichnis am Provider-Server angezeigt. So erfahren sie, welche Dateien und Verzeichnisse sich darin befinden.

Simulation des Provider-Dateisystems

Im home-Verzeichnis befinden sich meist die beiden Sub-Verzeichnisse cgi-bin und ein Web-Verzeichnis, z.B. www oder htdocs
Erstellen sie Verzeichnisse mit genau gleichen Namen und löschen sie Verzeichnisse und Dateien, die im Provider-Verzeichnis nicht enthalten sind - Mit Ausnahme von Dateien, deren Name mit einem . Punkt beginnt (werden für interne Zwecke verwendet).

# cd /home/mydom.com
# ls
cgi-bin
www

Erstellen sie im Web-Verzeichnis eine Minimal-Webseite, z.B.
/home/mydom.com/www/index.html

Die Zugriffsrechte werden sinnvoll eingestellt, z.B. mindestens mit Lese- und Schreib-Zugriff für den User mydom.com

Test

Melden sie sich mit dem Namen des Users an ihrem eigenen Server-PC an, z.B. mit
Name = mydom.com
Passwort = geheim

Ergebnis:
Sie sollten sich in ihrem home-Verzeichnis befinden. Versuchen sie, eine neue Datei anzulegen und sie danach wieder zu löschen - das sollte möglich sein.

SSH

Der gleiche Test sollte von jedem anderen PC im LAN möglich sein, mindestens jedoch von ihrem Arbeits-PC.
Dazu verbinden sie sich mit SSH (Secure shell) mit ihrem Server. Auf Windows verwenden sie z.B. das ausgezeichnete Freeware-Programm putty

Apache Webserver

Ihr Apache Webserver sollte bereits funktionsfähig eingerichtet und getestet sein.
Die laufende Standard-Konfiguration wird nicht geändert, sondern ergänzt.
Der Server verwendet für Webseiten und CGI-Programme meist diese Verzeichnisse:
/srv/www/htdocs
/srv/www/cgi-bin

Verzeichnis für eigene Konfiguration

Die Konfiguration des Webservers ist in einer oder mehreren Text-Dateien in diesem Verzeichnis festgelegt:
/etc/apache2
Die Original Konfigurations-Dateien werden so wenig wie möglich geändert, am besten gar nicht. (Das bewährt sich spätestens beim nächsten Update).
Alle eigenen Änderungen und Ergänzungen sollten sich in einem getrennten Verzeichnis befinden, z.B. in
/etc/apache2/my_conf
In der Standard-Konfiguration wird lediglich der Pfad zu diesem Verzeichnis eingetragen.

Auf SuSE Linux tragen sie das Verzeichnis der eigenen Konfigurations-Dateien in diese Text-Datei ein:
/etc/sysconfig/apache2
Diese Datei steuert die automatische Erzeugung (!) der Apache Konfigurations Dateien. Sie ist gut dokumentiert.
Typische Eintragung:
APACHE_CONF_INCLUDE_DIRS = "/etc/apache2/my_conf/*.conf"

Wenn die Apache Konfiguration nicht automatisch sondern manuell eingestellt wird, dann wird eine äquivalente Anweisung in die Standard Konfiguratiions-Datei eingetragen:
/etc/apache2/httpd.conf

Erzeugen sie eine Sicherungs-Kopie dieser Datei, öffnen sie die Text-Datei mit einem Editor und fügen sie am Ende diese Zeile an:
Include /etc/apache2/my_conf/*.conf

Bei korrekter Einstellung werden alle Dateien *.conf, die sich im angegebenen Verzeichnis befinden, bei der Apache Konfiguration berücksichtigt.
Zur besseren Übersicht wird in jede dieser Dateien nur eine zusammengehörende Gruppe von Anweisungen eingetragen.
Mit dem nächsten Apache Restart wird diese Konfiguration angewendet:
# /etc/init.d/apache2 restart

Konfigurations-Datei

Erzeugen sie in ihrem Verzeichnis für eigene Apache Konfiguration ↑ eine Text-Datei zur Konfiguration des hier vorgestellten Webs, z.B.
/etc/apache2/my_conf/mydom.conf

ScriptAlias
Damit wird jenes Alias definiert, welches sie später in der Browser-Adresszeile für CGI-Programme verwenden können wie
http://myserver/mydom.com/cgi-bin/test.pl
Das CGI-Verzeichnis ist normalerweise getrennt von allen übrigen Webseiten angelegt. Im nachfolgenden <Directory>-Block wird dieses Verzeichnis konfiguriert.
Details dazu finden sie im Apache-Manual ihres eigenen Webservers:
http://myserver/manual
Im Beispiel wurde der Zugang auf die Mitglieder des eigenen LAN eingeschränkt (Allow). Das gilt nur für den Test und wird vom Provider natürlich nicht verwendet.
Details zu IP-Adressen und Masken

Alias
Damit wird jenes Alias definiert, welche sie später in der Browser-Adresszeile für alle gewöhnlichen Webseiten verwenden, z.B.
http://myserver/mydom.com/index.html
Tipp: Dieses Alias wird erst nach dem ScriptAlias definiert, da es mit den gleichen Zeichen beginnt. Es wird nur für jene Anfragen verwendet, für welche das vorher geprüfte ScriptAlias nicht zutrifft.
Inhalt der Text-Datei mydom.conf (Beispiel):
# Konfiguration von mydom.com

ScriptAlias /mydom.com/cgi-bin /home/mydom.com/cgi-bin
<Directory /home/mydom.com/cgi-bin>
Options +ExecCGI -Includes
Order deny,allow
Deny from All
Allow from 192.168.0.0/24
</Directory>

Alias /mydom.com /home/mydom.com/www
<Directory /home/mydom.com/www>
Order deny,allow
Deny from All
Allow from 192.168.0.0/24
AllowOverride All
</Directory>

Webseiten-Test

Nach Konfiguration und Apache Restart wird getestet, ob der Server eine gewöhnliche statische Webseite korrekt anzeigt.
Dazu wird eine HTML-Datei im Web-Verzeichnis angelegt, z.B.
/home/mydom.com/www/index.html
Tragen sie diese Adresse am Browser eines beliebigen PC ihres Netrzwerks ein:
http://myserver/mydom.com
http://myserver/mydom.com/index.html
Ersetzen sie myserver durch Name oder IP-Adresse ihres Webservers und mydom.com durch den Namen ihrer Domäne.

Beispiel für die Text-Datei index.html
<html>
<head>
<title>mydom.com</title>
</head>
<body>
<h1>Hier ist mydom.com !</h1>
</body>
</html>

Virtueller Server

Ihr eigener Webserver lässt sich als Virtueller Server so einrichten, dass er ihr Web mit dieser Adresse anzeigt:
http://www.mydom.com

In diesem Fall können sie allerdings nur mehr schwer zwischen ihrem eigenen Test-Server und dem echten Internet-Server ihres Providers unterscheiden.
Daher wird diese Variante hier nicht vorgestellt.

CGI-Test

Wenn die Anzeige statischer Webseiten funktioniert, wird die Funktion von CGI-Programmen überpfüft.
Dazu wird eine Text-Datei im CGI-Verzeichnis angelegt, z.B.
/home/mydom.com/cgi-bin/test.pl
Tragen sie diese Adresse am Browser eines beliebigen PC ihres Netrzwerks ein:
http://myserver/mydom.com/cgi-bin/test.pl
Ersetzen sie myserver/mydom.com sinngemäß.
Beispiel für die Text-Datei test.pl
#!/usr/bin/perl
use POSIX;
print "Content-Type: text/html\n\n";
print "<html>\n";
print "<h1>Perl-CGI</h1>\n";
$dt=strftime("%H:%M:%S",localtime(time());
print "$dt\n";
print "</html>\n";

Samba Fileserver

Ein Samba Fileserver ermöglicht von allen Windows-PC (des lokalen Netzwerks) den Zugang zu ausgewählten Verzeichnissen des Linux-Servers.
Der Samba Server ist in allen professionellen Linux Distributionen enthalten und kann kostenlos aus dem Internet geladen werden.
Voraussetzung für das hier vorgestellte Beispiel:
Ein Samba-Server ist installiert, konfiguriert und getestet.
Es ist praktisch, mehrere unterschiedlich konfigurierte "Shares" für verschiedene Zwecke einzurichten.
Jedes Share kann von einem dazu berechtigten Windows-User als "Netzlaufwerk" wie ein Volume (Festplatte) des eigenen PC verwendet werden.
Details zum Samba-Server
Zur Entwicklung eines Webs wird das betreffende Web-Verzeichnis des Servers als Share eingerichtet.
Dafür sind verschiedene Varianten möglich.
Es ist etwas schwieriger, nachvollziehbare Beispiele für Samba anzugeben. Die Funktion hängt stark davon ab, wie der Abschnitt [global] ihrer Konfiguration eingestellt ist.
Konsultieren sie im Zweifel das ausführliche Manual oder studieren sie eines der Konfigurations-Beispiele.

Konfigurations-Datei

Die Konfiguration ist in dieser Datei festgelegt:
/etc/samba/smb.conf
Kontrollieren sie zunächst genau die Anweisungen des Abschnitts [global], die auf alle folgenden Shares angewendet werden.
In allen nachfolgenden Shares werden nur jene Anweisungen eingetragen, die sich von der globalen Konfiguration unterscheiden.
Das Beispiel rechts zeigt eine Konfiguration für ein Share mit dem Namen mydom.com
Das Share wird ausschließlich für den gleichnamigen User mydom.com freigegeben, der sich von einem PC des eigenen LAN anmelden muss.
Diese Variante ist für zahlreiche User-Webs etwas umständlich, jedoch einfach zu durchschauen und individuell zu konfigurieren.

Ausschnitt der Text-Datei smb.conf
[domain_com]
path = /home/domain.com
valid users = domain.com
hosts allow = 127.0.0.1 192.168.0.0/24
hosts deny = 0.0.0.0/0
inherit acls = Yes
writeable = Yes
read only = No
Dieser Text wird am Ende der Datei angefügt.

home-Verzeichnis

Ein Share kann entweder ausdrücklich eingerichtet (Beispiel ↑ oben) oder automatisch konfiguriert werden (rechts → ).

Beispiel: Samba erhält eine Anforderung für ein nicht konfiguriertes Share erhält, z.B. diese Windows-Anforderung im UNC-Format:
\\MyServer\mydom.com
In diesem Fall prüft Samba, ob es einen User ↑ mit dem angeforderten Share-Namen mydom.com gibt.
Wenn ja, wird das Passwort geprüft und bei Erfolg das Share im home-Verzeichnis des Users eingerichtet.
Diese Variante funktioniert für beliebig viele User. Allerdings sollten alle vom System automatisch angelegten (System)-User davon ausgenommen werden.
Ausschnitt der Text-Datei smb.conf
[homes]
Comment = Home Directories
valid users = %S,%D%w%S
browseable = No
read only = No
inherit acls = Yes

Die Wirkung ist sinngemäß gleich wie im Einzel-Beispiel ↑ oben, wird jedoch auf alle eingetragenen Linux-User angewendet.

Windows-Passwort

Damit eine der vorgestellten Varianten funktioniert, muss für jeden User sein Windows-Passwort eingerichtet werden. Dazu wird das Programm smbpasswd verwendet, welches in jeder Samba-Installation enthalten ist.
Linux Shell-Konsole:
# smbpasswd -a mydom.com
New SMB password: geheim
Retype password: geheim
Die Wirkung kann in dieser Datei kontrollieren:
/etc/samba/smbpasswd
Hier sind die Samba-User (mit dem Einweg-codiertem Passwort) eingetragen.

Windows Netzlaufwerk

Nach Einrichtung des Shares kann das Web-Verzeichnis von jedem berechtigten Windows-User verwendet werden:
Arbeitsplatz öffnen
Menü Extras | Netzlaufwerk verbinden
Laufwerk: Wählen sie einen freien Laufwerks-Buchstaben
Ordner: Suchen sie im Netzwerk oder geben sie manuell ein, z.B.
\\MyServer\mydom.com
Das Anmelde-Fenster verlangt Name und Passwort.
Für dauerhafte Verwendung markieren sie das Kästchen Verbindung bei Anmeldung wiederherstellen und geben den Anmelde-Namen an, der sich zumindest in diesem Fall vom Windows User-Namen unterscheidet.

Der Zugang ist an Name und Passwort gebunden und nach Bedarf zusätzlich auf bestimmte PC (festgelegt durch seine IP-Adresse) beschränkt.

Nach Anmeldung steht das Verzeichnis wie eine zusätzliche Festplatte zur Verfügung. Ihr Inhalt sollte genauso aussehen wie ihr Verzeichnis am entfernten Server des Web-Providers.

Der Web-Editor wird so eingerichtet, dass er für dieses Web das Netzlaufwerk verwendet. Das vereinfacht und beschleunigt die Web-Entwicklung.

FTP Server

Jeder professionelle Provider bietet die Möglichkeit des FTP-Zugangs. Mit FTP (File Transfer Protocol) erfolgt normalerweise der Upload aller Dateien vom eigenen PC oder Server auf den Server des Web-Providers.

Tipp: Legen sie vor jeder größeren Änderung ihres Webs eine Sicherungs-Kopie an. Wenn sie bei einer Änderung mit dem Web-Editor Fehler machen und diese einmal per FTP auch am Provider-Server installiert sind, dann ist ihr Web evtl. defekt und sie haben keine Möglichkeit, es rasch wieder auf den alten Stand zu bringen !

Professionelle Linux-Distributionen enthalten selbstverständlich auch einen FTP-Server. Das trifft auf ältere SuSE-Versionen zu, leider nicht auf neuere (Dort ist nur ein wenig brauchbarer TFTP-Server enthalten).
Eine empfehlenswerte Alternative ist die Installation eines purefTP-Servers.
Gute FTP Client-Software bietet Möglichkeiten zur Anwendung von Regeln. Meist sind die wichtigsten Regeln bereits vor-programmiert, z.B.
Kopiere alle Verzeichnisse und Dateien vom lokalen PC auf den entfernten Server, die dort nicht vorkommen.
Lösche alle Verzeichnisse und Dateien vom entfernten Server, die am eigenen PC nicht (mehr) vorkommen.
Ersetze alle Dateien des entfernten Servers, deren Änderungs-Datum um mehr als 3 Stunden älter ist als jenes am eigenen Server.
Diese oder ähnliche Regeln werden auf Mausklick angewendet und erlauben die automatische Synchronisation des entfernten Web-Verzeichnisses in kurzer Zeit.

Zeit

Synchroniseren sie unbedingt die Zeit ihres eigenen Servers und mit dieser die Zeit aller PC im LAN. Eine Genauigkeit von <=10 Sekunden ist sinnvoll und mit geringem Aufwand erreichbar.
Verwenden sie die Zeit bei jeder Art der Synchronisation mit Vorsicht !
Man kann FTP Upload Regeln an die Zeit der letzten Änderung einer Datei binden. Testen sie das Verhalten solcher Regeln an harmlosen Beispielen ! Ansonsten wird evtl. eine gerade erst geänderte Datei des eigenen Servers ungewollt durch eine ältere vom entfernten Provider-Server ersetzt.
Details zur Zeit-Synchronisation mit NTP (Linux, Windows)

Zur Synchronisation wird normalerweise die weltweit eindeutige Weltzeit UTC (früher GMT) eingesetzt. Wenn ihre FTP-Software für einen der beiden Server (unbemerkt) Lokalzeit verwendet, dann ergibt das in Mitteleuropa Zeit-Differenzen von 1-2 Stunden.
Bei gerade erst geänderten Dateien kann sich eine ungenau eingestellte Systemzeit (einige Minuten Abweichung) so auswirken, dass die Synchronisation in die falsche Richtung oder gar nicht erfolgt.

MySQL Datenbank Server

Professionelle Web-Provider bieten meist auch die Verwendung eines Datenbank Servers an, in der Regel einen MySQL Server.
Viele interessante Pakete von (meist kostenlosen) Web-Programmen verwenden MySQL Server.
MySQL ist der Standard SQL Server für kleinere und mittlere PC-Systeme. Die Software ist zwar kommerziell, aber (derzeit noch) in einer kostenlosen Variante für alle gängigen Betriebssysteme erhältlich.
Details zu MySQL auf Linux oder Windows

Sie sollten bereits über einige Erfahrung mit einem eigenen MySQL Server verfügen, damit sie Datenbank und Tabellen so wie gewünscht anlegen und konfigurieren können.

MySQL, Perl, PHP

Wenn sie in ihrem Web eine Datenbank einsetzen, dann ist die Entwicklung praktisch nur mit einem parallel installierten System am eigenen Server möglich.
Der Zugriff auf die Datenbank erfolgt mit dynamischen Webseiten, die meist mit Perl, PHP oder Python programmiert sind.
Die Voraussetzung für dieses Kapitel ist daher Installation, Konfiguration und erfolgreicher Test eines MySQL Servers am eigenen Server-PC.
Eine weitere Voraussetzung ist die erfolgreiche Installation und Verwendung zumindest einer für den Datenbank-Zugriff geeigneten Programmiersprache.
PHP benötigt zumindest eines der Module mysql, mysqli sowohl am eigenen server als auch am server des Providers.
Perl benötigt die Module DBI, DBD-mysql

Werkzeug

Am Server ihres Providers können sie nur wenig SQL-Werkzeug anwenden. Das Verwaltungs-Werkzeug ist entweder am entfernten Server installiert (und freigegeben) oder muss vom eigenen PC über das Internet funktionieren.

Im einfachsten Fall ist bei ihrem Provider phpMyAdmin ↓ installiert.
Wenn der Provider es zulässt, dann lassen sich alle Werkzeuge verwenden, die einen entfernten MySQL Server über Name oder IP-Adresse und Port (normalerweise 3306) erreichen können.
Im schlimmsten Fall können sie eigene Werkzeuge mit Perl oder PHP programmieren, aber das ist nur eine Notlösung.

phpMyAdmin

ist das Standard-Programm zur Verwaltung eines oder mehrerer MySQL Server.
phpMyAdmin ist kostenlos im Internet erhältlich. Es gibt nur jeweils eine aktuelle Version für alle Betriebssysteme, da PHP-Programme vom Betriebssystem unabhängig sind.

Voraussetzung für die Verwendung von phpMyAdmin ist eine funktionsfähige Installation von PHP.
Professionelle Web-Provider bieten eine fix installierte Version von phpMyAdmin zur Verwaltung des entfernten MySQL Servers an. In diesem Fall sollten sie unbedingt phpMyAdmin am eigenen Server installieren. Allerdings ist die Verwendung in jedem Fall sinnvoll, weil phpMyAdmin die Verwaltung des servers sehr einfach macht.

MySQL Datenbank

Entnehmen sie den Angaben ihres Providers den Namen ihrer Datenbank. Meist lautet der Name ähnlich oder gleich wie die Web-Domäne, z.B. domain_com
Genau die gleiche Datenbank wird auch auf ihrem eigenen Server angelegt.

Öffnen sie phpMyAdmin, klicken sie Neue Datenbank anlegen Der Name muss genau dem Namen ihrer Datenbank am entfernten Server des Providers entsprechen.
Legen sie in der Datenbank eine einfache Tabelle test an und tragen sie ein paar Text-daten ein. Das ist sinnvoll, damit sie Verwaltung und Anwendung an einem möglichst einfachen Beispiel testen können.

MySQL Administration User

Entnehmen sie den Angaben ihres Providers Name und Passwort zur Verwendung seines MySQL Servers.
Genau der gleiche User wird auch auf ihrem eigenen Server angelegt.
Zum Anlegen des Passworts benötigen sie die Version des MySQL-Servers oder die Information, ob sie das (neue) PHP-Modul mysqli verwenden können. Die meisten Provider verwenden konservative Einstellungen, daher im Zweifel nur die 'alte' Passwort-Version.
Das Beispiel rechts wird am eigenen MySQL Server angewendet. Das Ziel ist die Einrichtung einer Datenbank, die genau wie gleich wie ihre Datenbank am Server des Providers funktioniert.
Öffnen sie phpMyAdmin, wählen sie Datenbank mysql und Tabelle user
Legen sie einen neuen Datensatz an:
Feld Host: Tragen sie Wert=localhost ein, das passt für einen am gleichen Server-PC laufenden Webserver. Für Zugriff von anderen PC ihres LAN tragen sie ein Wert=192.168.0.* oder ähnlich je nach Basis-Adresse ihres LAN.
Feld User: Tragen sie den vorgegebenen User-Namen ein, z.B. Wert=domain_com
Feld Password: Für alte MySQL-Versionen (PHP-Modul mysql) tragen sie ein Wert=geheim und Funktion=OLD_PASSWORD, für neue MySQL-Versionen (PHP-Modul mysqli) Funktion=PASSWORD
Alle übrigen Felder enthalten Bool-Variable und werden auf N bzw. 0 gesetzt.

MySQL Administration Datenbank

Die hier vorgenommenen Einstellungen erlauben dem angelegten User den Zugriff auf die Datenbank.
Die Zugriffs-Rechte sollten möglichst genau jenen am Server ihres Providers entsprechen. Das erfahren sie entweder aus dessen Angaben oder durch Versuch & Irrtum.
Die Felder ab Create_view sind nur in neueren MySQL-Versionen definiert.
In der Datenbank mysql wählen sie Tabelle db
Legen sie einen neuen Datensatz an:
Feld Host: Tragen sie ein Wert=localhost für den am gleichen Server-PC laufenden Webserver. Für Zugriff von anderen PC ihres LAN legen sie einen weiteren Datensatz an, z.B. mit Wert=192.168.0.*
Feld db: Tragen sie ein Wert=domain_com (genau den Namen der angelegten Datenbank).
Feld user: Tragen sie den User-Namen ein, z.B. Wert=domain_com
Einige der folgenden Bool-Felder werden auf Wert=Y gesetzt, z.B. die Rechte für Select, Insert, Update, Delete, Create_tmp_table, Lock_tables, Create_view, Show_view, Create_routine, Alter_routine, Execute
Alle anderen Felder werden auf Wert=N gesetzt.

SQL-Dump

Um Erfahrung zu sammeln, sollten sie zunächst nur eine einzige einfache Tabelle (z.B. test) anlegen und auf eigenen dynamischen Webseiten verwenden.

Wenn das am eigenen Server funktioniert, dann übertragen sie die Struktur und bei Bedarf auch die eingetragenen Daten auf den Server des Providers.
Dazu verwenden sie Text-Dateien mit SQL-"Dumps".

Tipp: Übertragen sie - wenn überhaupt - nur kleine Daten-Mengen. Größere Daten-Mangen können nur in Portionen übertragen werden, deren Größe sich nach den technischen Möglichkeiten richtet. Vermeiden sie solche Situationen oder beginnen sie zunächst mit kleinen Dateien <=10 kB.

Öffnen sie am eigenen Server phpMyAdmin und ihre Datenbank (z.B. domain.com).
Wählen sie Exportieren, alle Felder und Format SQL.
Kreuzen sie unbedingt die Auswahl Struktur an, dazu die Optionen DROP TABLE und IF NOT EXISTS
Wenn sie auch die am eigenen Server eingetragenen Daten übertragen wollen, dann kreuzen sie zusätzlich die Auswahl Daten an, dazu die Optionen Vollständige und Erweiterte Inserts.
Mit Klick auf OK wird eine Text-Datei aus kompletten SQL-Befehlen erzeugt (Dump) und in einem Fenster angezeigt. Sichern sie den Text als Datei, z.B. domain.sql
Nun muss die Struktur auf den MySQL-Server des Providers übertragen werden. Je nach phpMyAdmin Version gibt es verschiedene Möglichkeiten zum Import der Dump-Datei.
Kopieren sie die Dump-Datei *.sql auf den Server ihres Providers und Importieren sie die Datei.
Alternativ können sie einen einfachen Dump auch am eigenen PC kopieren und in das phpMyAdmin-Fenster des entfernten Servers einsetzen.

MySQL-Versionen

Einige Details bei der Verwendung von MySQL sind abhängig von der verwendeten Version. Provider agieren meist konservativ. Es ist jedoch sinnvoll, am eigenen Server neue Versionen zu testen.

Passwort-Verschlüsselung:
Für ihr Web legen sie am betsen 2 User an: Einen mit dem gleichen User-Namen wie bei ihrem Provider (Codierung mit OLD_PASSWORD), einen anderen (z.B. domain_com_new) mit dem gleichen, jedoch nei codierten (PASSWORD) Passwort.

Neue Funktionen
Neue MySQL-Versionen bieten viele interessante Funktionen. Führen sie diese in ihrem Web nur langsam ein, testen sie jedoch am eigenen Server ausgiebig. So können sie notfalls auch zu einem konservativen Provider wechseln, verfügen jedoch über Erfahrung mit den neuen (meist auch Arbeits-sparenden) Funktionen.

PHP-Module
Das alte PHP-Modul mysql wird irgendwann auslaufen. Installieren sie am eigenen Server unbedingt zusätzlich das neue PHP-Modul mysqli und testen sie seine Funktionen. Mit etwas Aufwand lassen sich PHP-Scripts sogar so auslegen, dass sie mysqli-Funktionen verwenden, wenn diese verfügbar sind, ansonsten die alten mysql-Funktionen.

MySQL-Politik
MySQL ist der weltweit am meisten verbreitete SQL Server. Es ist für den Hersteller naheliegend, irgendwann einmal Geld dafür zu verlangen. Ob und wann das geschieht ist unsicher, sie sollten jedoch damit rechnen.
Es ist sinnvoll, für ein gutes Produkt einen angemessenen Preis zu bezahlen. Andererseits steigt mit einer solchen Entscheidung der Druck, andere Produkte einzusetzen. Wenn sie über ausreichend freie Resourcen verfügen, dann sollten sie sich z.B. mit dem freien SQL-Server Firebird befassen ...

XHTML CSS