Schlagwort-Archive: apache

Apache Openmeetings

Nachdem ich gerade feststellen musste, dass Phonegape für meine Zwecke überhaupt nicht geeignet ist, überlegte ich, wie ich für meinen Chat-Bot wohl am einfachsten eine Audio- und Vidoübertragung zuwege bringen könnte. Es kamen mir Zweifel auf, ob die Handy-Kamera wirklich die beste Lösung wäre, aber mit Webcams hatte ich früher schon schlechte Erfahrungen gemacht. Ich sah mir einige Open Source Projekte für Webcams und Videochats an, aber die Ausbeute war sehr spärlich. Dann stieß ich mit der Suche nach „Open Source Web Conferencing“ wieder einmal auf Apache und zwar diesmal auf Openmeetings. Gut, die Installationsanleitungen, die ich gleichzeitig fand (seitenlange pdf’s) mit unzähligen Voraussetzungen, die angeblich erforderlich sind, schreckten mich ab. Aber ich dachte mir, ich versuche es einfach einmal, schau mir die Fehlermeldungen an und installiere auf meinem alten, schwachen Laptop, aber mit dem aktuellsten Ubuntu darauf, dann einiges nach, wenn es mir sinnvoll erscheint, oder ich lasse es.
videochat
Ich lud mir also die zip herunter, entpackte sie, führte die red5.sh aus und las, dass Tomcat gestartet wurde. Hm, das klingt gut, also ging ich auf localhost:5080/openmeetings/install. Tatsächlich, da tat sich etwas und ein paar Fehlermeldungen erschienen. Ich lud die Seite neu und bekam ein Formular der Installationsprozedur. Wo ich dachte, dass eine Angabe nötig sei, gab ich etwas ein und klickte auf weiter, … fertigstellen und ich traute meinen Augen nicht. Der Red5 Streaming Server lief einwandfrei, ich konnte mich zum Videochat anmelden und die Webcam (mit der ich früher schon Probleme hatte) funktioniert einwandfrei und alles ohne jede Konfiguration. Es ist …. unglaublich. Na damit kann ich natürlich etwas anfangen und daher werde ich mir Apache OpenMeetings nun genauer ansehen und dann „wirklich“ verwenden. Nach einer Pause, denn momentan bin ich noch ganz perplex.

(958)

Thomas Morgenstern gewann die 59. Vierschanzentournee

Gratulation, eine hervorragende Leistung! Thomas Morgenstern verwirklicht seinen Kindheitstraum und schaffte etwas, was nur wenigen Springern, wie Jens Weißflog, Matti Nykänen, und Espen Bredesen bisher gelungen ist, sie haben die Olympia, Tournee und Gesamtweltcup gewonnen.

Auf RP-Online lese ich dazu:

Platz zwei reicht Morgenstern zum Triumph
Als sich Thomas Morgenstern vor über 25.000 tobenden Landsleuten endgültig zum neuen Star am Skisprunghimmel gekrönt hatte, standen die deutschen Adler enttäuscht im Schatten. … weiter lesen

Noch ein Kurzzitat aus der Presse:

… Als Morgenstern im zweiten Durchgang den Tourneesieg sicherstellte, brandeten Lärm und Jubel auf. Zeitgleich läuteten Kuhglocken, Signalhupen und Ratschen waren zu hören – nur die letzten Skeptiker und Ammann-Fans verstummten. Sie hatten vergebens auf die Statistik gesetzt, sie wies seit 1973 immerhin fünf Verlierer aus, die als Führende nach Bischofshofen gekommen und als Verlierer wieder gegangen sind. … weiter lesen

Die ersten fünf der Vierschanzentournee 2011:
1. Thomas Morgenstern (Österreich) 958,8 Punkte
2. Simon Ammann (Schweiz) 928,4
3. Tom Hilde (Norwegen) 895,0
4. Manuel Fettner (Österreich) 882,4
5. Martin Koch (Österreich) 880,6

