PS-Trainer
Apache Webserver @ PS-Trainer
Der Standard-Webserver der PC-Welt
Homepage von PS-Trainer - Betriebssysteme & Netzwerke - an PS-Trainer
PS-Trainer

Apache WebserverEin Webserver ist eine "Auskunftsquelle" im Internet (oder Intranet):
Wenn sie ihrem Internet-Browser befehlen, eine Webseite zu öffnen, dann wird eine "Anfrage" an den betreffenden Webserver gesandt.
Dieser öffnet die Webseite und sendet sie als "HTML"-Text zurück an ihren Browser, der daraus eine Bildschirm-Ansicht der Seite für sie erstellt.
Hierr finden sie Informationen zu Installation, einfacher Konfiguration und Test-Betrieb eines Apache-Webservers. Selbstverständlich kann man auch jeden anderen Webserver verwenden. Apache wird als Beispiel herangezogen, denn
Apache ist "OpenSource", ein frei verfügbares Produkt ohne Lizenzgebühren.
Apache ist stabil, zuverlässig und rasch.
Apache ist das "Standard"-System der meisten kleineren und mittleren Webserver.

Inhalt: Voraussetzungen
Download von Apache Server
Installation
Konfiguration
Test
Start & Stop
Links
Konfiguration:
ServerType
ServerRoot
Port
ServerAdmin
ServerName
DocumentRoot
CustomLog & ErrorLog
DirectoryIndex

Voraussetzungen:
Hier wird vorläufig nur die Installation unter Suse Linux 8 als Beispiel dargestellt. andere Linux-Varianten unterscheiden sich nur wenig - das Installations-Verzeichnis kann sich jedoch an anderer Stelle befinden !
Installation auf Windows ist möglich, jedoch weniger üblich und weniger sinnvoll, wird daher allenfalls später nachgeholt.

LinuxDas Betriebssystem Linux ist kosten- und Lizenzfrei, die Distributionen (Zusammenstellung aller Resourcen auf 1...15 CD, dazu Manuals, Service, etc, ...) meist sehr kostengünstig. Bei Fokus finden sie eine gute Zusammenstellung aktueller Linux-Distributionen.

Voraussetzung:
Funktionierendes Netzwerk und Netzwerk-Protokoll TCP/IP:
Damit sie von beliebigen anderen PC auf den Apache Webserver zugreifen können, muss dieser via Netzwerk zugänglich sein. Das Protokoll TCP/IP ist in jeder Linux-Distribution installiert. Auf neueren Win-Betriebssystemen ist es ebenfalls selbstverständlich.
Einfacher Test: Wenn ein PC ins Internet kommt, dann ist TCP/IP installiert.
Verlassen sie sich bei ihrem lokalen Netzwerk auf keine Tricks: Das Standard-Netzwerk ist eine Verbindung der PC mit Ethernet (1 Karte je PC, 1 Hub).

Voraussetzung:
Funktionierendes Linux-Betriebssystem.
Falls sie noch kein Linux kennen, empfehle ich die Test-Installation:
Ideal dafür geeignet ist ein älterer PC, allerdings mit Festplatte >10GB. Die Geschwindigkeit spielt für Probebetrieb oder Intranet keine Rolle. Dieser PC benötigt nicht einmal einen eigenen Monitor - sie können Moni, Maus und Tastatur mit einem Umschalter wahlweise an Linux oder Win anschliessen.

Weniger gut ist die Installation auf einer eigenen Festplatte ihres Arbeits-PC: Sie können dann zwar unter Linux gut testen, aber nicht (gleichzeitig) von Windows auf den Apache-Server und andere Dienste des Servers (z.B. Samba) zugreifen.
Wählen sie die Option, Linux per Diskette zu starten (LiLo), dann können sie auf einen Start-Manager (Schwachpunkt, wenn sie diese Software nicht beherrrschen) verzichten: Mit Diskette startet Linux, ohne Windows.

Noch weniger empfehlenswert ist die Installation auf einer Festplatten-Partition. Sie sind dann davon abhängig, dass beide Betriebssysteme die Partitionen richtig erkennen und respektieren. Festplatten 10...20GB bekommt man bereits sehr günstig.

Download von Apache-Server:
Apache-Server ist in guten Distributionen bereits enthalten. Prüfen sie vor einem Download, ob Apache nicht schon in ihrer Linux-Distribution enthalten ist !

Sie erhalten den Apache Webserver kosten- und lizenzfrei direkt von Apache.org oder von einem der zahlreichen Mirror Sites im Internet. Grösse dzt. ca. 10MB.

