Das Nötigste, was Apache-Module für statische Websites und keine Authentifizierung benötigen


12

Ich habe gerade das httpd-Paket in RHEL 6.1 installiert (das Apache 2.2.15 bereitstellt). Die Standard-httpd.conf enthält nicht weniger als 50 Instanzen der LoadModule-Direktive.

Ich möchte jedoch nur statische Inhalte, ein oder zwei Google Maps und CSS bereitstellen.

Ausprobieren zusammen mit apachectl configtestlässt mich glauben, dass ich nur mit den folgenden aktivierten Modulen davonkommen kann (sofern keine anderen Änderungen an der Standardkonfigurationsdatei vorgenommen wurden):

mod_authz_host
mod_log_config
mod_mime_magic
mod_setenvif
mod_mime
mod_autoindex
mod_negotiation
mod_dir
mod_alias

Gibt es Module, die in diese Liste aufgenommen werden sollten, um den Server besser / sicherer zu betreiben? Die offiziellen Dokumente scheinen darauf hinzudeuten, dass nichts weiter als mod_dirund mod_mimeabsolut notwendig für eine Barebones-Site ist.

Hinweis: Ich bitte nicht um Rat, welchen HTTP-Server ich für die angegebene Aufgabe verwenden soll. Mir ist bekannt, dass es "leichtere" Server gibt. Diese Frage bezieht sich auf Apache-Module.

Antworten:


9

Auf die Antwort wird in den offiziellen 2.2-Dokumenten im Abschnitt zur Leistungsoptimierung hingewiesen .

Hier stellt sich natürlich die Frage, welche Module Sie benötigen und welche nicht. Die Antwort hier wird natürlich von einer Website zur anderen variieren. Die minimale Liste von Modulen, mit denen Sie auskommen können, enthält jedoch in der Regel mod_mime, mod_dir und mod_log_config. mod_log_config ist natürlich optional, da Sie eine Website ohne Protokolldateien ausführen können. Dies wird jedoch nicht empfohlen.


6

Ich habe diese Frage gerade bemerkt, als ich einen neuen PC mit Apache 2.2 einrichtete. Hier ist das absolute Minimum an httpd.conf, das ich mir ausgedacht habe:

    ServerName 127.0.0.1
    Listen 8080
    LoadModule dir_module modules/mod_dir.so
    LoadModule mime_module modules/mod_mime.so
    DirectoryIndex index.html 
    DocumentRoot "C:/http_root"
    ErrorLog "logs/error.log"
    LogLevel warn                

Das brauchst ErrorLogdu natürlich nicht, aber ich habe experimentiert und brauchte offensichtlich Feedback, wenn meine httpd.conf-Datei Probleme verursachte. Sie müssen ServerNamewährend des Startvorgangs eine Warnung vermeiden, dass die Serveradresse nicht zuverlässig ermittelt werden kann. Ich kann Ihnen mit Sicherheit bestätigen, dass Sie eine Standarddatei von einer Verzeichnis-URL benötigen dir_moduleund mime_modulediese auch als HTML-Datei anstatt als Nur-Text-Datei anzeigen können.

Ich poste dies, weil ich die Standarddatei httpd.conf überwältigend kompliziert finde und ich mich erinnere, dass beim Erlernen von Tomcat alles viel klarer wurde, als ich die absolute minimale Serverkonfigurationsdatei entdeckte.

Wenn Sie PHP-Seiten servern möchten, benötigen Sie nur die folgenden 2 Zeilen (angepasst an Ihre Umgebung):

PHPIniDir "C:/php/"
LoadModule php5_module "C:/php/php5apache2_2.dll"

es wäre nützlich, dies für Linux zu sehen, Red Hat in meinem Fall. Ich versuche es oben, aber es
erfordert einige

1

Es hat einen Morgen gedauert, bis es durch Ausprobieren geklappt hat, aber auf Red Hat 6 (ish) funktioniert dies. Beachten Sie, dass ich eine vorhandene .htaccess-Datei überschreiben musste, die ich nicht ändern kann. Dies zeigt auf offline.html in Ihrem Stammverzeichnis

ServerName 127.0.0.1
Listen 80
TypesConfig /etc/mime.types
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so

User apache
Group apache
DocumentRoot "/homedir/"
DirectoryIndex offline.html
ErrorLog "/homedir/error.log"
LogLevel warn  

<Directory />
AllowOverride None
</Directory>

Wenn Sie die htaccess-Datei nicht überschreiben müssen, könnten Sie wahrscheinlich damit durchkommen (vorausgesetzt, Sie möchten eine Fehlerprotokollierung):

ServerName 127.0.0.1
Listen 80
TypesConfig /etc/mime.types
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so

User apache
Group apache
DocumentRoot "/homedir/"
DirectoryIndex offline.html
ErrorLog "/homedir/error.log"
LogLevel warn  
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.