Apache hat also recht behalten, als er auf Yigg spekulierte mit: Vierschanzentournee 2011 gewinnt Thomas Morgenstern

(611)

1.113.3 – Apache

zurück zu Linux Zertifizierungen LPIC
1.113.3 – Verwendung und allgemeine Konfiguration von Apache
Prüfungskandidaten sollten in der Lage sein, einfache Einstellungen in den Apache Konfigurationsdateien vorzunehmen, httpd zu starten, anzuhalten und neu zu starten und das automatische starten von httpd bei Systemstart einzurichten. Dies beinhaltet nicht fortgeschrittene Konfiguration von Apache.

Die wichtigsten Dateien, Bezeichnungen und Anwendungen:

* apachectl
* httpd
* httpd.conf

Die Konfiguration des Webservers apache ist ein weites Feld, das problemlos ganze Bücher füllen kann. An dieser Stelle wird aber nur ein Grundwissen über den Webserver und seine Konfiguration gefordert, das relativ schnell erlernbar ist.

Konfigurationsdateien und Verzeichnisse des Webservers
Der Webserver apache benutzte ursprünglich drei Konfigurationsdateien, die in der folgenden Reihenfolge abgearbeitet wurden:

httpd.conf
Die zentrale Konfigurationsdatei des Webservers. Hier werden alle Einstellungen vorgenommen, die den Server selbst, den Hauptserver und eventuell existierende virtuelle Server angehen.
srm.conf
In dieser Datei wurden die ResourceConfig Anweisungen des Webservers plaziert. Seit einiger Zeit wird diese Datei leer ausgeliefert und alle Einträge werden in httpd.conf vorgenommen.
access.conf
In dieser Datei wurden die Anweisungen des Webservers plaziert, die mit Zugriffsrechten zu tun hatten. Seit einiger Zeit wird auch diese Datei leer ausgeliefert und alle Einträge werden in httpd.conf vorgenommen.

Die beiden Dateien srm.conf und access.conf sind zwar noch vorhanden, werden jedoch nicht mehr benötigt, da alle Einstellungen heute in der Datei httpd.conf vorgenommen werden.

Standardmäßig erwartete der Webserver seine Konfigurationsdateien in /usr/local/etc/httpd/conf. Dieses Verzeichnis entspricht aber nicht dem Dateisystem-Standard von Linux. Aus diesem Grund wird heute der Webserver in der Regel über eine Kommandozeilenoption -f Dateiname gestartet, die ihm ein anderes Verzeichnis für die Konfigurationsdatei angibt. In der Regel ist das Verzeichnis entweder /etc/httpd oder /etc/apache. Dort liegen dann alle Konfigurationsdateien des Webservers.

Neben diesem Verzeichnis gibt es noch zwei weitere, die für den Webserver eine große Rolle spielen.

ServerRoot
Das Verzeichnis, in dem die Dateien liegen, die für den Gebrauch des Webservers wichtig sind. Das sind z.B. die Icons, die er für Dateien und Verzeichnisse benutzt oder die CGI-Programme.
DocumentRoot
Das Verzeichnis, das die HTML-Dateien enthält, die der Webserver der Allgemeinheit anbieten soll.

Die Festlegung, welche Verzeichnisse für diese beiden Aufgaben benutzt werden sollen, wird in der Konfigurationsdatei httpd.conf gemacht.

Die zentrale Konfigurationsdatei des Webservers
Auch heute noch versucht der Server alle drei oben genannten Dateien abzuarbeiten, aber die beiden Dateien access.conf und srm.conf sind in der Regel einfach leer. Alles, was früher dort untergebracht wurde, finden wir heute in der zentralen Konfigurationsdatei httpd.conf.

Diese Datei ermöglicht es, den Webserver komplett zu konfigurieren, von der Einstellung, auf welchen Port er hören soll, bis hin zur Angabe welcher User welche Verzeichnisse sehen darf. Die standardmäßige Konfigurationsdatei des Webservers enthält bereits eine wohldurchdachte und sehr gut kommentierte Konfigurationsdatei, die entsprechend angepasst werden kann.