Installation von Apache Server:
Sie finden im Internet zahlreiche Anleitungen zur Installation.

Hier eine kurze Zusammanfassung für Suse Linux 8.x:
Melden sie sich als root an, damit sie über die Installations-Rechte verfügen.
Starten sie das Standard-Installations-Programm YAST (YAST2 control center).
Wählen sie das Paket "Software - installieren / löschen", dann (Auswahlliste im linken Fenster)
Produktivität / Netzwerk / Server: apache (einige Pakete).
Achtung: Links mit einem "i" bezeichnete Pakete sind bereits installiert. Markieren sie nur nicht installierte Pakete zur nachfolgenden Installation:

Gewünschte Paket-Zeile markieren, Button "Aus/Abwählen" anklicken. Ein X markiert das Paket zur nachfolgenden Installation.
Nach Abschluss der Installations-Auswahl klicken sie Taste "OK". Der Installations-Manager von YAST2 fordert sie dann zum Einlegen der erforderlichen CD auf.
Nach Abschluss jeder Installation führen sie am besten einen Neustart durch, auch wenn das vom System nicht gefordert wird. Nur in laufenden Server-Systemen (mit zahlreichen aktuellen Client-Anmeldungen) verwenden sie schonende Methoden, die keine Abmeldung der Clients notwendig machen.
Der Apache Server läuft normalerweise mit root-Privilegien, kann daher von anderen usern weder gestartet noch abgeschaltet werden.

Wenn sie nicht sicher sind, ob sie eine Komponente bereits (vollständig) installiert haben, dann kontrollieren sie das "i" in der YAST2-Liste.

Kontrolle: Installierte Apache-Komponenten finden sie (bei Suse-Standard-Installation) an den folgenden Stellen (Ändern sie hier noch nichts !)
/usr/local/apache/bin/httpd Das Programm
/etc/httpd/httpd.conf Die Konfigurations-Datei.
/usr/local/httpd Das Apache-Arbeitsverzeichnis: Alle Resourcen
/usr/local/httpd/htdocs Ihre Homepage index.html
/var/run/httpd.pid In diese Datei schreibt der Apache-Server beim Start seine process-ID

Tip: Nach der Installation sind das Apache-Manual und -Tutorial verfügbar:
/usr/local/httpd/htdocs/manual/index.html.html

Weitere empfohlene Installationen:

Unbedingt anzuraten die Installation eines FTP-Servers: Damit haben sie die Möglichkeit, Dateien bequem zwischen Server und Client-PC beliebiger (!) Betriebssysteme auszutauschen.
YAST2: Produktivität / Netzwerk / FTP / Server: ftpd und ftpdir
Tip: Geben sie das Verzeichnis DocumentRoor (s.u.) zum upload der Webseiten frei.
YAST2: Produktivität / Datei / Dienstprogramme: mc (Midnight commander: einfacher aber sehr robuster Filemanager mit FTP-Client-Funktion).

Empfohlen wird auch ein Telnet-Server. Via Telnet-Protokoll können sie ebenfalls aus jedem Betriebssystem auf ihren Linux-Server zugreifen:
YAST2: Produktivität / Netzwerk / Andere: telnet-server

Falls sie im gleichen Netzwerk Win-PC betreiben, dann empfehle ich die Installation von Samba, einem leistungsfähigen File-Server für Win-Clients.
YAST2: Produktivität / Netzwerk / Samba: diverse Installationspakete

Falls sie im gleichen Netzwerk MacOS-PC betreiben, dann empfehle ich die Installation von netatalk: Damit ist ihr Linux-Fileserver auch für MacOS-PC zugänglich.
YAST2: Produktivität / Netzwerk / Sytem: netatalk

Proxy-Dienste sind für eine Test-Installation nicht notwendig, für einen Intranet-Server jedoch erforderlich:
YAST2: Produktivität / Netzwerk / Proxy: squid

Ihr Apache-Webserver kann nicht nur statische Webseiten verwalten, sondern auch die Kombination Datenbank-Web. Wenn sie das testen wollen, dann sollten sie auch einen Datenbank-Server und PHP installieren:
YAST2: Produktivität / Datenbanken / Server: mysql
YAST2: Produktivität / Datenbanken / Clients: mysql-client
YAST2: Produktivität / Netzwerk / Server: mod-php4 und phpdoc

