Die Grundeinstellungen von Apache werden hauptsächlich von httpd.conf festgelegt und verwaltet. Wir müssen die relevanten Einstellungen von Apache ändern, hauptsächlich durch Ändern von httpd.cong. Werfen wir einen Blick auf den Inhalt von httpd.conf, der hauptsächlich in drei Teile unterteilt ist:
Abschnitt 1: Globale Umwelt
Abschnitt 2: „Haupt“-Serverkonfiguration
Abschnitt 3: Virtuelle Hosts
【Teil 1】
·ServerType eigenständig
Dies bedeutet, dass Apache als Standalone gestartet wird oder inetd sein kann. Das sogenannte Standalone bedeutet, dass es einmal gestartet wird, um alle Verbindungen zu beantworten, während inetd erst nach dem Empfang der HTTP-Verbindungsanfrage gestartet wird und endet, wenn die Verbindung endet. Daher wird es normalerweise eigenständig gestartet.
·ServerRoot „/usr/local/httpd“
Dies ist das Apache-Verzeichnis
·#LocdFile /use/local/httpd/logs/httpd.lock
Behalten Sie den Standardwert bei und ändern Sie ihn nicht
·PidFile /usr/local/httpd/logs/httpd.pid
Diese Datei zeichnet die übergeordnete Handler-ID von Apache auf
·ScoreBoardFile /usr/local/httpd/logs/httpd.scoreboard
In dieser Datei werden Informationen über den Handler gespeichert
·#ResourceConfig conf/srm.conf
·#AccessConfig conf/access.conf
Da wir von httpd.conf verwaltet werden, sind diese beiden Dateien standardmäßig mit Anmerkungen versehen und die Standardwerte können unverändert beibehalten werden.
·Timeout 300
Legen Sie den Timeout-Zeitraum fest. Wenn der Client länger als 300 Sekunden keine Verbindung zum Server hergestellt hat oder der Server länger als 300 Sekunden keine Informationen an den Client gesendet hat, wird die Verbindung getrennt.
·KeepAliveOn
Mehrere Anfragen für die Verbindung des Clients zulassen. Setzen Sie diese Option auf „Aus“, um sie zu verbieten.
·MaxKeepAliveRequests 100
Der größte Anforderungsbaum für jede Verbindung. Je größer die Zahl, desto besser die Leistung. 0 bedeutet keine Begrenzung
·MinSpareServer 5
·MaxSpareServers 10
MinSpareServer 5 bedeutet, dass es mindestens 5 inaktive Handler gibt. Wenn die tatsächliche Anzahl kleiner als diese Zahl ist, werden Handler hinzugefügt. MaxSpareServers 10 stellt die maximale Anzahl inaktiver Handler dar. Wenn Ihre Website einen hohen Bedarf hat, können Sie diese Zahl auf einen höheren Wert festlegen.
·StartServer 5
Anzahl der Server beim Start
MaxClients 150
Begrenzen Sie die maximale Anzahl gleichzeitiger Verbindungen. Natürlich kann sie nicht zu klein eingestellt werden. Sobald diese Anzahl erreicht ist, können keine weiteren Clients hinzugefügt werden.
·MaxRequestPerChild 0
Begrenzen Sie die Anzahl der Anforderungen, bevor Subhandler Ergebnisse liefern. 0 bedeutet keine Begrenzung
· #Listen 3000
·#Hören 12.34.56.78:80
Verwenden Sie einen anderen Port oder eine andere IP
·BindAddress*
Kann antworten* (alle IP-Adressen), angegebene IP-Adresse oder vollständiger Domainname
·#LoadModule foo_module libexec/mod_foo.so
Verwendung des DSO-Moduls
·#ExtendedStatusOn
Sie können die Statusinformationen von Apache überprüfen. Die Standardeinstellung ist Aus (mit Anmerkungen versehen) [Cut-Page].
【Teil 2】
Wenn der vorherige ServerType inetd ist, springen Sie bitte direkt zu ServerAdmin.
·Port 80
Der Verbindungsport, den der Standalone-Server antwortet, kann natürlich auch eine andere Portnummer kleiner als 1023 sein
·Benutzer niemand
·Gruppe niemand
Der Benutzer und die Gruppe, die httpd ausführt
·E-Mail-Adresse des ServerAdmin-Administrators. Wenn es ein Problem mit Apache gibt, wird ein Brief gesendet, um den Administrator zu benachrichtigen. Natürlich können Sie auch ein Konto erstellen, das speziell für den Empfang von E-Mails zuständig ist.
·ServerName Ihr Hostname. Wenn kein Domänenname vorhanden ist, können Sie auch IP verwenden.
·DocumentRoot „usr/local/httpd/htdocs“
In diesem Verzeichnis platziert Apache Webseiten. Die darin enthaltene index.html ist die Standard-Homepage, die mit diesem Host verbunden ist.
·
Optionen FollowSymLinks
AllowOverride keine
Dieses Verzeichnis legt die Ausführungsaktion des Verzeichnisses (public_html) fest, in dem der Benutzer die Webseite platziert. Detaillierte Verzeichniszugriffsmethoden werden später erläutert.
·
Optionen Indizes FolloeSymLinks
AllowOverride Keine
Befehl erlauben, verweigern
Von allen zulassen
Dieses Verzeichnis legt die Ausführungsaktion des Apache-Webverzeichnisses (htdocs) fest.
·Benutzerverzeichnis public_html
Benutzer können in ihrem eigenen Verzeichnis ein public_html-Verzeichnis erstellen, um Webseiten zu platzieren, http://Hostadresse/~Benutzernamen eingeben, um eine Verbindung zu ...Lao San Fat Mei Mu Yin?/a> herzustellen
·DirectoryIndex index.html
Legen Sie hier den Namen der Standard-Homepage fest
·AccessFileName.htaccess
Dies ist der Name der Datei, die den Zugriff steuert. Im Allgemeinen wird der Standardname .htaccess verwendet. Die Verwendung von htaccess wird später erläutert.
·
Befehl erlauben, verweigern
Von allen leugnen
Dies wird verwendet, um zu verhindern, dass andere den Inhalt von Dateien sehen, die mit .ht beginnen. Es schützt nicht nur den Inhalt von .htaccess, sondern auch den Inhalt von .htpasswd. Natürlich kann es auch direkt geschrieben werden. Wenn Sie den AccessFile-Namen geändert haben, z. B. .htaccess in .accessht ändern, denken Sie bitte daran, die entsprechenden Änderungen auch hier vorzunehmen, um zu verhindern, dass andere ihn sehen.
· #CacheNegotiatedDocs
Die Anmerkung besteht darin, den Proxy anzuweisen, die durch die Interaktion generierten Dateien nicht im Cache zu speichern. Wenn das # entfernt wird, werden sie im Cache gespeichert.
·Verwenden Sie CanonicalNameOn
Standardnamen verwenden, die Standardeinstellung ist „Ein“. Angenommen, es gibt einen Webserver, dessen vollständiger Name www.sample.com ist, im Allgemeinen www genannt, wenn wir ... youttp://www/abc
·TypeConfig /usr/local/httpd/conf/mime.types
Gibt die Datei zum Speichern des MIME-Dateityps an. Sie können die mime.types-Datei selbst bearbeiten.
·DefaultType text/plain
Das Standardformat, wenn der Server diesen Dateityp nicht erkennt. Mit dieser Einstellung wird er als normaler Text behandelt.
·
MIMEMagicFile /usr/local/httpd/conf/magic
Das Modul mod_mime_magic ermöglicht es dem Server, seinen MIME-Typ anhand des Dateiinhalts zu bestimmen. Wenn das Modul mod_mime_magic geladen ist, wird der Abschnitt MIMEMagicFile verarbeitet. Wenn dies der Fall ist, bedeutet dies, dass dieser Abschnitt nur verarbeitet wird, wenn das Modul nicht geladen ist.
·HostLookups deaktiviert
Wenn es aktiviert ist, wird die IP jedes Mal zum Nameserver aufgelöst und der Name dieser Verbindung aufgezeichnet (z. B. www.apache.org). Wenn es deaktiviert ist, wird nur die IP aufgezeichnet.
·ErrorLog /usr/local/httpd/logs/error_log
Geben Sie den Speicherort der Fehlerprotokolldatei (error_log) an. Wenn die Fehlerprotokolldatei nicht angegeben ist, wird diese Datei verwendet.
·LogLevel-Warnung
Datensätze sind in viele Ebenen unterteilt, hier gilt eine Warnung. Jede Ebene ist wie folgt: Beschreibung der Ebene
Debug-Debug-Informationen
info allgemeine informationen
Beachten Sie wichtige Informationen
Warnmeldung
Fehler Fehler aufgetreten
kritischer Notfall
Alarm: Situation, die sofort behandelt werden muss
amerg Das System liegt im Sterben.
·LogFormat "%h %l %u %t"%r"%>s %b"{Referer}i""${UserAgent}i""combined
LogFormat „%h %l %u %t“%r“%>s %b“commom
LogFormat „%{Referer}i->%U“referer
LogFormat „%{User-agent}i“agent
Vier benutzerdefinierte Aufzeichnungsformate: kombiniert, allgemein, Referrer, Agent
·CustomLog /usr/local/httpd/logs/access_log common
Die Zugriffsprotokolldatei (access_log) verwendet ein benutzerdefiniertes allgemeines Format
·#CustomLog /usr/local/httpd/logs/referer_log-Referer
#CustomLog /usr/local/httpd/logs/agent_log Agent
#CustomLog /usr/local/httpd/logs/agent_log kombiniert
Diese drei Datensatzdateien verwenden ebenfalls benutzerdefinierte Formate (Referer, Agent, kombiniert), aber Anmerkungen weisen darauf hin, dass diese drei Dateien nicht verwendet werden.
·ServerSignatureOn
Bei der Einstellung „Ein“ wird auf der vom Server generierten Webseite (z. B. wenn ein Fehler auftritt) eine Zeile mit Informationen über die Apache-Version, den Host und den Verbindungsport angezeigt. Bei der Einstellung „E-Mail“ wird ein Mailto angezeigt : Hyperlink zum Administrator.
·Alias /icons/ "/usr/local/httpd/icons/"
Verwenden Sie einen kürzeren Alias im Format: Alias alias ursprünglicher Name.
·ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
Identisch mit Alias, außer dass dies das Verzeichnis ist, in dem das Serverskript festgelegt ist
·IndexOptionsFancyIndexing
Zeigen Sie eine ansprechende Dateiliste an (passen Sie die Grafiken zu jeder Datei unten an)
·AddIconByEncoding(CMP,/icons/compressed.gif)x-conpress x-gzip
·AddIcon /icons/blank.gif^^BLANKICON^^DefaultIcon/icons/unknow.gif
Dies sind die entsprechenden Grafiken für verschiedene Dateitypen bei der Anzeige der Dateiliste (früher FancyIndex genannt). Beispielsweise sind die Darstellungsgrafiken dieser drei Dateien, .ps, .si und .eps, alle im Format .gif.
·#AddDescription „GZIP-komprimiertes Dokument“ .gz
#AddDescription „tar-Archiv“ .tar
#AddDescription „GZIP-komprimiertes TAR-Archiv“ .tgz
Dies sind die Beschreibungen, die den Dateien bei der Anzeige der Dateiliste beigefügt werden. Das Format ist:
AddDescription Dateiname „Beschreibung“, zum Beispiel: AddDescription „It is private txt“ my.txt
·ReadmeName README
Wenn Sie die Dateiliste anzeigen, zeigen Sie unten den Dateiinhalt der README-Datei an. Einrichten des CGI-Skripts / Verwendung von httpd.conf als einzige Konfigurationsdatei / Benutzerautorisierung und Zugriffskontrolle. Es gibt viele Artikel zur Konfiguration und Verwendung von Apache In LinuxAid wird in diesem Artikel die Verwendung von Konfigurationsdateien und die Dateizugriffskontrolle bei der Verwendung von Apache erläutert. Dies kann als Ergänzung zur Verwendung von Apache angesehen werden. [Seite ausschneiden]
Wenn Sie über ein gewisses Verständnis von Apache verfügen, insbesondere über mehrere Konfigurationsdateien, wird es Ihnen helfen, den Inhalt dieses Artikels zu verstehen. Wenn Sie die Verwendung dieser Konfigurationsdateien nicht sehr gut kennen, nutzen wir diese Gelegenheit, um uns mit den einzelnen Konfigurationsdateien vertraut zu machen andere.
1. Bezüglich der Konfiguration von CGI-Ausführungsskripten gibt es zwei Methoden zum Einrichten von CGI-Skripten. Erstens hat die CGI-Skriptdatei die Erweiterung .cgi. Zweitens legen Sie das ausführbare Verzeichnis des Skripts fest. Allerdings erfordern beide Methoden, dass die auszuführende Datei auf 711 gesetzt wird, bevor sie ausgeführt werden kann.
Die erste Methode besteht darin, das Verzeichnis, das Sie an Option ExecCGI All verteilen möchten, in der Datei access.conf festzulegen und der Ressourcenkonfigurationsdatei srm.conf den folgenden Satz hinzuzufügen:
AddHandle CGI-Skript .cgi
Auf diese Weise kann Ihre Datei in allen Verzeichnissen vom Apache-Server als CGI aufgerufen werden, solange Ihre Datei die Erweiterung .cgi hat und die Dateizugriffsberechtigung 711 lautet, unabhängig davon, wo sich die Datei in Ihrem Verteilungsverzeichnis befindet. Diese Methode ist im Allgemeinen nicht so sicher wie die zweite Methode.
Die zweite Methode besteht darin, ein Verzeichnis als ausführbares Verzeichnis zu verwenden und alle CGI-Dateien darin abzulegen. Es müssen nicht unbedingt Dateien mit der Erweiterung .cgi sein, sondern nur Dateien mit dem Attribut 711. und der Zugriff auf andere nicht ausführbare Dateien ist verboten. Unsere Standardkonfigurationsdatei enthält ein großartiges Beispiel:
access.conf:
<Verzeichnis /home/httpd/cgi-bin/>
Außerkraftsetzen zulassen. Keine
OptionsExecCGI
</Verzeichnis>
srm.conf
ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/
Auf diese Weise wird der Zugriff auf andere nicht ausführbare Dateien verweigert, solange die ausführbaren Dateien im Verzeichnis /home/httpd/cgi-bin/ vom Webserver aufgerufen werden können.
2. Konfigurieren Sie das Verteilungsverzeichnis des Benutzers. Es gibt zwei Einstellungsmethoden:
Die erste ist die Standardmethode des Systems, dh das Verzeichnis public_html unter dem Benutzerverzeichnis ist das Verteilungsverzeichnis des Benutzers und die Standard-Homepage-Datei ist index.html. Dieses Verzeichnis unterstützt kein CGI.
Die zweite besteht darin, ein Veröffentlichungsverzeichnis speziell für Benutzer in anderen Verzeichnissen einzurichten. Wenn ich beispielsweise möchte, dass das Verzeichnis /home/html das Webverzeichnis des Benutzers ist, sollte der Administrator für jeden Benutzer ein Unterverzeichnis in diesem Verzeichnis einrichten. wie: /home/html/user01, /home/html/user02 usw. Dann kann dem UserDir in Ihrer srm.conf-Datei nicht mehr public_html folgen. Es sollte in UserDir /home/html/*/ geändert werden. Beachten Sie, dass das „*“ hier „jemand“ darstellt Wenn http://www.domain/~user01, die Apache...index.html-Datei.
Für diese Einstellung ist es nicht erforderlich, die Zugriffsattribute des Verzeichnisses in access.conf festzulegen. Wenn Sie jedoch möchten, dass ein Verzeichnis über CGI verfügt, müssen wir beim Einrichten des virtuellen Hosts keine Einstellungen vornehmen Berechtigungen müssen Sie in der .conf-Datei auf Zugriff konfigurieren. Wenn Sie beispielsweise möchten, dass alle Ihre Benutzer CGI-Zugriffsrechte in ihrem Release-Verzeichnis haben, müssen Sie dies in Ihrem Zugriff festlegen .conf:
<Verzeichnis /home/html/*/cgi-bin/>
Überschreibung „Keine“ zulassen
OptionsExecCGI
</Verzeichnis>
Beachten Sie, dass das Unterverzeichnis cgi-bin im Benutzerverzeichnis als CGI-Ausführungsverzeichnis festgelegt ist. Dies ist eine sichere Einstellung und auch eine UNIX-Gewohnheit.
3. So legen Sie den Apache-Server als Unterdienst von inetd fest. Nach der Installation ist Apache standardmäßig so eingestellt, dass er im Standalone-Modus ausgeführt wird. Wenn Sie ihn als Unterdienst von inetd festlegen möchten, aktivieren Sie ihn zunächst nicht httpd jedes Mal, wenn Sie Linux aktivieren, und bearbeiten Sie dann /etc/inetd.conf und fügen Sie die folgenden Anweisungen hinzu: http stream tcp nowait root /usr/sbin/httpd httpd
Anschließend reaktivieren Sie den inetd-Server. Wenn Sie auf diese Weise den Befehl ps -aux verwenden, um den laufenden Status des Prozesses zu überprüfen, werden Sie die Existenz des httpd-Prozesses nicht feststellen, aber sobald ein Kunde eine Seite anfordert, aktiviert inetd einen httpd-Prozess, um die Anfrage zu bearbeiten. und gibt ihn dann automatisch frei. Der Ausführungsmodus trägt dazu bei, Systemressourcen zu sparen. Wenn Ihr Webdienst jedoch sehr wichtig ist, wird es im Allgemeinen nicht empfohlen, ihn auf die Ausführung in diesem Modus einzustellen.
4. Verwenden Sie httpd.conf als einzige Konfigurationsdatei. Apache stellt Benutzern drei Konfigurationsdateien zur Verfügung: srm.conf, access.conf und httpd.conf. Tatsächlich sind alle Konfigurationen in einer separaten httpd.conf-Datei abgelegt. Dies wurde tatsächlich in Apache 1.3.2 durchgeführt. Die folgenden zwei Elemente sollten in die httpd.conf-Anweisung aufgenommen werden vom Zugriff auf die Konfigurationsdateien srm.conf und access.conf:
AccessConfig /dev/null
ResourceConfig /dev/null
Kommentieren Sie in Apache1.3.2 einfach die folgenden zwei Zeilen aus:
AccessConfig conf/access.conf
ResourceConfig conf/srm.conf
5. Benutzerautorisierung und Zugriffskontrolle Diese Situation ist Ihnen möglicherweise beim Besuch einiger Websites begegnet. Wenn Sie auf einen Link klicken, öffnet Ihr Browser ein Authentifizierungsdialogfeld, in dem Sie zur Eingabe Ihrer Kontonummer und Ihres Passworts aufgefordert werden Ich kann nicht weiter surfen. Manche Leute denken vielleicht, dass dies mithilfe von CGI geschieht, aber das ist nicht der Fall. Dabei handelt es sich um den Benutzerautorisierungs- und Zugriffskontrollmechanismus des WWW-Servers.
Erinnern Sie sich noch daran, dass es beim Einrichten der Apache-Dienstumgebung die Direktive <Directory>........<./Directory> gibt, die unterschiedliche Schutzmaßnahmen für verschiedene Verzeichnisse bieten kann? Eine solche Einstellung erfordert jedoch einen Neustart des Servers und ist weniger flexibel. Die Angabe von Zugriffskontrolldateien über die AccessFile-Direktive ist wie folgt.
1. Stellen Sie zunächst die Datei httpd.conf wie folgt ein:
<Verzeichnis /home/httpd/html>
# AllowOverride FileInfo AuthConfig Limit
# Optionen MultiViews Indizes SymLinksIfOwnerMatch IncludesNoExec
Zu den Optionen gehören FollowSymLinks-Indizes
AllowOverride All //*Beachten Sie, dass AllowOverride auf „All“ gesetzt sein muss, damit die nachfolgende .htaccess-Datei funktioniert
<Limit GET POST OPTIONS PROPFIND>
Befehl erlauben, verweigern
Von allen zulassen
</Limit>
# <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
# Befehl verweigern, zulassen
# Von allen ablehnen
# </Limit>
</Verzeichnis>
#Geben Sie den Dateinamen zum Konfigurieren der Zugriffskontrollberechtigungen an
AccessFileName.htaccess
2. Erstellen Sie den Inhalt der .htaccess-Datei, indem Sie vor dem Dateinamen eine Zugriffskontrolldatei erstellen.
Name der Passwortdatei des AuthUserFile-Benutzerkontos
AuthGroupFile-Gruppenkonto-Passwortdateiname
Eingabeaufforderungstext für den AuthName-Bildschirm
AuthType-Authentifizierungsmethode
<Limit GET>
Methode zur Passwortüberprüfung
</Limit>
AuthType bietet derzeit zwei Benutzerauthentifizierungsmethoden: Basic und Digest.
Die Einstellungsmethode für die Passwortüberprüfung ist dieselbe wie die zugehörigen Einstellungen in httpd.conf.
Konkrete Beispiele sind wie folgt:
AuthUserFile /etc/secure.user
AuthName Security Certification Center
AuthType Basic
<Limit GET>
erfordern einen gültigen Benutzer
</Limit>
3. Erstellen Sie eine Benutzerkennwortdatei. Wenn Sie zum ersten Mal ein Benutzerkennwort erstellen, lautet das Befehlsformat wie folgt:
htpasswd -c Passwortdateiname Benutzername Im obigen Beispiel haben wir die Benutzerpasswortdatei in der Datei /etc/secure.user abgelegt, daher sollten die Vorgänge hier wie folgt aussehen:
htpasswd -c /etc/secure.user Schwert
Das Programm fordert Sie auf, das Benutzerkennwort zweimal einzugeben. Anschließend wurde die Benutzerkennwortdatei erstellt und das Benutzerschwert hinzugefügt.
Wenn Sie der Passwortdatei einen neuen Benutzer hinzufügen möchten, folgen Sie dem folgenden Befehlsformat:
Benutzername der htpasswd-Kennwortdatei Auf diese Weise wird nach dem Neustart von httpd beim Betreten des WEB-Verzeichnisses ein Dialogfeld angezeigt, in dem Sie nach dem Benutzernamen und dem Benutzerkennwort gefragt werden.
4. Wie können wir die Auswirkungen der Zugriffskontrolle auf die Leistung von Apache reduzieren? Eine der einfachsten und effektivsten Methoden besteht darin, die Anzahl der .htaccess-Dateien zu reduzieren. Dadurch kann verhindert werden, dass Apache bei jeder Anfrage eine Autorisierungsprüfung anhand des Inhalts der .htaccess-Datei durchführt. Es sucht nicht nur im aktuellen Verzeichnis nach .htaccess-Dateien, sondern auch im übergeordneten Verzeichnis des aktuellen Verzeichnisses.
/
/usr
/usr/local
/usr/local/etc
/usr/local/etc/httpd
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/htdocs/docs
Normalerweise gibt es keine htaccess-Datei im Stammverzeichnis, aber Apache führt trotzdem eine Routineprüfung durch, um sicherzustellen, dass die Datei nicht existiert. Dies wirkt sich stark auf die Effizienz des Servers aus. Die folgende Methode kann diesen lästigen Prozess beseitigen: Setzen Sie die Option AllowOverride auf None, damit Apache die .htaccess-Datei überprüft. Legen Sie die Option „AllowOverride“ des Verzeichnisses „/root“ auf „Keine“ fest und legen Sie die Option „AllowOverride“ nur in dem Verzeichnis fest, das eine Zugriffskontrolle für alle erfordert. Im folgenden Beispiel ist beispielsweise die Option „AllowOverride“ des Verzeichnisses „/root“ deaktiviert /usr/local/ wird im Verzeichnis etc/httpd/htdocs geöffnet, sodass das System nur die .htaccess-Datei in /usr/local/etc/httpd/htdocs überprüft, um den Zweck der Verbesserung der Serviceeffizienz zu erreichen.
<Verzeichnis />
AllowOverride Keine
</Verzeichnis>
<Verzeichnis /usr/local/etc/httpd/htdocs>
AllowOverride All
</Verzeichnis>
Sollten neben dem Root-Verzeichnis noch weitere Verzeichnisse zum Speichern von WWW-Dateien vorhanden sein, können Sie diese ebenfalls auf die gleiche Weise einrichten. Beispiel: Wenn Sie UserDir verwenden, um Benutzern den Zugriff auf ihre eigenen Verzeichnisse zu ermöglichen, lauten die AllowOverride-Einstellungen wie folgt:
<Verzeichnis /home/*/public_html>
AllowOverride FileInfo-Indizes IncludesNOEXEC
</Verzeichnis>
5. Um zu verhindern, dass Benutzer auf das angegebene Dateisystem zugreifen, gibt es einige Dateien, die für WWW-Benutzer nicht geeignet sind, wie zum Beispiel: .htaccess, htpasswd, *.pl usw. Sie können <Files> verwenden, um diesen Zweck zu erreichen:
<Files.htaccess>
Befehl erlauben, verweigern
von allen leugnen
</Dateien>
Der Benutzerzugriff steuert drei .htaccess-Dateien, .htpasswd und .htgroup (zur Benutzerautorisierung). Aus Sicherheitsgründen sollte verhindert werden, dass Benutzer ihre Inhalte durchsuchen. Sie können den folgenden Inhalt zu httpd.conf hinzufügen, um zu verhindern, dass Benutzer darauf zugreifen:
<Dateien ~“/.ht“>
Befehl verweigern, zulassen
Von allen leugnen
</Dateien>
Auf diese Weise können Benutzer nicht auf diese drei Dateien zugreifen.
6. Beschränken Sie den Zugriff bestimmter Benutzer auf bestimmte Dateien
<Verzeichnis> kann den Zugriff bestimmter Benutzer auf eine bestimmte Datei einschränken. Wenn Benutzer in Nicht-Domain.com-Domänen beispielsweise nicht auf /prices/internal.html zugreifen dürfen, können Sie Folgendes tun: können die folgenden Einstellungen verwenden:
<Standort /prices/internal.html>
Befehl verweigern, zulassen
von allen leugnen
zulassen von .domain.com
</Standort>
Wenn der Computer, dem Sie die entsprechenden Berechtigungen erteilen möchten, keinen öffentlichen Domänennamen hat, ordnen Sie seine IP-Adresse bitte einem angegebenen Namen in Ihrer Datei /etc/hosts zu und legen Sie ihn dann unter Speicherort fest. Andernfalls lautet diese Option „Funktioniert nicht“. .
7. Akzeptieren Sie nur den Zugriff über bestimmte Links. Beispielsweise dürfen nur Benutzer mit Links von http://www.sina.com.cn/* dieses Verzeichnis betreten, und Besucher über andere Links dürfen nicht zugreifen. „bedeutet alle Links unterhalb dieser Website. Darunter kann http://www.sina.com.cn/* auch sein: http://202.106.184.200/* oder die angegebene Datei http://www.sina.com.cn/news.html
Der Inhalt der .htaccess-Datei ist wie folgt:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName-BeispielAllowFromSpecificURL
AuthType Basic
<Limit GET>
Befehl verweigern, zulassen
von allen leugnen
Referrer-Zulassung von http://www.sina.com.cn/*
</Limit>
6. So greifen Sie über Apache auf den Inhalt des in mnt gemounteten Verzeichnisses zu. Um den Inhalt der CD zu durchsuchen, müssen Sie die CD zunächst in /mnt/cdrom mounten. Das Gleiche gilt für den Zugriff auf DOS oder andere Partitionen unter Linux Sie müssen es zuerst in /mnt mounten. Die unten bereitgestellte Methode kann den Inhalt des hochgeladenen Verzeichnisses über Apache anzeigen:
1. Hängen Sie zunächst den Inhalt ein, der an mnt gemountet werden muss, z. B.:
mount –t iso9660 /dev/cdrom /mnt/cdrom
2. Ändern Sie die Datei srm.conf in /usr/local/etc/httpd/conf (ändern Sie httpd.conf in Apache1.3.2).
Alias-Unterstützung hinzufügen:
# Alias Fakename echter Name
# Alias für Netware-Server //
Alias /netware/ /mnt/MYDOM_NW/vol1/home/htmldocs/
Alias /winNT/ /mnt/MYDOM_NT/
Alias /unix/ /mnt/MYDOM_UNIX
Tatsächlich besteht die einfachste Methode für diesen Schritt darin, ein Linkverzeichnis direkt unter dem WWW-Dateiverzeichnis zu erstellen, wie zum Beispiel:
ln –s /mnt/MYDOM_NT/ winNT
Der gleiche Effekt kann erzielt werden.
3. Abschließend legen Sie mit „Verzeichnis“ die Zugriffsrechte des Benutzers auf die oben genannten Verzeichnisse fest:
<Verzeichnis „/mnt/MYDOM_NT“>
Optionen indizieren MultiViews
AllowOverride Keine
Befehl erlauben, verweigern
Von allen zulassen
</Verzeichnis>
Beachten Sie, dass Indizes in den Optionen angegeben werden müssen. Andernfalls kann der Benutzer nicht die Struktur des gesamten Verzeichnisses durchsuchen, wenn im geöffneten Verzeichnis keine Index.html-Datei vorhanden ist, und der Server gibt eine Fehlermeldung zurück.
Vergessen Sie nicht, Apache nach Abschluss dieser Aufgaben neu zu starten. Greifen Sie auf dem Client über http://www.yourdomain/CDROM/ auf den CD-Inhalt zu, usw. für andere Systeme.
#DocumentRoot „/usr/local/apache/htdocs“
#Legen Sie das Verzeichnis fest, in dem die HTML-Dateien der Site gespeichert werden.
<Verzeichnis />
Optionen FollowSymLinks
AllowOverride Keine
</Verzeichnis>
#Set/directory-Direktive. Speziell:
Option: Definieren Sie die Vorgänge, die innerhalb des Verzeichnisses ausgeführt werden können.
Keine: bedeutet, dass Sie nur durchsuchen können,
FollowSymLinks: Ermöglicht das Verlinken von Seiten zu anderer Stelle.
ExecCGI: ermöglicht die Ausführung von CGI,
MultiViews: Ermöglicht Vorgänge wie das Ansehen von Animationen oder das Hören von Musik.
Indizes: Ermöglicht dem Server, eine formatierte Liste von Verzeichnissen zurückzugeben.
Beinhaltet: Ermöglicht die Verwendung von SSI. Diese Einstellungen können überprüft werden.
Alle: kann alles außer MultiViews tun.
AllowOverride: Das Hinzufügen des None-Parameters bedeutet, dass jeder die Dateien in diesem Verzeichnis durchsuchen kann.
Zusätzliche Parameter sind: FileInfo, AuthConfig, Limit.
【Teil 2】
Wenn der vorherige ServerType inetd ist, springen Sie bitte direkt zu ServerAdmin.
·Port 80
Der Verbindungsport, den der Standalone-Server antwortet, kann natürlich auch eine andere Portnummer kleiner als 1023 sein
·Benutzer niemand
·Gruppe niemand
Der Benutzer und die Gruppe, die httpd ausführt
·E-Mail-Adresse des ServerAdmin-Administrators. Wenn es ein Problem mit Apache gibt, wird ein Brief gesendet, um den Administrator zu benachrichtigen. Natürlich können Sie auch ein Konto erstellen, das speziell für den Empfang von E-Mails zuständig ist.
·ServerName Ihr Hostname. Wenn kein Domänenname vorhanden ist, können Sie auch IP verwenden.
·DocumentRoot „usr/local/httpd/htdocs“
In diesem Verzeichnis platziert Apache Webseiten. Die darin enthaltene index.html ist die Standard-Homepage, die mit diesem Host verbunden ist.
·
Optionen FollowSymLinks
AllowOverride keine
Dieses Verzeichnis legt die Ausführungsaktion des Verzeichnisses (public_html) fest, in dem der Benutzer die Webseite platziert. Detaillierte Verzeichniszugriffsmethoden werden später erläutert.
·
Optionen Indizes FolloeSymLinks
AllowOverride Keine
Befehl erlauben, verweigern
Von allen zulassen
Dieses Verzeichnis legt die Ausführungsaktion des Apache-Webverzeichnisses (htdocs) fest.
·Benutzerverzeichnis public_html
Benutzer können in ihrem eigenen Verzeichnis ein public_html-Verzeichnis erstellen, um Webseiten zu platzieren, http://Hostadresse/~Benutzernamen eingeben, um eine Verbindung zu ...Lao San Fat Mei Mu Yin?/a> herzustellen
·DirectoryIndex index.html
Legen Sie hier den Namen der Standard-Homepage fest
·AccessFileName.htaccess
Dies ist der Name der Datei, die den Zugriff steuert. Im Allgemeinen wird der Standardname .htaccess verwendet. Die Verwendung von htaccess wird später erläutert.
·
Befehl erlauben, verweigern
Von allen leugnen
Dies wird verwendet, um zu verhindern, dass andere den Inhalt von Dateien sehen, die mit .ht beginnen. Es schützt nicht nur den Inhalt von .htaccess, sondern auch den Inhalt von .htpasswd. Natürlich kann es auch direkt geschrieben werden. Wenn Sie den AccessFile-Namen geändert haben, z. B. .htaccess in .accessht ändern, denken Sie bitte daran, die entsprechenden Änderungen auch hier vorzunehmen, um zu verhindern, dass andere ihn sehen.
· #CacheNegotiatedDocs
Die Anmerkung besteht darin, den Proxy anzuweisen, die durch die Interaktion generierten Dateien nicht im Cache zu speichern. Wenn das # entfernt wird, werden sie im Cache gespeichert.
·Verwenden Sie CanonicalNameOn
Standardnamen verwenden, die Standardeinstellung ist „Ein“. Angenommen, es gibt einen Webserver, dessen vollständiger Name www.sample.com ist, im Allgemeinen www genannt, wenn wir ... youttp://www/abc
·TypeConfig /usr/local/httpd/conf/mime.types
Gibt die Datei zum Speichern des MIME-Dateityps an. Sie können die mime.types-Datei selbst bearbeiten.
·DefaultType text/plain
Das Standardformat, wenn der Server diesen Dateityp nicht erkennt. Mit dieser Einstellung wird er als normaler Text behandelt.
·
MIMEMagicFile /usr/local/httpd/conf/magic
Das Modul mod_mime_magic ermöglicht es dem Server, seinen MIME-Typ anhand des Dateiinhalts zu bestimmen. Wenn das Modul mod_mime_magic geladen ist, wird der Abschnitt MIMEMagicFile verarbeitet. Wenn dies der Fall ist, bedeutet dies, dass dieser Abschnitt nur verarbeitet wird, wenn das Modul nicht geladen ist.
·HostLookups deaktiviert
Wenn es aktiviert ist, wird die IP jedes Mal zum Nameserver aufgelöst und der Name dieser Verbindung aufgezeichnet (z. B. www.apache.org). Wenn es deaktiviert ist, wird nur die IP aufgezeichnet.
·ErrorLog /usr/local/httpd/logs/error_log
Geben Sie den Speicherort der Fehlerprotokolldatei (error_log) an. Wenn die Fehlerprotokolldatei nicht angegeben ist, wird diese Datei verwendet.
·LogLevel-Warnung
Datensätze sind in viele Ebenen unterteilt, hier gilt eine Warnung. Jede Ebene ist wie folgt: Beschreibung der Ebene
Debug-Debug-Informationen
info allgemeine informationen
Beachten Sie wichtige Informationen
Warnmeldung
Fehler Fehler aufgetreten
kritischer Notfall
Alarm: Situation, die sofort behandelt werden muss
amerg Das System liegt im Sterben.
·LogFormat "%h %l %u %t"%r"%>s %b"{Referer}i""${UserAgent}i""combined
LogFormat „%h %l %u %t“%r“%>s %b“commom
LogFormat „%{Referer}i->%U“referer
LogFormat „%{User-agent}i“agent
Vier benutzerdefinierte Aufzeichnungsformate: kombiniert, allgemein, Referrer, Agent
·CustomLog /usr/local/httpd/logs/access_log common
Die Zugriffsprotokolldatei (access_log) verwendet ein benutzerdefiniertes allgemeines Format
·#CustomLog /usr/local/httpd/logs/referer_log-Referer
#CustomLog /usr/local/httpd/logs/agent_log Agent
#CustomLog /usr/local/httpd/logs/agent_log kombiniert
Diese drei Datensatzdateien verwenden ebenfalls benutzerdefinierte Formate (Referer, Agent, kombiniert), aber Anmerkungen weisen darauf hin, dass diese drei Dateien nicht verwendet werden.
·ServerSignatureOn
Bei der Einstellung „Ein“ wird auf der vom Server generierten Webseite (z. B. wenn ein Fehler auftritt) eine Zeile mit Informationen über die Apache-Version, den Host und den Verbindungsport angezeigt. Bei der Einstellung „E-Mail“ wird ein Mailto angezeigt : Hyperlink zum Administrator.
·Alias /icons/ "/usr/local/httpd/icons/"
Verwenden Sie einen kürzeren Alias im Format: Alias Alias Originalname.
·ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
Identisch mit Alias, außer dass dies das Verzeichnis ist, in dem das Serverskript festgelegt ist
·IndexOptionsFancyIndexing
Zeigen Sie eine ansprechende Dateiliste an (passen Sie die Grafiken zu jeder Datei unten an)
·AddIconByEncoding(CMP,/icons/compressed.gif)x-conpress x-gzip
·AddIcon /icons/blank.gif^^BLANKICON^^DefaultIcon/icons/unknow.gif
Dies sind die entsprechenden Grafiken für verschiedene Dateitypen bei der Anzeige der Dateiliste (früher FancyIndex genannt). Beispielsweise sind die Darstellungsgrafiken dieser drei Dateien, .ps, .si und .eps, alle im Format .gif.
·#AddDescription „GZIP-komprimiertes Dokument“ .gz
#AddDescription „tar-Archiv“ .tar
#AddDescription „GZIP-komprimiertes TAR-Archiv“ .tgz
Dies sind die Beschreibungen, die den Dateien bei der Anzeige der Dateiliste beigefügt werden. Das Format ist:
AddDescription Dateiname „Beschreibung“, zum Beispiel: AddDescription „It is private txt“ my.txt
·ReadmeName README
Wenn Sie die Dateiliste anzeigen, zeigen Sie unten den Dateiinhalt der README-Datei an. Einrichten des CGI-Skripts / Verwendung von httpd.conf als einzige Konfigurationsdatei / Benutzerautorisierung und Zugriffskontrolle. Es gibt viele Artikel zur Konfiguration und Verwendung von Apache In LinuxAid wird in diesem Artikel die Verwendung von Konfigurationsdateien und die Dateizugriffskontrolle bei der Verwendung von Apache erläutert. Dies kann als Ergänzung zur Verwendung von Apache angesehen werden.