Grunsätzlich ließt der Webserver diese Datei beim Start. Das heißt, wenn in dieser Datei Veränderungen vorgenommen werden sollen, dann muß der Server danach neu gestartet werden. Bitte nochmal zur Definition: Server meint hier das Programm und nicht den Rechner!

Die Konfigurationsdatei des Webservers kennt hunderte verschiedener Anweisung, die hier nicht alle dargestellt werden können. Wir werden uns hier also auf die wichtigsten Anweisungen beschränken. Die Konfigurationsdatei ist in drei Bereiche aufgeteilt: Die globalen Einstellungen, die Einstellungen des Hauptservers und die Einstellungen für die virtuellen Server.

Globale Einstellungen
Diese Einstellungen beziehen sich auf die grundsätzliche Funktionalität des Servers selbst. Folgende Einstellungen sind wichtig:

ServerType standalone|inetd
Diese Anweisung legt fest, ob der Webserver standalone oder durch inetd gestartet werden soll. Wie schon gesagt ist es nicht empfehlenswert, den Apache durch inetd zu starten, also solte hier der Begriff standalone stehen.
ServerRoot „/usr/local/httpd“
Die Angabe des Verzeichnisses, in dem der Apache seine Dateien vorfindet. Hier liegen in der Regel alle wichtigen Dateien und Verzeichnisse, die der Server zum Betrieb benötigt. Nicht verwechseln mit DocumentRoot.
LockFile /var/lock/subsys/httpd/httpd.accept.lock
Das Lock-File des Servers. Diese Datei wird vom Server beim Start angelegt und beim Herunterfahren gelöscht. Damit kann der Server selbst feststellen, ob schon ein Apache-Server im Speicher gestartet ist.
PidFile /var/run/httpd.pid
Auch diese Datei wird vom Server beim Start angelegt. Er schreibt seine ProzessID hier hinein, so daß ein späterer Zugriff – etwa zum Versenden eines Kill-Signals – auf den Server möglich ist, ohne erst lang mit dem ps-Kommando die PID herausfinden zu müssen.
Timeout 300
Die Anzahl von Sekunden, die der Server beim Senden und Empfangen von Daten wartet, bis er aufgibt und einen Timeout-Fehler ausgibt.
KeepAlive On
KeepAlive ermöglicht es, mehrere Transfers pro Verbindung zuzulassen (On) oder zu verbieten (Off). Damit wird verhindert, daß wegen jeder einzelnen Nachfrage erneut der komplette TCP-Handshake erfolgen muß.
MaxKeepAliveRequests 100
Dieser Wert bestimmt die maximale Menge der zulässigen aufeinanderfolgenden Verbindungen, ohne erneuten TCP-Handshake. Steht der Wert auf 0, so bedeutet das, daß es keine Einschränkungen gibt (unendlich).
KeepAliveTimeout 15
Die Anzahl von Sekunden nach der Übertragung einer Datei bis zum Beginn der nächsten Nachfrage, die ohne zusätzlichen Handshake stattfinden darf.
StartServers 1
Die Anzahl der Serverprozesse, die beim Start geladen werden sollen.
MinSpareServers 1
Die minimale Anzahl der unbenutzten Serverprozesse (Childs). Wird dieser Wert unterschritten, so werden neue Server gestartet.
MaxSpareServers 1
Die maximale Anzahl unbenutzter Serverprozesse (Childs). Wird dieser Wert überschritten, so werden unbenutzte Serverprozesse heruntergefahren.
MaxClients 150
Die maximale Anzahl gleichzeitig bedienbarer TCP-Verbindungen. Kommen gleichzeitig mehr als angegeben herein, so bekommen die übrigen eine Fehlermeldung und werden nicht mehr bedient.
MaxRequestsPerChild 0
Nach der angegebenen Zahl von abgearbeiteten Aufträgen wird ein Child-Prozess heruntergefahren und durch einen neuen ersetzt. Steht der Wert auf 0, so findet keine Ersetzung statt (0 = unendlich). Damit kann z.B. im Dauerbetrieb festgelegt werden, daß kein Server-Child mehr als 30 Anfragen beantwortet. So wird verhindert, daß ein eventuell hängender Prozess über Tage hinweg den Server stört.