Konfiguration von Apache Server:
Melden sie sich als root an, damit sie die benötigten Rechte erhalten.
Die gesamte Konfiguration erfolgt in einer einzigen Text-Datei. Wie bei Linux üblich, benötigen sie keinerlei Spezialsoftware, die Konfiguration ist mit jedem Text-Editor möglich. Beim Start von Apache wird diese Datei gelesen und interpretiert, damit sind alle notwendigen Einstellungen erfolgt:
/etc/httpd/httpd.conf
Kopieren sie die Original-Datei, z.B. unter dem Namen /etc/httpd/httpd.bak
Lesen sie vor Beginn der Arbeit die gut kommentierte Datei, drucken sie die Datei evtl. aus. Kommentar-Zeilen beginnen mit #, alle anderen Zeilen haben auf die Konfiguration Einfluss.
Öffnen sie die Konfigurationsdatei mit einem Editor (z.B. kedit ) und führen sie die gewünschten Änderungen durch. Einen Tip für die Vornahme von Änderungen (gilt für jede Linux-config-Datei) finden sie rechts.
Nachfolgend finden sie einige spezielle Punkte der Konfiguration. Alle hier nicht erwähnten Punkte bleiben bei einfachen Test-Installationen unverändert.
Nach erfolgter Änderung speichern sie die Datei /etc/httpd/httpd.conf
Starten sie das System neu, damit ihre Änderungen wirksam werden.
Alternative schonende Techniken benötigt man nur bei laufenden Servern, wenn angemeldete Clients nicht unterbrochen werden sollen.

Wenn sie eine Linux-Konfigurations-Datei ändern, dann sichern sie sich ab:

Kopieren sie die zu ändernde Zeile, versehen sie die Kopie mit einem #-Kommentar-Zeichen und markieren sie die Stelle mit einem Kommentar-Hinweis.

So finden sie später mit jedem Editor die von ihnen geänderten Stellen, und sehen unmittelbar daneben die Original-Einstellungen.

Beispiel: Im Original finden sie
# ServerType is either inetd, or standalone.
ServerType standalone
Nachdem sie eine Änderung ausgeführt haben:
# ServerType is either inetd, or standalone.
## Changed by Hans Weber 2002-11-01
## Original:
##
ServerType standalone
ServerType inetd

ServerType:
Möglich sind die Optionen inetd und standalone.
Standard und Empfehlung lauten
ServerType standalone

Damit startet Apache als eigenständiger Dienst und kümmert sich selbst darum, welche einlangenden Internet-Anfragen er beantwortet oder nicht.

Option inetd bewirkt, dass der (ebenfalls laufende) Dienst inetd die Entscheidung übernimmt: inetd analysiert eintreffende Pakete und leitet sie an den jeweils verantwortlichen Dienst (z.B. FTP, Appletalk, ...) weiter. Studieren sie dafür die Manuals zu inetd und ändern sie bei Bedarf die Konfigurations-Datei /etc/inetd.conf

ServerRoot:
Ist das Arbeits-Verzeichnis ihres Apache Webserver. Die Einstellung von DocumentRoot (s.u.) muss dazu passen, d.h. sollte sich innerhalb des hier definierten Arbeits-Verzeichnisses befinden.

Standard und Empfehlung lauten
ServerRoot "/usr/local/httpd"

Hier erwartet der Apache Webserver u.a. folgende Verzeichnisse:
servlets, icons, cgi-bin, jserv, htdocs (s.u., ihre Webseiten )

Port:
Auf jedem vernetzten PC, insbesondere auf jedem Server laufen gleichzeitig mehrere Dienste, welche das Protokoll TCP/IP benutzen. Damit jeder Dienst "seine" Pakete erhält, werden ihm 1-2 nummerierte "Ports" für die Kommunikation zugewiesen. Diese Port-Nummer kann an die URL angehängt werden, um nicht nur die IP-Adresse, sondern einen bestimmten Dienst an dieser Adresse anzuwählen: http://10.0.0.1:80

Standard und Empfehlung lauten
Port 80

ServerAdmin:
Die e-mail Adresse der/des Server-AdministratorIn. An diese Adresse werden bei Bedarf Fehlermeldungen gesandt.

Setzen sie an dieser Stelle ihre eigene Adresse (rot) ein.
ServerAdmin sysadmin@myserver

ServerName:
Suse Linux setzt bei Installation einen Standard-ServerName analog zum Namen des gesamten Server-PC ein. Sie dürfen das zwar ändern, jedoch keinen beliebigen Namen verwenden !

