LinuxNetMag
Frisch servieren -- Apache als Web-Server
Archiv | Home
Inhalt
   
LinuxNetMag #3

  Software
 MP3
Xaudio, xmms, mp3blaster
freeztag, kmp3te
 Spiele
TTY-Quake, Quake3Test
Descent, LDescent, DX1
Flugsimulatoren
 Applikationen
Wine: Installation und Setup
VCron, Kcrontab
Passwörter mit Gpasman
 Verschiedenes
Bootlogos: Welcome2L...
[email protected] und Tools
Lightspeed
  
 

Netzwerk

Alternative Web-Browser
Linpopup
VNC - Windows X-Server
Post fürs LAN
Apache als Web-Server
Windows vorführen: Samba
Web-Publishing: Sitecopy
Downloadhilfe Wget
Webstatistik mit Webalizer
empfehlenswerte Links
  
 

Hardware

Einführung: Mounten
Jslaunch
  
 

Sonstiges

Editorial
Leserbriefe-Meinungen
Mailing-Liste
Liste aller Artikel
Unterstützen Sie uns



Druckversion


 
Powered by apache
Seinen eigenen Web-Server haben, lokal seine Homepage gestalten und testen, oder gar das gesamte LAN versorgen. Das alles ohne Speicherbegrenzung und mit CGI und Passwortschutz. Kein Problem: Apache ist meist schon installiert


 
Flinke Feder

Apache ist der im Internet am häufigsten benutze Web-Server. Dies verdankt er seiner Stabilität und seinen exzellenten Eigenschaften unter hohen Auslastungen. Der Web-Server wird zumeist schon beim Systemstart als Deamon aktiviert und läuft ohne nennenswerte Belastung des laufenden Systems im Hintergrund. Den wohl einfachsten Test um auszuprobieren, ob der Server auch bei Ihnen schon läuft, ist es, unter Netscape (Arena, lynx ...) die Seite http://localhost anzuwählen. Wenn Apache installiert ist, sollte hier eine Standardseite erscheinen.
Falls nichts erscheint, muß Apache wohl noch nachinstalliert werden. Das rpm-Paket liegt der Suse-Distribution bei. Den Quellcode gibt es zum Download unter http://www.apache.org.
 

Zugriff verweigert!

Apache bietet die Möglichkeit den Zugriff auf einzelne Unterverzeichnisse per Passwortabfrage zu sichern. Die Konfiguration dafür ist recht einfach.
Als erstes sollte man ein Verzeichnis anlegen, in dem die zu sichernden Daten abgelegt werden:

>> mkdir /usr/local/httpd/htdocs/secure

Dann muß in der Konfigurationsdatei des Apaches die Unterstüzung einer Passwortsicherung eingestellt werden.
In der Datei /etc/httpd/access.conf muß deshalb folgender Text eingetragen werden.
 

Datei /etc/httpd/access.conf
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo", 
# "AuthConfig", and "Limit"

AllowOverride AuthConfig

Nun muß noch eine Datei erzeugt werden, in der die Passwörter abgespeichert werden. Diese Datei enthält dann das zu jedem Benutzer zugehörige Passwort und sollte unter /usr/local/httpd/ liegen.
Um nun diese Passwortdatei, die wir "users" nennen wollen, zu erzeugen und in Ihr das Passwort für den Beispielbenutzer "martin" anzulegen, wird der Befehl

>> htpasswd -c /usr/local/httpd/users martin

ausgeführt. Das Programm fragt dann nach dem Passwort, welches verschlüsselt in der Datei "users" abgelegt wird. Sollen Passwörter für weitere Benutzer angelegt werden, wird der Befehl analog zu obigem ausgeführt, allerdings ohne die Option -c.

In dem zu sichernden Verzeichnis legt man sich dann noch eine Datei namens .htaccess an, über die eine Konfiguration der Passwortabfrage  für dessen Verzeichnis erfolgt:
 

Datei /usr/local/httpd/htdoc/secure/.htaccess
 AuthName "restricted stuff"
 AuthType Basic
 AuthUserFile /usr/local/httpd/users

 require user martin 
# hier werden die Benutzernamen 
# aufgelistet, nur von Leerzeichen getrennt

Nach einem Neustart des Apache-Servers 

>> /sbin/init.d/apache restart

sollte dann eine Passwortabfrage erscheinen, wenn man das geschützte Verzeichnis mit seinem Web-Browser anschauen will.
 

CGI für das Intranet

Jeder kennt die Formulare, die man im Internet ausfüllen kann, um sich z.B. bei einem Service anzumelden, oder um e-Mail-Adressen zu hinterlassen. Bei derartigen Formularen handelt es sich meistens um sogenannte CGI-Programme (Common Gateway Interface). Diese bearbeiten die eingegebenen Daten und generieren entsprechende HTML-Seiten. Der Apache unterstütz dies natürlich auch und ist so konfiguriert, daß er Programme und Skripte, die sich im Verzeichnis /usr/local/httpd/cgi-bin befinden, als CGI-Skripte ausführt.
Eine große Sammlung an Skripten findet man z.B. unter  http://www.cgi-resources.com/
Will man unter Suse auch Skripte aus anderen Verzeichnissen heraus starten (was benötigt wird, wenn man seine Internet-Webseiten lokal spiegelt, und auch die CGI-Scripte dabei ausführbar halten will), dann muß man einige Änderungen an der Datei /etc/httpd/srm.conf ausführen.
Wenn wir Beispielsweise im Unterverzeichnis "NetMag/cgi-bin" welches sich in "/usr/local/httpd/htdocs/NetMag" befindet die dort befindlichen CGI-Skripte ausführen wollen, dann genügt ein Eintrag folgender Art in die Datei /etc/httpd/srm.conf in dem folgenden Abschnitt:
 

Datei /etc/httpd/srm.conf
# ScriptAlias: This controls which directories contain server scripts.
# Format: ScriptAlias fakename realname

ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
ScriptAlias /NetMag/cgi-bin/ "/usr/local/httpd/htdocs/NetMag/cgi-bin/"

Die oberen vier Zeilen sollten bereits existieren, es muß nur noch die letzte Zeile angefügt werden. Natürlich müssen die benutzen Pfade an die eigene Dateistruktur angepaßt werden. Auch hier können erst nach einem Neustart des Web-Servers

>> /sbin/init.d/apache restart

die Skripte ausgeführt werden.


Platz für Kommentare & Fragen:
(selbst eintragen)

 

 
Weitere Ausgaben Linux NetMag
[ #1 | #2 | #3 | #4 | Main ]