Nach diesen Grundeinstellungen werden die Module geladen. An diesen Einstellungen ist eigentlich keinerlei Veränderung nötig, es sei denn, Sie haben eigene Module entwickelt und wollen sie einbinden.

Konfiguration des Hauptservers
Die zweite Sektion der Konfigurationsdatei bezieht sich auf die Angaben zum „Hauptserver“. Das ist der eigentliche HTTP-Server, der ohne weitere Gimmicks läuft. Im Regelfall ist das der einzige Server, nur in Spezialfällen werden sogenannte virtuelle Server dazugenommen.

Port 80
Die Portnummer, die verwendet werden soll, wenn der Server als standalone-Server läuft. Der Standard-Port ist 80. Ports unter 1023 müssen mit root-Rechten ausgestattet sein, es handelt sich ja um die sogenannten privilegierten Ports. Um Sicherheitslücken zu vermeiden, werden weitere Server unter anderen UserIDs gestartet.
User wwwrun
Die UserID, unter der die Child-Prozesse des Servers laufen. Alle Zugriffe des Servers aufs Dateisystem werden unter dieser ID ausgeführt.
Group nogroup
Die Gruppenmitgliedschaft der Child-Prozesse.
Listen 80
Diese Anweisung entspricht der Port-Anweisung, nur sind damit auch die Angabe mehrerer Ports möglich. Eine typische Form, um z.B auch das HTTPS-Protokoll (Secure Socket Layer) zu ermöglichen, wäre:

Listen 80
Listen 443

ServerAdmin root@localhost
Die E-Mail Adresse des Administrators dieses Webservers
DocumentRoot „/usr/local/httpd/htdocs“
Die Wurzel des Dokumentenbaums. Alle Pfade in URLs (außer CGI) beziehen sich auf die diesen Pfad.
DirectoryIndex index.html
Der Name (oder die Namen) der Datei, die in einem Verzeichnis aufgerufen werden soll, wenn nur der Verzeichnisname angegeben wurde. Wenn mehrere Namen angegeben werden, müssen sie durch Leerzeichen voneinander getrennt werden.
ScriptAlias /cgi-bin/ „/usr/local/httpd/cgi-bin/“
Mit dieser Anweisung wird festgelegt, welches Verzeichnis CGI-Scripts enthalten darf, die vom Server ausgeführt werden sollen. Der Alias /cgi-bin wird also auf das Verzeichnis /usr/local/httpd/cgi-bin/ gelegt. Damit werden URLs wie

http://www.myhost.mydomain.de/cgi-bin/irgendwas.pl

auf das genannte Verzeichnis umgeleitet. Es ist zwar zu empfehlen, daß das Script-Verzeichnis außerhalb des Dokumentenbaums liegt, jedoch nicht notwendig. Falls mehrere solcher Aliase angelegt werden sollen, müssen sie jeweils andere Aliasnamen tragen:

ScriptAlias /cgi-bin/ „/usr/local/httpd/cgi-bin/“
ScriptAlias /test/cgi-bin/ „/usr/cgi-bin/“
ScriptAlias /users/hans/cgi-bin/ „/home/hans/cgi-bin/“

Die entsprechenden URLs für die drei verschiedenen Verzeichnisse wären jetzt:

http://www.myhost.mydomain.de/cgi-bin/irgendwas.pl
http://www.myhost.mydomain.de/test/cgi-bin/irgendwas.pl
http://www.myhost.mydomain.de/users/hans/cgi-bin/irgendwas.pl