Der verwendete Name muss (!) ein gültiger DNS-Name für den Server-PC sein.
ServerName myserver.mygrp

Falls sie das nicht genau verstehen, können sie auch seine IP-Adresse in dieser Form einsetzen:
ServerName http://10.0.0.1/

Unter Adresse 127.0.0.1 oder localhost kennt jeder PC sich selbst. Mit diesem ServerName können sie jedoch nur lokale Tests am Server ausführen.

DocumentRoot:
Ist das Standard-Datenverzeichnis ihre Apache Webserver. Es muss sich innerhalb des Verzeichnisses ServerRoot (s.o.) befinden. Wenn nicht anders verlangt, sucht Apache verlangte Dokumente (Webseiten, ...) in diesem Verzeichnis. Wichtig: Hier sollte sich ihre Homepage index.html befinden.

Standard und Empfehlung:
DocumentRoot "/usr/local/httpd/htdocs"

Tip: Machen sie dieses Verzeichnis mit FTP zugänglich, dann können sie ihre Web-Dateien von anderen PC bequem uploaden. (siehe Einstellung des FTP-Servers).

Ihr eigenes Web legen sie am besten in einem Ordner innerhalb des Root-Ordners an: z.B. /usr/local/httpd/htdocs/myweb/

Tip: Verändern oder löschen sie keine Datei innerhalb des Root-Ordners !
Kopieren sie die Homepage und arbeiten sie ab sofort mit der Kopie, die sie auch ändern können:
/usr/local/httpd/htdocs/index.html ... Arbeits-Homepage
/usr/local/httpd/htdocs/index.bak ... Sicherungskopie
/usr/local/httpd/htdocs/myweb/ ... Arbeits-Verzeichnis für ihr Web

CustomLog und ErrorLog:
Hier wird Verzeichnis und Dateiname der Access-Log-Datei fixiert:
CustomLog /var/log/httpd/access_log common

Hier wird Verzeichnis und Dateiname der Error-Log-Datei fixiert:
ErrorLog /var/log/httpd/error_log

DirectoryIndex:
Die Standard-Homepage im Verzeichnis DocumentRoot ?
DirectoryIndex index.html


Test der Installation:
Starten sie das System neu, damit ihre Änderungen wirksam werden.
Alternative schonende Techniken benötigt man nur bei laufenden Servern, wenn angemeldete Clients nicht unterbrochen werden sollen.
Testen sie, ob der Apache-Server läuft: Mit dem shell-Befehl ps -x erhalten sie eine Liste der laufenden Dienste. In dieser Liste muss der Dienst httpd enthalten sein. In der Zeile finden sie links die process-ID, mit deren Hilfe sie Zugang zum Prozess haben. Die process-ID von Apache finden sie auch in der Datei /var/run/httpd.pid.

TUX Test mit Browser:
Öffnen sie einen Web-Browser und geben sie in die Adresszeile die IP-Adresse des Webservers in folgender Form ein:
http://10.0.0.1/ (mit ihrer (!) Server-IP-Adresse)
Wenn alles funktioniert, sehen sie die Begrüssungs-Seite ihres Apache Webservers mit dem Wappentier TUX.
Falls sie die IP-Adresse des Servers vergessen haben, finden sie diese mit shell-Befehl ifconfig. Mit YAST2 können sie die IP-Adresse einstellen.
Mit Kenntnis der Server-IP können sie vom Server-PC selbst oder jedem anderen PC im Netzwerk den Webserver ansprechen:

Start und Stop des Apache Server:
Bei richtiger Installation brauchen sie sich nicht darum zu kümmern. Apache startet bei Systemstart automatisch und bleibt normalerweise eingeschaltet.

Mit der Installation wird das shell-script apachectl geliefert, das sich gut für die Administration von Apache eignet:
apachectl start
Einige Optionen von apachectl sind:
help, configtest, fullstatus, restart, status, start, stop, ...

Mit root-Berechtigung (!) können sie Apache manuell starten:
/usr/local/apache/bin/httpd

Ob Apache gerade läuft, und seine Process-ID können sie mit ps feststellen:
ps -x

Apache-Links:
Apache.org - Apache Server Foundation
Apache Tools
Apache Tutorials von Ken Coar
Apache Service de
Apache Knowledge Base - FAQs


Win Apache für EntwicklerInnen

Homepage von PS-Trainer - Betriebssysteme & Netzwerke - an PS-Trainer

Aktuelle Daten dieser Seite Letzte Änderung:
  Geocities