Die meisten weiteren Einstellungen benützen jetzt ein HTML-ähnliches Format, um die Gültgkeit auf bestimmte Bereiche zu reduzieren. Dazu werden die gewünschten Bereiche (Verzeichnisse, Dateien und URLs) in spitze Klammern geschrieben und mit einem entsprechenden Abschlußtag beendet. Ein paar Beispiele:

Options FollowSymLinks
DirectoryIndex default.htm

Diese Angabe legt fest, daß die beiden Befehle in den Klammern nur für das Verzeichnis „/usr/local/httpd/htdocs“ und alle darin enthaltenen Unterverzeichnisse gelten.

Statt kann auch stehen. Dann wird statt einer absoluten Pfadangabe eine URL angegeben. Das erspart einem Systemverwalter das Wissen über die tatsächliche Positionierung des DocumentRoot. Das muß dann selbstverständlich mit abgeschlossen werden.

Um einzelne Dateien direkt anzusprechen kann auch die Klammerung mit erfolgen. In der Klammer stehen dann Dateinamen, auf die sich die Angaben beziehen.

Konfiguration von virtuellen Servern
Die dritte Sektion der zentralen Konfigurationsdatei von Apache dient der Definition von virtuellen Servern. Virtuelle Server sind sozusagen Nebenserver, die vom selben Webserver verwaltet werden, aber eine andere Dokumentenwurzel benutzen. Dazu kommt, daß diese Server auch noch entweder über andere IP-Adressen oder andere DNS-Namen ansprechbar sind.

Die Definition eines virtuellen Servers ermöglicht es also dem Webserver zu entscheiden, an welchen DNS-Namen bzw. welche IP-Adresse die Anfrage ging. Diese Entscheidung führt dann zu unterschiedlichen DocumentRoots also werden unterschiedliche Seiten angezeigt.

Linux bietet zu diesem Zweck die Möglichkeit, daß eine einzige Ethernetkarte mehrere IP-Adressen bekommen kann. Dazu wird der Bezeichnung der Ethernetkarte (z.B. eth0) einfach ein Doppelpunkt und eine Nummer zugefügt (eth0:1, eth0:2, …). Jeder dieser „virtuellen Netzwerkkarten“ kann jetzt eine eigene IP-Adresse vergeben werden. Entweder mit dem entsprechenden Konfigurationsprogramm (yast, linuxconf,…) oder mit dem Befehl:

ifconfig eth0:1 Adresse netmask Maske

Wenn diese zweite (dritte, vierte, …) Adresse jetzt im Nameserver einen eigenen Eintrag erhält, so kann tatsächlich der Webserver darauf reagieren. Dazu müssen in der Konfigurationsdatei ein paar zusätzliche Einträge vorhanden sein:

NameVirtualHost IP-Adresse

Dieser Eintrag ist nur nötig, um mehrere namensbasierte Virtuelle Server aufzubauen. Die IP-Adresse ist die der „virtuellen Netzwerkkarte“ wie oben beschrieben.

Jetzt können wir die einzelnen virtuellen Server definieren. Dazu werden wiederum Angaben in spitzen Klammern gemacht, entweder mit IP-Adressen (von virtuellen Karten) oder mit Hostnamen (Alias-Einträge im Nameserver, die auf die virtuelle Karte verweisen).

Jeder dieser Einträge bekommt jetzt einen eigenen DocumentRoot und kann alle bisher besprochenen Direktiven des normalen Servers enthalten. Ein Beispiel:

NameVirtualHost 10.230.1.101

ServerAdmin root@marvin.mydomain.de
DocumentRoot /www2
ServerName virtual1.mydomain.de

ServerAdmin hans@marvin.mydomain.de
DocumentRoot /www3
ServerName virtual2.mydomain.de

AllowOverride All

Hier haben wir also zwei virtuelle Hosts definiert, beide wurden über ein und dieselbe IP-Adresse (10.230.1.101) definiert, aber beide unterscheiden sich anhand ihres Namens. Natürlich muß der zweite Name entsprechend im Nameserver vorhanden sein und als Alias auf den ersten Rechner gesetzt sein.

Die zweite Möglichkeit virtueller Hosts ist die Adressenbasierte. Hier ist die Angabe des NameVirtualHost-Befehls nicht nötig. Dafür muß jeder virtuelle Server eine eigene IP-Adresse besitzen. Mit der oben gezeigten Methode ist das bis zu einem bestimmten Punkt möglich. Ab einer gewissen Anzahl (etwa ab 4 virtuellen Hosts) bietet es sich aber an, namensbasierte Hosts zu generieren, statt mit x virtuellen Netzwerkkarten zu arbeiten…

Innerhalb der Klammerung können alle Direktiven stehen, die auch schon für die Konfiguration des Hauptservers zur Anwendung kamen. Es sind also vollständig autarke Server, denen sogar eigene CGI-Verzeichnisse gegeben werden können. Das folgende Beispiel zeigt zwei virtuelle Hosts, die Adressenbasiert aufgebaut sind und je ein eigenes cgi-bin Verzeichnis besitzen:

ServerAdmin root@marvin.mydomain.de
DocumentRoot /www1/htdocs
ScriptAlias /cgi-bin/ „www1/cgi-bin/“
ServerName virtual1.mydomain.de

ServerAdmin hans@marvin.mydomain.de
DocumentRoot /www2/htdocs
ScriptAlias /cgi-bin/ „www2/cgi-bin/“
ServerName virtual2.mydomain.de

Starten und Anhalten des Webservers
Normalerweise wird der Webserver beim Start des Systems durch ein Init-Script gestartet. Dieses Script wird beim Wechsel in den Standard-Runlevel ausgeführt und heißt meistens /etc/init.d/apache oder /etc/init.d/httpd.

In diesem Script wird – wie oben schon erwähnt – als Parameter für den Webserver die Konfigurationsdatei mit angegeben. Typische Einträge zum Starten wären also z.B.

/usr/bin/httpd -f /etc/httpd/httpd.conf

Auch das Herunterfahren des Webservers kann in der Regel mit diesem Script ausgeführt werden, indem ihm der Parameter stop mitgegeben wird.

Nach jeder Änderung an der Konfigurationsdatei muß der Server neu gestartet werden. Damit das nicht nur über das Init-Script erfolgen kann, gehört zum Lieferumfang von apache ein Serverkontrollprogramm, mit dem diese Aufgaben erledigt werden können. Dieses Programm ist ein Shellscript, das eventuell an abweichende Pfade angepasst werden muß.

Die Aufrufform des Programms ist

apachectl Kommando

Es stehen verschiedene Kommandos zur Verfügung. Die wichtigsten sind:

start
Startet den Apache-Daemon (Webserver). Gibt eine Fehlermeldung aus, wenn er bereits läuft.
stop
Hält den Daemon an.
restart
Stopt den laufenden Daemon und startet ihn neu. Zu diesem Zweck wird dem Daemon ein HUP-Signal geschickt. Wenn der Daemon noch nicht gestartet war, wird er neu gestartet.
graceful
Dieses Kommando startet den Server mit dem Signal USR1 neu. Der Unterschied zu restart ist, daß bestehende Verbindungen nicht unterbrochen werden.
configtest
Die Konfigurationsdatei wird einem Syntax-Test unterworfen. Rückgabe ist entweder Syntax Ok oder eine detailierte Information über die gefundenen Fehler in der Konfigurationsdatei.

(227)

Htpasswd – Passwortschutz für den Apachen

htpasswd -c /usr/local/apache/passwd/passwords johndoe
erzeugt die passwords
in die .htaccess im zu schützenden Webverzeichnis gehört dann
AuthType Basic
AuthName "Password Required"
AuthUserFile /usr/local/apache/passwd/passwords

Htpasswd wird zum Erstellen und Aktualisieren der Flat-Dateien*1 verwendet, um den Benutzern eine HTTP-Basis-Authentifizierung mit Benutzernamen und Passwort zu ermöglichen.

Wenn htpasswd nicht schreiben oder lesen kann, um die Flat-Datei zu aktualisieren, gibt es einen Fehler zurück und macht keine Änderungen.

Die Mittel, die vom Apache HTTP-Server zur Verfügung gestellt werden, können auf die Benutzer beschränkt werden, die in der von htpasswd estellten Flat Datei angeführt sind. Dieses Programm kann nur Benutzernamen und Passwörter verwalten die in einem Flat-File gespeichert werden. Aber es kann auch Passwort Informationen für andere Arten der Datenspeicherung verschlüsseln und anzeigen. So nutzen Sie es z.B. für eine DBM Datenbank dbmmanage.

Htpasswd verschlüsselt Passwörter und verwenden entweder eine modifizierte Version von MD5 für Apache, oder die crypt ()-Routine. Htpasswd verwaltete Dateien dürfen beide Arten von Passwörtern enthalten, sowohl MD5-verschlüsselte Passwörter, als auch mit crypt() verschlüsselte Passwörter.

Befehlszeilenargumente: Für nähere Einzelheiten über die Konfigurationsrichtlinien der Benutzer-Authentifizierung in httpd finden Sie im Apache-Handbuch.

Synopsis

htpasswd [ – c ] [ – m ] [ – D ] passwdfile Benutzername
htpasswd – b [-] [c – m | – d | – p | – s] [- D] passwdfile Benutzername Passwort
htpasswd – n [- m | – d | – | – p] Nutzernamen
htpasswd – nb [- m | – d | – | – p] Benutzername Passwort

Optionen
-b
Verwenden Sie den Batch-Modus, d.h. das Passwort von der Befehlszeile aus, statt danach gefragt zu werden. Diese Option sollte mit äußerster Sorgfalt verwendet werden, da das Passwort auf der Befehlszeile sichtbar ist
-c
Erstellen Sie eine passwd-Datei. Wenn passwdfile bereits vorhanden ist, wird es neu geschrieben und abgeschnitten. Diese Option kann nicht zusammen mit der Option-n verwendet werden.
-n
Anzeige der Ergebnisse auf Standard-Ausgabe, atatt der Aktualisierung in einer Datei. Dies ist nützlich für die Generierung von Passwort Datensätzen die der Apache akzeptiert und die man nicht in Text-Daten speichern will. Diese Option ändert die Syntax der Befehlszeile, da das passwdfile Argument (in der Regel das erste) ausgelassen wird. Es kann nicht mit der Option-c kombiniert werden.
-m
Verwenden Sie MD5-Verschlüsselung für Passwörter. Auf Windows-, Netware-und TPF, ist das die Standardeinstellung.
-d
Verwenden Sie crypt () Verschlüsselung für Passwörter. Das ist der Standard, auch auf allen Plattformen wie Windows, Netware und TPF. Obwohl es möglicherweise nicht von htpasswd auf allen Plattformen mit den httpd-Servern auf Windows-, Netware-und TPF unterstützt wird.
-s
Verwenden Sie SHA-Verschlüsselung für Passwörter. Erleichtert die Migration von / nach Netscape-Server mit Hilfe des LDAP Directory Interchange Format (ldif).
-p
Verwenden Sie Klartext-Passwörter. Denn htpasswd wird für den httpd-Daemon nur Klartext-Passwörter akzeptieren unter Windows, Netware und TPF.
-D
Benutzer löschen. Wenn der Benutzername existiert in der angegebenen htpasswd-Datei, wird er gelöscht.
passwdfile
Name der Datei die den Benutzernamen und das Kennwort enthält. Wenn-c angegeben ist, wird diese Datei erstellt werden, wenn sie nicht bereits vorhanden ist oder umgeschrieben und gekürzt, wenn sie bereits existiert.
username – (Benutzername)
Der Benutzername zur Erstellung oder Aktualisierung in passwdfile. Wenn der Benutzername nicht in dieser Datei existiert, wird ein Eintrag hinzugefügt. Wenn ein Passwort bereits existiert wird es geändert.
password – (Passwort)
Das Klartext-Passwort wird verschlüsselt und in der Datei gespeichert. Nur in Verbindung mit dem b-flag (Option).

Exit-Status
Htpasswd liefert einen Null-Status ( „true“), wenn der Benutzername und das Kennwort im passwdfile erfolgreich hinzugefügt oder aktualisiert wurden. Htpasswd gibt 1 zurück, wenn ein Problem beim Zugriff auf Dateien, 2, wenn es ein Problem mit der Syntax in der Befehlszeile gibt, 3, wenn das Passwort eingegeben wurde und die interaktive Überprüfung des Eintrages nicht übereinstimmen, 4, wenn die Operation wurde unterbrochen 5, wenn ein Wert ist zu lang (Benutzername, Dateiname, Kennwort oder endgültig berechneter Eintrag), 6, wenn der Benutzername unzulässige Zeichen enthält (siehe Dem Abschnitt Einschränkungen), und 7, wenn die Datei keine gültige Passwort-Datei ist.

Beispiele

htpasswd /usr/local/etc/apache/.htpasswd-users jsmith Htpasswd / usr / local / etc / apache / .htpasswd-Benutzer in unserem System anmelden

Erzeugung oder ändern des Kennworts für die Benutzer, die im System angemeldet sind. Der Benutzer wird aufgefordert, das Passwort einzugeben. Wenn es auf einem Windows-System ausgeführt wird, wird das Passwort mit dem modifizierten Apache-MD5-Algorithmus verschlüsselt, sonst wird die System-crypt ()-Routinen verwendet. Wenn die Datei nicht existiert, wird htpasswd nichts tun, außer einen Fehler anzeigen.

htpasswd -c /home/doe/public_html/.htpasswd jane

Erzeugt eine neue Datei und speichert sie in einem Datensatz für den Benutzer jane. Der Benutzer wird aufgefordert, das Passwort eizugeben. Wenn die Datei vorhanden ist und nicht gelesen werden kann, oder nicht in sie geschrieben werden kann, wird sie nicht verändert und htpasswd wird eine Fehlermeldung mit einem Fehler-Status ausgeben.

htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve

Verschlüsselt das Passwort von der Befehlszeile aus (Pwd4Steve) mit dem MD5-Algorithmus, und speichert sie in der angegebenen Datei.

Sicherheitsüberlegungen

Web-Passwort-Dateien wie die von htpasswd sollte nicht innerhalb des Webspaces liegen – das heißt, sie sollte nicht mit einem Browser erreichbar sein.

Vonb der Verwendung der Option-b wird abgeraten, da, das unverschlüsselte Passwort auf der Befehlszeile erscheint.

Einschränkungen
Auf den Plattformen Windows und MPE, dürfen verschlüsselte Passwörter mit htpasswd verarbeitet, nicht mehr als 255 Zeichen lang sein. Längere Passwörter werden abgeschnitten auf 255 Zeichen.

Der MD5-Algorithmus verwendet mit htpasswd ist für die Apache-Software spezifisch; verschlüsselte Passwörter werden nicht auf anderen Web-Servern nutzbar sein.

Benutzernamen umfassen maximal 255 Bytes und dürfen keine „.“ (Punkt) enthalten.

siehe auch:
htpasswd – Manage user files for basic authentication (Englisch von apache.org)
.htaccess
Passwortschutz für WWW-Verzeichnisse
Passwortschutz bei Apache2
*1 Flat Dateien sind in der Regel grundlegende Daten, die verwendet werden, für die Konfiguration der Datenspeicherung für Anwendungen und Programme.

(643)