Apache-Konfigurationsdateien. Apache & PHP – praktische Technologien

Die berufliche Weiterentwicklung steht immer im Mittelpunkt eigenes Werkzeug- Dies ist eine Garantie für eine zuverlässige und wirksame Erfüllung der Verpflichtungen. Eigenes Hosting und Server für verschiedene Zwecke in verschiedenen gängigen Konfigurationen erweitern den Umfang der gelösten Aufgaben und erhöhen die Sicherheit und Vertraulichkeit von Entwicklungen.

Natives HTTP: Apache, PHP, MySQL

Der Apache-Webserver ist seit dem letzten Jahrhundert fest führend, da er schnell, zuverlässig und zuverlässig ist sicheres Arbeiten. Physische Maschine und Server Linux-Steuerung oder Windows ist die Grundlage, HTTP ist das Add-on, obwohl es sich im Wesentlichen um ein Datenübertragungsprotokoll handelt. Als Server kann ein Windows-Rechner verwendet werden, bevorzugt wird jedoch die Linux-Familie.

Apache rein Windows-Umgebung– Dies ist eine lokale Option, die auf einem Computer verwendet wird, um die Entwicklung von Ressourcen zu duplizieren, die auf externen Servern gehostet werden. Die Einstellung ist akzeptabel, aber nicht sehr beliebt. Die Konfiguration von Apache auf CentOs bietet mehr Optionen und wird zum Organisieren von Servern in lokalen und globalen Netzwerken verwendet.

Es wird angenommen, dass Apache-Server mehr als 50 % aller aktiven Webressourcen bereitstellen, der verbleibende Anteil stammt von ähnlichen Produkten von Microsoft, Sun usw. Tatsächlich kann der physische Server und sein Betriebssystem alles sein. Der HTTP-Server wird auf einer vorgefertigten Plattform installiert und läuft parallel zu anderen Anwendungen darauf. Apache gilt als heimisch in der gesamten Linux-Familie, weist jedoch in jedem Einzelfall seine eigenen Merkmale auf.

Freiheit, Einfachheit und Zuverlässigkeit zeichnen Linux-Systeme und ihre Anwendungen aus. Es spielt keine Rolle, was Sie verwenden: Die Installation und Konfiguration von Apache unter Ubuntu unterscheidet sich nicht wesentlich von CentOs, Debian oder FreeBSD. Die Sättigung des einen oder anderen spielt oft eine Rolle Betriebssystem zusätzliche Software.

Die Linux-Familie ist klein im Hinblick auf die Anzahl der „Verwandten“ in der Reihe des einen oder anderen Systemkernels. Die Unterschiede sind eher sozialer Natur – im Sinne der Bindung der Entwickler an die Formulierung und Umsetzung der Fähigkeiten des Betriebssystems.

Um ein bestimmtes Hosting-Problem zu lösen, müssen Sie sich tatsächlich für die erforderliche Funktionalität, die erforderliche Leistung, konzeptionelle Prioritäten und eine bestimmte Wahl des Linux-Vertreters entscheiden oder sich darauf einigen Windows Server.

Verlagerung der lokalen Entwicklungsprioritäten

Es ist schwierig, die Rolle des globalen Netzwerks bei der Entwicklung der Programmierung einzuschätzen, aber es ist leicht, eine echte Verschiebung des Schwerpunkts festzustellen: Lokale Anwendungen werden mittlerweile zur Gewohnheit, als Webressource ausgeführt zu werden. Schreiben Sie einfach ein Programm für lokalen Computer- das sind Treiber, Antivirenprogramme, kleine Projekte mit einfacher Funktionalität. Programmiersprache... VBA, obwohl C/C++ oder C# verwendet werden kann.

Jedes Informationsprojekt ist eine Webressource in lokales Netzwerk Unternehmen, das teilweise über das globale Netzwerk erreichbar sein kann, um beispielsweise die Aktionen von Mitarbeitern außerhalb des Büros zu koordinieren, die unterwegs oder auf Geschäftsreise sind.

MySQL, PHP, Apache: Die Einrichtung für eine lokale Anwendung bedeutet eine völlig andere Dynamik der Anwendung und der erforderlichen Funktionalität. Moderne Unternehmen, unabhängig von Größe, Mitarbeiterzahl und Tätigkeitsbereich, denken ernsthaft über Internetprogrammierung nach, sowohl lokal als auch global.

Gleichzeitig kann das Lokale verteilt sein: Die Büros des Unternehmens können sich überall befinden, dies ist jedoch nicht das Internet, sondern ein verteiltes lokales Netzwerk des Unternehmens.

MySQL-, PHP-, Apache-Setup in lokaler Form:

  • einfache Duplizierung auf Netzwerkcomputern;
  • bietet die Möglichkeit, die aktive Komponente dynamisch zu ändern oder sie mit einer Probe zu vergleichen, um Hacking-Versuche zu bewerten;
  • gibt Anlass, ein Sicherheitssystem zu entwickeln, das frei von der Gefahr eines Angriffs durch klassische Netzwerkmethoden ist.

Wenn wir bedenken, dass MySQL und Apache in der Windows-Umgebung Dienste sind und PHP-Code einfacher Text ist, der von einem Tool (PHP-Interpreter) verarbeitet wird, das zum richtigen Zeitpunkt vom HTTP-Server aufgerufen wird, dann ist der Grad der Veränderbarkeit, Mobilität und Portabilität des Codes höher wird viel höher sein als bei lokalen Entwicklungstools.

Vorbereitung zur Installation von Apache

Im Zeitalter des „Anfangs der Anfänge“ definierte das Unix-Betriebssystem unausgesprochene Prinzipien der Loyalität. Seitdem wurde alles, was auf Unix-ähnlichen Systemen gemacht wurde, automatisch auf andere Plattformen übersetzt. Das Einrichten von Apache unter Windows ist äußerst einfach, aber die Lösung schwerwiegender Probleme erfordert gute Qualifikationen und ein detailliertes Verständnis der HTTP-Serverkonfiguration.

Zunächst müssen Sie es herunterladen letzte Version Server (heute ist es Version 2.4.33 vom 17. März 2018) von der offiziellen Website im Zip-Archivformat. Zunächst ist zu bedenken, dass es zahlreiche Serverversionen gibt und diese auf vielen Ressourcen Dritter angeboten werden. Daher ist es wichtig, eine offizielle Implementierung zu wählen, die auf einer vertrauenswürdigen Webressource gehostet wird.

Früher war es üblich, einen Server mit einem speziellen Installationsprogramm zu installieren. Mittlerweile ist es gängige Praxis, einfach ein Zip-Archiv bereitzustellen. Dies ist einfacher und ermöglicht es, den Kern des Konfigurationsprozesses zu verstehen, der sehr wichtig ist und Ihnen anschließend ermöglicht, den Server für die erforderliche Auslastung und Funktionalität zu optimieren.

Bearbeiten einer Konfigurationsdatei

Die Serverkonfiguration wird durch eine Reihe von Konfigurationsdateien bestimmt, die sich im Ordner „conf“ befinden. Die Hauptkonfigurationsdatei von Apache ist httpd.conf.

In den allermeisten Fällen ist es notwendig, Änderungen an der Hauptdatei vorzunehmen und den Inhalt der für SSL und virtuelle Hosts verantwortlichen Dateien zu klären. Weitere Anpassungen werden in der Regel unterwegs vorgenommen, wenn Probleme auftreten oder gelöst werden. Grundsätzlich beziehen sich weitere Einstellungen darauf, den Betrieb von Apache zu optimieren oder seine Fähigkeiten zu erweitern.

Um den Server erfolgreich zu starten, reicht es aus, nur eine Zeile (in der Reihenfolge – 38.) zu bearbeiten – und das Apache-Setup ist abgeschlossen.

In früheren Versionen der Serverkonfiguration mussten zahlreiche Änderungen vorgenommen werden, um sie an die reale Situation anzupassen. Jetzt gibt es eine „universelle“ SRVROOT-Variable. Sie müssen nur den korrekten Wert angeben (den Pfad zum Serverstandort) und alles funktioniert sofort.

Verfahren zur Serverplatzierung

Der Standort des Servers muss sorgfältig überlegt werden. Apache selbst ist interessant, aber wenn es mit PHP und MySQL ausgestattet ist, ist es doppelt interessant. Es ist besser, wenn alles, was mit der Webentwicklung zu tun hat, an einem Ort ist. Sie können den Standardpfaden zustimmen, aber die moderne Programmierung ist in der Umsetzung nicht so ideal, sodass Sie klar und häufig am Puls der Zeit bleiben müssen. Darüber hinaus stehen bei Auswahl eines geeigneten Speicherorts alle Initialisierungs- und Konfigurationsdateien sowie Protokolle über den Betrieb der installierten Produkte zur Verfügung.

Das heruntergeladene offizielle Apache-ZIP-Archiv muss am ausgewählten Speicherort bereitgestellt werden, wobei das Tool und der Job getrennt platziert werden. IN in diesem Beispiel Der Ordner C:\SCiA ist ein Tool (Apache24, PHP, MySQL, ...), und der Ordner SCiB ist eigentlich das Werk von Websites, die erstellt, gepflegt oder modernisiert werden.

Durch den ersten Arbeitsschritt landen lediglich die Unterordner bin, cgi-bin, conf, error, ... mit ihrem gesamten Inhalt im Ordner C:\SCiA\Apache24.

Bearbeiten der Hosts-Datei

Der zweite Schritt besteht in der richtigen Konfiguration hosts-Datei- eine Angabe darüber, welche IP-Adressen aktiv sind dieser Computer welche Namen zugeordnet sind. Wenn nur eine Website auf einem Computer entwickelt oder gepflegt wird, müssen Sie nichts ändern.

Basis-IP – 127.0.0.1 verweist normalerweise immer auf localhost. Die funktionierende Hosts-Datei befindet sich unter c:\Windows\System32\drivers\etc und sieht wie unten dargestellt aus.

Um die Hosts-Datei an der richtigen Stelle zu platzieren, müssen Sie die Befehlszeile im Administratormodus verwenden. Sie können den korrekten Inhalt der Datei an einer beliebigen Stelle im Dateisystem des Computers vorbereiten, Sie können ihn jedoch nur mit einem Tool mit Administratorrechten an die Adresse c:\Windows\System32\drivers\etc schreiben. Am einfachsten geht das über die Kommandozeile.

Apache Server installieren

Nichts könnte einfacher sein. Führen Sie einfach die Befehlszeile als Administrator aus und gehen Sie zum Ordner C:\SCiA\Apache24. Denn das ist der richtige Weg Windows-System, dann werden Schrägstriche verwendet. Im Einzelfall kann der Weg unterschiedlich sein. Wenn Sie jedoch immer noch irgendwie mit dem Namen des Ordners experimentieren können, in dem die heilige Dreifaltigkeit gehostet wird – Apache, PHP und MySQL –, ist es unpraktisch, die Ordnernamen für jeden von ihnen zu ändern.

In diesem Fall wird das Serverarchiv im Ordner C:/SCiA/Apache24 bereitgestellt. Daher müssen Sie den Befehl in den Ordner bin schreiben:

  • httpd.exe -k installieren

Der Server testet die Konfigurationsdatei und installiert sich selbst. Höchstwahrscheinlich wird es kleinere Fehler geben, aber wenn Sie die Konfigurationsdatei richtig bearbeiten, sind alle Fehler unbedeutend und können schnell behoben werden.

Fenster (1) Befehlszeile- Installation des Dienstes, Fenster (2) - Liste der Dienste, in denen der Server deklariert wurde, Fenster (3) - Quelldatei index.html, befindet sich unter C:/SCiB/localhost/www, Fenster (4) - Ergebnis von der Kellner.

In diesem Beispiel wurde ein absichtlicher Fehler gemacht: Anstatt den Wert der SRVROOT-Variablen festzulegen, wurden zahlreiche Änderungen „auf die altmodische Art“ vorgenommen: Alles wurde manuell geändert. Das ist nicht das Meiste Die beste Entscheidung. Bevor Sie das Wissen anwenden, sollten Sie sich mit der aktuellen Version des Produkts vertraut machen. In der Regel ändern sich die Dinge schnell und Wissen sollte „mit Geschick und Verständnis für die aktuelle Situation“ angewendet werden.

Praxis der Bereitstellung eines Zip-Archivs

Moderne Websites werden nicht immer mit Content-Management-Systemen geschrieben. Es gibt viel Handarbeit. Das Problem der Übertragung einer Site auf ein anderes Hosting bot eine gute Lösung – ein Zip-Archiv. Wir haben den Inhalt an einer Stelle reduziert und an einer anderen erweitert.

Einen Installateur zu haben ist eine gute Praxis, aber die Dynamik ist modern Informationstechnologien lässt einem keine Zeit, schöne Installationen zu schreiben. Die Installation per Zip-Archiv-Bereitstellung ist modern, praktisch und komfortabel. Bei dieser Option beschränkt sich die Konfiguration von Apache auf die Änderung der Konfigurationsdateien.

Bei der Installation des Servers ist es wichtig anzugeben:

  • wo befindet er sich;
  • wo sich die Webressource befindet (localhost);
  • mit SSL;
  • virtuelle Hosts.

Die letzte Position ist relevant, wenn der Server mehrere Ressourcen gleichzeitig entwickeln oder verwalten soll. Für einen echten Entwickler ist dies eine zwingende Entscheidung: Auch wenn er den Betrieb einer Site sicherstellt, wäre eine Backup-Option nicht überflüssig.

Gentleman-Sets

Die einfache Bereitstellung eines Zip-Archivs liegt auf der Hand, Apache (Installation und Konfiguration) ist mit nur zwei oder drei Klicks erledigt. Als Installateure jedoch beliebt waren, war das Ergebnis gleichwertig. Der Entwickler hat einfach mehr Zeit damit verbracht, die nächste Version seines Produkts zu entwickeln. Die Installation des Servers, der Serversprache und der Datenbank besteht im Wesentlichen nur aus einer Sammlung von Dateien, Startdiensten, einer Hosts-Datei und Standardpfaden in der Pfadvariablen des Betriebssystems.

Das Erscheinen von „Denver“ und ähnlichen Gentleman-Entwicklungskits war ein revolutionärer Schritt im Bereich Einfachheit und Bequemlichkeit, aber man sollte sich nicht täuschen. Revolution und Programmierung sind absolut unvereinbare Dinge. Der erste ist das Kind eines Konflikts und seiner stürmischen Lösung, der zweite ist eine ernste Angelegenheit, die absolute Ruhe, Pünktlichkeit, Genauigkeit, Konsequenz, Aufmerksamkeit, Sicherheit und Zuverlässigkeit erfordert.

Das Einrichten eines Apache-Servers ist ein schwerwiegender Vorgang, der äußerst sorgfältig behandelt und alles getan werden muss, damit Sie morgen etwas ändern und klären können.

In den meisten Fällen ist die Entwicklung von Webressourcen ein ziemlich langwieriger Prozess, bei dem sich die Anforderungen an Dienste (Apache, PHP, MySQL, ...) schnell ändern, aber immer Zeit bleibt, die nächste Aufgabe und ihre optimale Lösung zu verstehen. Dies ist jedoch kein Grund, sich für Herrensets zu entscheiden. Die Zeit vergeht, aber der Herr ändert sich nicht, das ist ein viel überzeugenderes Argument als die „Denver“-Erklärung – es ist einfach, schnell und zugänglich.

Mehrere Standorte – ein Server

Apache 2.4 für einen einzigen Host zu konfigurieren, ist ein ungerechtfertigter Luxus. Trotz der kompakten Bauweise auf den Schultern dieses Servers Für die meisten aktiven Webressourcen im Internet liegt eine große Verantwortung. Darüber hinaus haben nicht alle Ressourcen einen repräsentativen Anteil und sind im Netzwerk sichtbar.

Der Server kann als Datenbank, als Punkt der Informationsübertragung, als Filter, als Parser, als Arbeitsmechanismus in einem globaleren Informationsprozess verwendet werden. Aus den oben genannten Gründen ist die Einrichtung virtueller Apache-Hosts fast immer ein obligatorischer Vorgang.

Ein Server kann beliebig viele Webressourcen unterstützen; dazu müssen Sie Zeile 501 in der Datei httpd.conf auskommentieren:

  • # conf/extra/httpd-vhosts.conf einschließen

und beschreiben Sie alle notwendigen Hosts in der Datei

  • extra\httpd-vhosts.conf.

Möglicherweise müssen Sie klären, auf welche Ports und IP-Adressen der Server lauscht, aber das ist ein separates Thema; zum ersten Mal können Sie sich auf das beschränken, was Sie haben.

Es ist zu beachten, dass im Beispiel zur Vereinfachung der Beschreibung realer virtueller Webressourcen (und davon gibt es viele) eine Variable (DOCROOT) mit dem Pfad zu freigegebenen Ordner Alle Webressourcen, auf die über den installierten Server zugegriffen werden kann.

Die Einrichtung von Apache SSL erfolgt auf ähnliche Weise. In der Datei httpd.conf müssen Sie lediglich die Zeilen 524 bis 531, die für den Betrieb von SSL verantwortlich sind, „wie sie sind“ belassen.

Die Einfachheit und Komplexität von Apache

Die Zeiten, in denen das Einrichten eines Servers wirklich eine schwierige Aufgabe war, sind lange vorbei. Heutzutage ist die Einrichtung von Apache ein sehr einfacher Vorgang, der keine besonderen Qualifikationen des Entwicklers erfordert.

Drei einfache Schritte:

  • Archiv erweitern;
  • die Konfigurationsdatei ändern;
  • Installieren Sie den Server.

Dadurch ist Apache voll funktionsfähig. Wenn Sie die Feinheiten des Prozesses, auf dem ein Server ausgeführt wird, nicht berücksichtigen Maximale Last oder eine lokale Entwicklung auf einem Windows-Computer durchführen, es sind keine zusätzlichen Kenntnisse erforderlich.

Auf Linux-Systemen kann es zu Schwierigkeiten kommen. Deutlich unterschiedliche Vorstellungen darüber Dateisystem, Benutzer- und Gruppenrechte sowie die Organisation des Interaktionsprozesses mit anderen Anwendungen erfordern vom Entwickler mehr Kompetenz und Verständnis für die Funktionsweise von Linux-Computern.

Das Einrichten von Apache auf einem beliebigen Linux-System eröffnet dem Entwickler viel mehr Möglichkeiten und ermöglicht den Zugriff auf das lokale Netzwerk und das Internet. Gemäß der etablierten Tradition ist ein Windows-Computer eine lokale Workstation und der Server ist intern. Ein Linux-Computer ist ein lokaler Netzwerkknoten oder ein Punkt im Internetraum.

Professionelle Entwicklerumgebung

Apache ist ein grundlegender Baustein des Internets, der einfach konfiguriert und verwendet werden kann und zum Rückgrat eines Unternehmens wird.

Diese Logik geht davon aus, dass mindestens ein Server im Netzwerk auf den Workstations CentOS, Ubuntu, FreeBSD und Windows vorhanden ist. Optimal ist es, über zwei Linux-Server (Haupt- und Hilfsserver) zu verfügen und Apache für einen lokalen Computer in einer Windows-Umgebung einzurichten. Im Falle eines Virenbefalls oder einer unvorhergesehenen Situation ersetzt der Hilfsserver den Hauptserver und der Hauptserver wird für Reparatur und Wiederherstellung verwendet. Ersetzen lokale Installation Apache auf einer Workstation (unter Windows) kann aus dem Archiv heruntergeladen werden.

Diese triviale Lösung kann in der Praxis verfeinert und ergänzt werden. Die Größe der Informationsflüsse eines Unternehmens kann die gewünschte Konfiguration und die Anzahl der erforderlichen Server bestimmen. Eigentlich ist Apache für den Betrieb unter Last konzipiert, aber nichts hindert Sie daran, die Verantwortlichkeiten eines Servers auf mehrere zu verteilen. Eine Lösung, die die Besonderheiten eines bestimmten Unternehmens berücksichtigt, ist immer erfolgversprechender als die Anpassung einer Drittanbieteroption.

andew

23.07.2016T17:54:43+00:00

25.08.2017T04:44:37+00:00

6254

Der Artikel bietet einen Überblick über die Konfiguration des Apache-Webservers im Ubuntu-Server mit der Standardinstallation von LAMP in Ubuntu. Die Logik und Struktur der Organisation von Webserver-Konfigurationsdateien wird erläutert. Die Zwecke der Hauptserverkonfigurationen werden beschrieben. Grundlegende werden gegeben Linux Ubuntu Befehle zur Manipulation der Konfiguration, Konfiguration und Verwaltung des Apache-Webservers. Gilt als Standardsite, die während des Apache-Installationsprozesses erstellt wird. Dieser Artikel wird Ihnen beim Einrichten und Verwalten Ihres LAMP-Servers hilfreich sein.

So fügen Sie Unterstützung hinzu PHP als Skriptprozessor in Apache An Ubuntu oder Windows ausführlich im Artikel beschrieben PHP7 unter Windows installieren Im Kapitel Einstellungen.

Apache-Standard-Webseite

Während einer Standard-Webserverinstallation Apache V Ubuntu Server Es wird eine Testseite erstellt, die dazu dient, die Funktionalität des Webservers nach seiner Installation zu testen. Diese Site ist standardmäßig so konfiguriert, dass der Browserzugriff nur auf die darin enthaltenen Dateien und Verzeichnisse möglich ist /var/www Verzeichnisse Ubuntu Server. Wenn nach Abschluss der Installation Apache, öffnen Sie in Ihrem Browser eine Webseite unter der Adresse IP Ihr Webserver wird angezeigt Startseite Server - Apache2 Ubuntu-Standardseite. Dies wird zunächst einmal gesagt Apache erfolgreich installiert und funktioniert. Diese Seite liegt physisch auf dem Server in einer Datei /var/www/html/index.html und die Standardkonfiguration des virtuellen Hosts ist für seine Konfiguration und Ausgabe im Browser verantwortlich ( /etc/apache2/sites-available/000-default.conf), der den virtuellen Host (Site) für das Verzeichnis definiert /var/www/html und wird während der Serverinstallation erstellt Apache. Wenn Sie Ihre Dateien in diesem Ordner ablegen, werden sie dementsprechend vom Webserver verarbeitet. Auch hierzu Standardseite im Abschnitt Konfigurationsübersicht Sie sehen eine schematische Darstellung der Struktur der Serverkonfigurationsdatei. Hier müssen Sie die Struktur, Namen und Speicherorte von Konfigurationen verstehen Apache V Ubuntu abweichen vom allgemein akzeptierten Schema, das zur Vereinfachung der Serververwaltung durchgeführt wird. Hier gibt es jedoch eine Einschränkung: Wenn Sie bisher nicht mit der Organisation von Verzeichnissen im Home-Verzeichnis vertraut waren Apache An Ubuntu, dann kann Sie dieses Diagramm nur verwirren, denn Es stellt nicht alle Ordner dar, sondern nur die Verzeichnisse, in denen symbolisch Links zu aktiviert Konfigurationsdateien. Für ein besseres Verständnis sehen Sie sich daher unten in diesem Artikel das vollständige Verzeichnis- und Dateidiagramm des Home-Verzeichnisses des Apache-Webservers an. Zu den wertvollen Dingen im Abschnitt der Apache-Webseite gehören Links zu Mann"S Debian für Mannschaften a2enmod, a2dismod, a2ensite, a2dissite, a2enconf, a2disconf, die zum Aktivieren und Deaktivieren bestimmter Arten von Konfigurationsdateien verwendet werden und im Detail beschrieben werden. Hier steht auch, dass zum Senden von Befehlen an den Webserver ( gestartet/gestoppt usw.) müssen Kontakt aufnehmen /etc/init.d/apache2 oder zu apache2ctl, was auch eine Funktion des Servers in Ubuntu ist. Auf dem Ubuntu-Server in der Datei /usr/share/doc/apache2/README.Debian.gz Sie können eine vollständige Dokumentation für finden Apache.

Apache-Home-Verzeichnis unter Ubuntu

Default, heim Webserver-Verzeichnis Apache V Ubuntu sei dran /etc/apache2/ Pfade im Dateisystem. Alle Konfigurationsdateien befinden sich in diesem Verzeichnis und seinen Unterverzeichnissen. Apache. Sie können den Pfadwert des Home-Verzeichnisses des Webservers mithilfe der ServerRoot-Direktive „/etc/apache2“ in der Hauptkonfiguration ändern apache2.conf. Dort ist die ServerRoot-Direktive standardmäßig auskommentiert, was ihrem Wert als „/etc/apache2“ entspricht ( Diese Direktive sollte keinen abschließenden Schrägstrich enthalten!). Wert des Home-Verzeichnispfads Apache(ServerRoot) ist erforderlich, damit der Server weiß, wo im Dateisystem er nach seinen Konfigurationsdateien suchen soll. Auch der ServerRoot-Wert kann sich aussetzen vom Server in einigen Anweisungen als Argument erwartet Weg im Dateisystem Ubuntu. Daher ist es in solchen Fällen sinnvoll, wenn der Pfad ohne angegeben wird primär Schrägstrich also Apache Werde es so nehmen relativ Weg zu dir heim Verzeichnisse. Wenn Sie beispielsweise die Direktive AuthUserFile .htpasswd angeben, dann in dieser Version Apache interpretiert den angegebenen Pfad als relativ und verwandle es in /etc/apache2/.htpasswd, indem Sie den Wert Ihres Pfades voranstellen heim Verzeichnisse.

Apache-Home-Verzeichnisstruktur unter Ubuntu

Im Gange Standard WEB-Installationen Server Apache V Ubuntu Es entsteht folgende Struktur von Dateien und Verzeichnissen im Home-Verzeichnis des Webservers:

/etc/apache2/ ...................................Apache-Home-Verzeichnis in Ubuntu - ServerRoot |-- conf-verfügbar...................Verzeichnis, enthält verschiedene Konfigurationen | `-- charset.conf ...................Datei zur Angabe von Kodierungen | `-- localized-error-pages.conf .....Datei zum Festlegen von Fehlerseiten | `-- other-vhosts-access-log.conf ...Datei zur Angabe virtueller Hostprotokolle | `--security.conf ......Datei für Sicherheitsanweisungen | `--serve-cgi-bin.conf ......Datei für CGI-Konfigurationsanweisungen |-- conf-aktiviert aktiviert Konfigurationen von conf-verfügbar| `-- @ ........................ LINKS zu aktivierten Konfigurationen von conf-verfügbar |-- Mods verfügbar......................Verzeichnis mit Konfigurationen der installierten Apache-Module | `-- ...........................verfügbare Konfigurationen von Apache-Modulen |-- Mods-fähig........................ Verzeichnis, enthält LINKS zu aktiviert Modulkonfigurationen von Mods verfügbar| `-- @ .................... LINKS zu aktivierten Konfigurationen von Apache-Modulen |-- Websites verfügbar....................Verzeichnis enthält verfügbare virtuelle Hostkonfigurationen | `-- 000-default.conf ...............Standardmäßige virtuelle Hostdatei für Port 80, erstellt während der Apache-Installation | `-- default-ssl.conf ...............Standard-Virtual-Host-Datei für Port 443, erstellt während der Apache-Installation |-- Sites-aktiviert.......................Verzeichnis, enthält LINKS zu aktiviert virtuelle Hostkonfigurationen von Sites-aktiviert| `-- @000-default.conf ...............Link zur aktivierten virtuellen Host-Konfiguration |-- apache2.conf........................HAUPTSÄCHLICH config des Apache-Webservers in Ubuntu |-- envvars .............................Datei mit Pfadeinstellungen für die Apache-Umgebung | -- magic ...............................Skriptdatei für das Modul mime_magic(dieses Modul ist standardmäßig nicht aktiv) |--ports.conf ........................... Datei für die Aufgabe Häfen auf dem Apache-Verbindungen akzeptiert werden

Die angegebenen Beispiele stammen vom Betriebssystem Ubuntu Server 16.04 LTS, aber das Gleiche wird auch in anderen Versionen und Distributionen von Ubuntu passieren, sowohl in der Serverversion als auch in der Desktop-Version.

Apache-Konfigurationslogik

Wie oben erwähnt, in Ubuntu gebraucht exzellent von der ursprünglichen Organisationsstruktur der Konfigurationsdateien und Verzeichnisse für den Webserver Apache.

Erstens, V Ubuntu, Aufbau Apache eingeteilt in ein Haufen Verschiedene Konfigurationen entsprechend ihrer funktionell Zweck. Zum Beispiel Anweisungen, die angeben Hafen für den Server, in einer separaten Datei abgelegt ports.conf. Anweisungen, die für bestimmte Serversicherheitsparameter verantwortlich sind, werden in einer Datei abgelegt security.conf. Daher sind die Richtlinien nach ihren eigenen Richtlinien gruppiert Bedeutung in separate Konfigurationsdateien. Dies ist beim Lesen, Bearbeiten, Aktivieren und Deaktivieren von Konfigurationen durchaus logisch und praktisch. Bei diesem Ansatz wird jede einzelne Datei kleiner und kleiner hochspezialisiert Teil der Konfiguration. Sie müssen jedoch verstehen, dass eine solche Fragmentierung ausschließlich der Bequemlichkeit und Automatisierung des Setups dient und technisch gesehen, wenn Sie möchten, alle Anweisungen und Einstellungen in eine Datei schreiben können, die Arbeit mit einer solchen Datei jedoch nicht so bequem ist .

Zweitens: Center die gesamte Konfiguration ist hauptsächlich config Apache Webserver - apache2.conf Datei. Es ist diese Datei in Erste Die Warteschlange sucht und liest den Webserver Apache beim Start oder Neustart. Und bereits in dieser Datei werden Direktiven verwendet Enthalten, wo sie angegeben sind, werden alle anderen angegebenen Konfigurationen verbunden und geladen. Auf diese Weise werden alle Konfigurationsdateien zusammengefasst einzel Webserver-Konfiguration und dies geschieht, wenn Apache liest Dateien von in Ordnung ihre Verbindungen, beginnend mit hauptsächlich config. Daraus ergibt sich eine wichtige Anmerkung: Befehl Befolgen Sie die Anweisungen in der Konfiguration Apache und dementsprechend, Befehl Das Verbinden von Konfigurationsdateien ist wichtig, da später vom Server gelesene Anweisungen früher vom Server gelesene Anweisungen überschreiben können. Dies müssen Sie beim Einrichten des Servers berücksichtigen.

Drittens: Wenn Sie sich die Verzeichnisstruktur ansehen heim Verzeichnisse Apache, dann sehen Sie drei Paare Verzeichnisse mit Namen wie: Verzeichnispräfix-verfügbar/aktiviert. Diese logische Struktur dient zur Verteilung Ihrer Konfigurationen drei Gruppen, ausgehend von Präfix Verzeichnisnamen, wo conf-* Dies sind Verzeichnisse für Ihre anderen Konfigurationen. Modifikationen-* Dies sind Verzeichnisse für Apache-Modulkonfigurationen und Websites-* Dies sind die Verzeichnisse für Ihre Konfigurationen virtuell Gastgeber. Der zweite Teil des Namens dieser Verzeichnisse -verfügbar/-aktiviert bezeichnet logischerweise nur die allgemein verfügbaren aktiv im Moment die configs. Ja in Verzeichnissen *-verfügbar alles ist gespeichert verfügbar Konfigurationsdateien zu verwenden, und zwar bereits in Verzeichnissen wie *-ermöglicht symbolisch Links (Verknüpfungen) nur für diese Konfigurationen von *-verfügbar Verzeichnisse, die vom Webserver beim Laden der Konfiguration gelesen werden sollen. Apache liest nur Verzeichnisse wie *-ermöglicht Daher werden nur die Konfigurationen angewendet, die in diesen Verzeichnissen vorhanden sind Links. Dieser Ansatz bietet zusätzlichen Komfort, da Sie alle Ihre Konfigurationen in Verzeichnissen im Home-Verzeichnis des Servers speichern und nur verwenden können notwendig in aktuelle Münzen umwandeln.

Viertens: Konfigurationsanweisungen für den Webserver Apache haben Kontext(), in dem sie tätig sind. Konzept Kontext Direktiven geben an, wo, auf welcher Ebene und in welcher Konfiguration sich diese Direktive befindet Vielleicht verwendet werden. Die Verwendung derselben Anweisung kann nur in einem Kontexttyp oder in mehreren Kontexttypen zulässig sein. Wenn eine Direktive in einem Kontext verwendet/geschrieben wird, der für sie ungültig ist, dann wird dies der Fall sein Fehler Apache-Webserver beim Laden der Konfiguration, was zum Stoppen führt. Achten Sie daher beim Verfassen Ihrer Direktiven immer auf den Kontext ihrer Anwendung, der in der Dokumentation zur Direktive auf der Apache-Website immer angegeben ist.

Fünftens: Das musst du verstehen Apache liest und wendet alle aktiven Konfigurationen nur an, wenn Start oder neu starten. Nach dem Start liest Apache die Konfiguration nicht mehr erneut. Die Ausnahme ist die Datei .htaccess, eine Datei auf lokaler Ebene Katalog Website und lesen Sie erneut, wann alle Zugriff auf dieses Site-Verzeichnis. Dementsprechend, wenn Sie außerhalb Konfigurationsparameteränderungen vorgenommen haben .htaccess Datei, dann ist es notwendig, dass sie wirksam werden neu starten Netz Server Apache.

Arten von Direktivenkontexten:

  • Serverkonfiguration - global Direktivenebene zur Verwendung in allgemeinen Serverkonfigurationsdateien draußen Und draußen Behälter und draußen Datei .htaccess;
  • virtueller Host- Ebene virtuell Host, auf dem die Direktive angewendet werden soll Container;
  • Verzeichnis- Ebene Katalog, muss die Direktive innerhalb von Containern verwendet werden , , , ;
  • .htaccess- Ebene lokales Verzeichnis Website kann die Direktive in einer .

Konfigurationsverwaltungsbefehle

Für Komfort und Automatisierung des Konfigurationsmanagements Apache V Ubuntu verfügbar Spezialteams, mit dem Sie bestimmte Konfigurationsdateien in die Serverkonfiguration einschließen oder ausschließen, den Server starten und neu starten sowie die Einstellungen von Umgebungsvariablen anzeigen und ändern können Apache und vieles mehr.

Konfigurationsbefehle zum Aktivieren/Deaktivieren

Um bestimmte Konfigurationen zu aktivieren und zu deaktivieren Ubuntu werden zur Verfügung gestellt Mannschaften Assistenten im Einklang mit verfügbar/ermöglicht Und Präfix Katalog. Zum Beispiel der Befehl a2enconf, was entziffert werden kann als apache2-enable-conf, aktiviert die in seinem Argument angegebene Konfigurationsdatei von conf-verfügbar Verzeichnis durch Erstellen einer symbolischen Datei Links im Katalog conf-aktiviert. Team a2disconf führt die gegenteilige Wirkung aus, d. h. entfernt diesen Link. Eine ähnliche Logik gilt für andere Befehle: a2enconf/a2disconf, a2enmod/a2dismod, a2ensite/a2dissite. Sie können aber auch manuell symbolische Links zu den benötigten Konfigurationen in Verzeichnissen wie erstellen/löschen *-ermöglicht.

Aufmerksamkeit: Damit Konfigurationsänderungen wirksam werden, müssen Sie sie ausführen neu starten WEB-Server-Konfiguration Apache.

a2enconf/a2disconf

Zum Aktivieren oder Deaktivieren der gewünschten Konfiguration im Verzeichnis conf-verfügbar Verwenden Sie in der Serverkonfiguration die Befehle:

Konfiguration aktivieren:

Sudo a2enconf

Konfiguration deaktivieren:

Sudo a2disconf

a2enmod/a2dismod

Um das installierte Apache-Modul aus dem Verzeichnis zu aktivieren Mods verfügbar

Aktivieren Sie das Apache-Modul

Sudo a2enmod

Deaktivieren Sie das Apache-Modul

Sudo a2dismod

a2ensite/a2dissite

Um die virtuelle Hostkonfiguration aus dem Verzeichnis zu aktivieren Websites verfügbar und deaktivieren Sie es mit den folgenden Befehlen:

Aktivieren Sie den virtuellen Host in Apache

Sudo a2ensite

Deaktivieren Sie den virtuellen Host in Apache

Sudo a2dissite

Apache-Steuerbefehle

IN Ubuntu, dank der Verwendung von Umgebungsvariablen, für den Zugriff zum Dämon Der httpd-Webserver kann Aufrufe verwenden wie: /etc/init.d/apache2 oder apache2ctl oder Apache2:

Sudo/etc/init.d/apache2 Sudo apache2ctl Sudo Apache2

Konzepte: Konfiguration, Anweisungen. Konfigurationsdateien, Anweisungen. Grundlegende Konfigurationsanweisungen. Serverprozesse. Kontrollieren Sie den Zugriff auf Verzeichnisse und Dateien.

Konfiguration (lateinisch configuratio – gegenseitige Anordnung) ist eine spezielle logische und methodische Technik, eine mentale Technik zur Synthese von Wissen über verschiedene Themen, unterschiedliche Vorstellungen über dasselbe Objekt.

Richtlinien, g. (von lateinisch directio – Richtung). Allgemeine Anweisungen einer übergeordneten Autorität an einen Untergebenen (Arbeitsplatzserver usw.) .

Die Konfigurationsdatei ist eine Datei mit einem relativ einfachen Format. Jede Zeile repräsentiert ein Schlüsselwort und ein oder mehrere Argumente. Der Einfachheit halber enthalten die meisten Zeilen nur ein Argument. Alles, was auf das #-Symbol folgt, ist ein Kommentar und wird ignoriert.

Apache wird durch Ändern der Dienstdateien im Verzeichnis /etc/httpd/conf/ konfiguriert. Die Hauptkonfigurationsdatei des Webservers ist httpd.conf. Konfigurationsdirektiven können in verschiedenen Dateien platziert werden, die file_name.conf im Haupt-Include-Konstrukt enthalten.

Wenn der Speicherort einer Datei oder eines Verzeichnisses implizit in der Konfigurationsdatei angegeben ist (der explizite Speicherort beginnt im Stammverzeichnis des Dateisystems – mit dem Zeichen „/“), verwendet Apache das in der ServerRoot-Direktive angegebene Verzeichnis, um den tatsächlichen Speicherort zu bestimmen das Ziel.

Beschreibung der Apache-Module und Konfigurationsanweisungen

Richtlinien können auf folgenden Ebenen verwendet werden:

Eine Serverkonfigurationsebene – die Direktive kann nur in der Hauptkonfigurationsdatei verwendet werden.

Stufe V - Die Direktive kann für verschiedene virtuelle Hosts unterschiedlich verwendet werden.

D-Niveau - Für jedes Verzeichnis können Sie mit einer Direktive dieser Ebene Ihre eigenen Einstellungen festlegen.

H-Ebene von .htaccess-Dateien – die Direktive darf in .htaccess-Dateien an Stellen verwendet werden, an denen sie vom Server zugelassen werden.

Zu jedem Zeitpunkt gibt die Verwendung des Dateinamenparameters in der Direktive einen absoluten (beginnend mit „/“) oder relativen Pfad zur Datei aus dem ServerRoot-Verzeichnis an.

CORE – Webserver-Kern (Apache-Kernmodul)

AccessConfig-Dateiname

Legt den Speicherort der Konfigurationsdatei fest. Die Standard-Systemkonfigurationsdatei ist conf/access.conf; Um das Lesen dieser Datei abzubrechen, wird empfohlen, /dev/null festzulegen.

AccessFileName-Datei Datei ...

Legt die Namen der Zugriffsdateien fest, die standardmäßig zur Konfiguration der On-the-Fly-Konfiguration verwendet werden – .htaccess.

AddModule-Modulmodul ... [A]

Aktiviert ein dynamisch geladenes Modul, das als separate Bibliotheksdatei bereitgestellt wird.

AddModule-Modulmodul ...

Aktiviert ein dynamisch geladenes Modul, das als separate Bibliotheksdatei bereitgestellt oder im Haupt-httpd-Modul kompiliert wird.

AllowOverride param param ...

Legt die Regeln fest, nach denen Apache Anweisungen in internen .htaccess-Dateien verwendet;

Keine – ignoriert;

All – verwendet alle Anweisungen;

Optionen – ermöglicht die Verwendung von Optionen und XBitHack;

Indizes – Anweisungen zur Verwaltung der Verzeichnisindizierung;

FileInfo – Anweisungen zum Verwalten von Dateitypen und ihren Handlern;

AuthConfig – Anweisungen für den Zugriff auf Auth*-Verzeichnisse;

Limit – Anweisungen zum Erlauben/Verweigern/Anordnen.

AuthName-Bereich

AuthType-Typ

Wird verwendet, um eine Methode zum Anfordern und Übertragen eines Benutzernamens und Passworts für den Zugriff auf Website-Verzeichnisse anzugeben. Am häufigsten verwenden sie Basic, seltener Digest und andere.

BindAddress-Adresse [A]

Gibt die Adresse an, unter der Apache Verbindungen akzeptiert. Sie können Hostname, IP-Adresse oder * verwenden.

ClearModuleList [A]

Die Direktive löscht die Liste der geladenen Module. Nach dieser Anweisung müssen Sie AddModule-Anweisungen verwenden, um mit den erforderlichen Modulen zu arbeiten.

ContentDigest ein/aus

Aktiviert oder deaktiviert die MD5-Daten-Hash-Weiterleitung. Es wird für alle übertragenen Seiten berechnet und nicht zwischengespeichert.

CoreDumpDirectory-Verzeichnisname [A]

Verweist Apache auf das Verzeichnis, in dem für den Notfall erstellte Speicherauszugsdateien (Kern) gespeichert werden.

DefaultType-Mimetyp

Sets Mime Typ, wird an Clients gesendet, wenn Apache den Typ nicht über die Datei mime.types oder AddType-Anweisungen ermitteln kann. Die Standardeinstellung ist Text/Plain.

...

Kombiniert eine Gruppe von Anweisungen, die das Verhalten von Apache beim Zugriff auf Dokumente in einem bestimmten Verzeichnis festlegen. Es ist erlaubt, Namensmasken zu verwenden - Symbole *, ? nach Shell-Regeln. Bei Verwendung einer Maske wird dem Namen eine Tilde ~ vorangestellt.

...

Definiert eine Gruppe von Verzeichnissen, die durch einen regulären Ausdruck angegeben werden, und legt die Regeln fest, nach denen Apache mit Verzeichnissen und Dateien in dieser Gruppe arbeitet.

DocumentRoot-Verzeichnisname

Zeigt dem Server den Speicherort des Stammverzeichnisses des Verzeichnisbaums an, unter dem sich die Datenstruktur des Webservers befindet.

FehlerDokumentdateiname|Zeichenfolge|URL

Im Fehlerfall erfolgt eine Weiterleitung auf die angegebenen Seiten. Sie können auch einen Kommentar zur aufgetretenen Situation setzen, der mit einem einfachen Anführungszeichen beginnen sollte. Beispiel:

ErrorDocument 500 http://foo.example.com/cgi-bin/tester

FehlerDokument 404 /cgi-bin/bad_urls.pl

FehlerDokument 401 /subscription_info.html

FehlerDokument 403 „Leider kann ich Ihnen heute keinen Zugriff gewähren.“

Name der ErrorLog-Datei

Name der Fehlerprotokolldatei. Wenn die Parameterzeile mit (/) beginnt, muss der Pfad zur Datei von ServerRoot aus angegeben werden; Wenn es mit (|) beginnt, werden Fehlermeldungen bei der Standardeingabe an den angegebenen Befehl übergeben. Insbesondere können Sie auf diese Weise beispielsweise das Speichern des Protokolls direkt im SQL-DBMS umsetzen oder es sofort komprimiert speichern und beispielsweise nach gzip übertragen. Apache-Versionen 1.3 und höher geben standardmäßig Meldungen an Syslog aus, wenn das System diese Funktion unterstützt; Dies kann jedoch mit syslog:facility deaktiviert werden.

...

Dateizugriffskontrolle. Abschnitte werden in der gleichen Reihenfolge wie in der Konfigurationsdatei verarbeitet, nachdem die Direktivenabschnitte gelesen wurden und .htaccess-Dateien, jedoch bevor die Verzeichnisabschnitte gelesen werden . Das Argument muss den Dateinamen oder eine Maske mit „?“ enthalten. – beliebiges Zeichen, „*“ – beliebige Zeichenfolge. Mit dem zusätzlichen ~-Symbol können erweiterte Regs verwendet werden. Ausdrücke (siehe Abschnitt REGELMÄßIGE AUSDRÜCKE in grep(1)) Zum Beispiel: entspricht häufig verwendeten Grafikdateien im Internet.

...

Gleich wie , verwendet aber reguläre Ausdrücke.

Es bezieht sich nur auf das Starten von Apache- und Forking-Prozessen in der Umgebung und mit den Rechten, die dem angegebenen Namen entsprechen.

HostNameLookups ein|aus|doppelt

Steuert die Möglichkeit, den Hostnamen des Besuchers mithilfe von Reverse-DNS zu ermitteln. Es arbeitet langsam und gilt standardmäßig als deaktiviert. Double gibt an, dass der Hostname einer zusätzlichen Prüfung unterzogen werden sollte, um sicherzustellen, dass der Name mit der IP-Adresse des Hosts übereinstimmt, der die Anfrage gesendet hat.

Identitätsprüfung ein/aus

Aktivieren Sie die RFC1413-Authentifizierung. Durch die Aktivierung der Funktion erhöht sich die Serverzugriffszeit erheblich.

...

Und sollte nur ausgeführt werden, wenn diese Option in den internen Strukturen von Apache definiert ist. Das [!]-Zeichen vor einem Parameter gibt an, dass der Direktivenblock nur gelesen wird, wenn der Parameter nicht definiert ist.

...

Zeigt an, dass Anweisungen innerhalb eines Blocks platziert werden, der aus einem Paar von Anweisungen besteht Und sollte nur ausgeführt werden, wenn dieses Modul in Apache kompiliert ist. Das [!]-Zeichen vor dem Modul gibt an, dass der Direktivenblock nur gelesen wird, wenn der Parameter nicht definiert ist.

Dateinamen [A] einschließen

Mit der Direktive können Sie Konfigurationsdateien in die Serverkonfiguration einbeziehen.

KeepAlive ein|aus [A]

Ermöglicht einem Client, mehrere Dateien nacheinander anzufordern, ohne die TCP-Verbindung zu unterbrechen.

KeepAliveTimeout Sek. [A]

Gibt die Zeit (in Sekunden) an, die Apache vor dem Schließen der TCP-Verbindung auf die nächste Anfrage vom Client wartet.

...

Ermöglicht Ihnen, anzugeben, zu welcher HTTP-Methode (z. B. GET oder POST) die darin platzierten Inhalte gehören. ... Zugriffsbeschränkungsbefehle.

Folgende Methoden können verwendet werden: GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

Abhörport [A]

Lässt Apache zuhören angegebenen Adressen und Häfen. Um beispielsweise zu erzwingen, dass der Server die Ports 80 und 8000 überwacht, verwenden Sie Folgendes:

Um Apache auf verschiedenen Schnittstellen mit angegebenen Portnummern laufen zu lassen, verwenden Sie:

Hören Sie 192.170.2.1:80

Hören Sie 192.170.2.5:8000

ListenBacklog-Länge [A]

Die maximale Länge der Verbindungsverarbeitungswarteschlange.

...

Details im Apache-Handbuch :)

...

Details im Apache-Handbuch

Dateiname der Sperrdatei [A]

Die Direktive legt den Pfad zur Sperrdatei fest.

LogLevel emerg|alert|crit|error|warn|notice|info|debug

Legt den Grad des Informationsgehalts des Protokolls fest (Protokolldatei des Serverbetriebs). Es wird empfohlen, mindestens die kritische Stufe zu verwenden.

MaxClients-Anzahl [A]

Die Direktive legt ein Limit für die Anzahl gleichzeitiger Anfragen an den Server fest. Tatsächlich darf diese Zahl die Anzahl der untergeordneten Prozesse des Servers nicht überschreiten, die standardmäßig nicht mehr als 256 betragen darf. Um die Situation zu korrigieren, bearbeiten Sie HARD_SERVER_LIMIT in httpd.h und kompilieren Sie es.

MaxKeepAliveRequest-Anzahl [A]

Ermöglicht dem Client, die angegebene Anzahl von Dateien nacheinander anzufordern, ohne die TCP-Verbindung zu unterbrechen, wenn KeepAlive aktiviert ist. Wenn der Parameter auf 0 gesetzt ist, schließt Apache die Verbindung nur basierend auf dem KeepAliveTimeout-Parameter.

MaxRequestsPerChild-Anzahl [A]

Die Direktive legt eine Grenze für die Anzahl der Anfragen fest, die ein einzelner untergeordneter Prozess verarbeiten kann. Wenn MaxRequestsPerChild auf 0 gesetzt ist, ist die Anzahl der Anfragen unbegrenzt.

Anzahl der MaxSpareServer [A]

Die Direktive legt die gewünschte maximale Anzahl inaktiver Serverprozesse fest. Die Direktive ist nutzlos, wenn die Microsoft Windows-Version von Apache verwendet wird.

MinSpareServers-Anzahl [A]

Die Direktive legt die gewünschte Mindestanzahl inaktiver Serverprozesse fest. Die Direktive ist nutzlos, wenn die Microsoft Windows-Version von Apache verwendet wird.

NameVirtualHost-Port [A]

Gibt an, dass Anfragen an diesen Portnamen durch den Namen des Hosts, auf den zugegriffen wird (HTTP-Header „Host:“), getrennt werden sollen. Ermöglicht Ihnen, mehrere virtuelle Hosts für eine IP-Adresse zu definieren.

Optionen param param...

Definiert Apache-Aktionseinstellungen für den angegebenen Inhalt. Alle möglichen Einstellungen sind im Apache-Handbuch ausführlich beschrieben. Häufig verwendet: Indizes – aktiviert die Anzeige des Inhalts des Verzeichnisses, wenn die Indexdatei darin nicht gefunden wird (DirectoryIndex-Direktive); ExecCGI – ermöglicht die Platzierung ausführbarer Dateien (CGI, Perl-Skripte); Beinhaltet – ermöglicht die Möglichkeit, Dateien im SSI-Verzeichnis abzulegen. Jede Einstellung wird von dem entsprechenden Modul unterstützt, das sie verwendet, und funktioniert möglicherweise nicht, wenn das erforderliche Modul nicht geladen ist. Jede Optionsdirektive gilt als Ergänzung zu den bereits bekannten Optionen, die für die übergeordneten Verzeichnisse definiert sind. Jeder Einstellung kann ein + oder – vorangestellt werden, um sie in einem bestimmten Kontext zu aktivieren oder zu deaktivieren.

PidFile-Dateiname [A]

Die Direktive legt den Namen der Datei fest, in die der Server die Prozesskennung schreibt.

Gibt den Apache-Port an – eine Zahl von 0 bis 65535 (beachten Sie, dass einige Ports möglicherweise von anderen Protokollen verwendet werden, siehe /etc/servises). Standardport für das http-Protokoll - 80.

erfordern Benutzer-ID|Gruppen-ID|gültiger-Benutzer|Dateibesitzer|Gruppenbesitzer [A]

Bestimmt, welche Benutzer Zugriff auf das Verzeichnis haben.

Benutzer-ID erforderlich – nur diese Benutzer haben Zugriff

Gruppe Gruppenname [Gruppenname] erforderlich – alle Benutzer dieser Gruppen

Erfordert gültigen Benutzer – alle gültigen Benutzer.

ResourceConfig-Dateiname [A]

Der Server liest nach dem Lesen von httpd.conf weitere Anweisungen aus dieser Datei. Der Dateiname wird relativ zu ServerRoot festgelegt. Kann deaktiviert werden: ResourceConfig /dev/null

RLimitCPU max|sec[ max|sec] [A]

RLimitMEM max|bytes[ max|bytes] [A]

RLimitNPROC max|count[ max|count] [A]

Alle zufriedenstellen [A]

Definiert die Zugriffsrichtlinie, wenn „Zulassen“ und „Anfordern“ gleichzeitig verwendet werden. Wird verwendet, wenn der Zugriff auf den Bereich durch Name/Passwort und Kundenadresse eingeschränkt ist. In diesem Fall erfordert die Standardeinstellung („alle“), dass der Client an der Adresse verifiziert wird und den richtigen Benutzernamen und das richtige Passwort eingibt. Im Falle des Parameters „any“ erhält der Client Zugriff, wenn er den richtigen Namen und das richtige Passwort eingegeben oder die Host-Einschränkung bestanden hat. Kann verwendet werden, um den Zugriff durch ein Passwort einzuschränken, aber Clients von einer bestimmten Adresse ohne Passwort zuzulassen.

ScoreBoardFile-Dateiname [A]

Die Direktive ist erforderlich, um den Dateinamen anzugeben, den der Server für die Kommunikation zwischen untergeordneten und übergeordneten Prozessen verwendet. Sie können herausfinden, ob diese Datei erforderlich ist, indem Sie Apache ausführen und prüfen, ob die Datei mit erstellt wird Vorname. Wenn ja, müssen Sie sicherstellen, dass es nur von einer Kopie von Apache verwendet wird.

SendBufferSize Bytes [A]

Legt die TCP-Puffergröße fest.

ServerAdmin-E-Mail

Legt die E-Mail-Adresse fest, die der Server dem Client in Fehlermeldungen anzeigt.

ServerAlias ​​​​Hostname

Gibt einen alternativen virtuellen Hostnamen an.

ServerName Hostname

Die Direktive legt den Servernamen fest; Wird bei der Linkerstellung verwendet. Wenn kein Name angegeben ist, versucht der Server, ihn von seiner eigenen IP-Adresse zu erhalten.

ServerPath-Pfad

Die Direktive legt den alten Pfadnamen für den Host fest.

ServerRoot-Pfad [A]

Legt das Verzeichnis fest, in dem sich der Server befindet. Enthält normalerweise die Unterverzeichnisse conf/ und logs/. Pfade für andere Konfigurationsdateien werden relativ zu diesem Verzeichnis erstellt.

ServerSignatur on|ff|mail

Konfiguriert die Zeile am Ende des vom Server generierten Dokuments. Standardmäßig deaktiviert, Ein – zeigt die Serverversion und den Servernamen des virtuellen Hosts an, E-Mail fügt einen mailto:-Link zu ServerAdmin hinzu

ServerTokens Minimal|OS|Full [A]

Steuert den vom Server an den Client gesendeten Header, der das Server-Betriebssystem und die kompilierten Module beschreibt.

ServerType standalone|inetd [A]

Bestimmt, wie der Server vom System gestartet wird. inetd – wird vom inetd-Systemprozess ausgeführt. eigenständig – wie ein Daemon-Prozess.

Anzahl der StartServer [A]

Legt die Anzahl der beim Start erstellten untergeordneten Prozesse fest. Die Anzahl ändert sich ohnehin dynamisch je nach Belastung, es gibt in der Regel keinen Grund, diese Einstellung zu ändern.

Die Zeit, die Apache wartet: Empfang einer GET-Anfrage, Empfang von TCP-Paketen bei POST- und PUT-Anfragen, Pause zwischen ACKs bei der Übertragung von TCP-Paketen in Antworten.

CanonicalName verwenden ein/aus

Veranlasst Apache, die Namen der von ihm erstellten Seiten mithilfe der SERVER_NAME-Werte von SERVER_PORT zu generieren.

Benutzername

Legt die Benutzer-ID fest, mit der der Server auf Anfragen antwortet. Um die Direktive verwenden zu können, muss der Server als Root ausgeführt werden.

...[A]

Anweisungen, die in einem Block platziert sind, der aus einem Paar von Anweisungen besteht Und Ich bestimme die Konfiguration eines bestimmten virtuellen Hosts. Jeder virtuelle Host muss eine eindeutige IP-Adresse, Portnummer oder einen eindeutigen Hostnamen haben. Der Einsatz dieser Direktive ist sinnvoll, wenn der Server beispielsweise über eine Netzwerkschnittstelle für das interne Netzwerk und eine weitere Schnittstelle für das externe Netzwerk verfügt.

mod_env – setzt und übergibt Variablen zur Verarbeitung in CGI/SSI-Dateien

PassEnv-Variable[ Variable] ...

Übergibt eine Umgebungsvariable (z. B. HOME) an Handler.

SetEnv-Variablenwert

Schreibt den angegebenen Wert in die angegebene Umgebungsvariable.

UnsetEnv-Variable[ Variable] ...

Setzt eine Variable zurück, sodass sie nicht mehr von Handlern gelesen werden kann.

mod_setenvif – verwendet bedingte Ausdrücke, um Umgebungsvariablen festzulegen

BrowserMatch regex env-variable[=value] ] ... [A]

Verwendet das übergebene regulären Ausdruck als Filter für den User-Agent-Header aus dem Client-Browser. Initialisiert bei einem erfolgreichen Treffer die Variable mit dem angegebenen Wert. Wird nur der Variablenname angegeben, wird dieser mit der Zahl 1 initialisiert. Wird eine Variable mit einem vorangestellten „!“ angegeben, so wird dieser mit der Zahl 1 initialisiert. - Die Variable wird zurückgesetzt.

BrowserMatchNoCase regex env-variable[=value] ] ... [A]

Verhält sich ähnlich wie BrowserMatch und ermöglicht Unterschiede in der Groß-/Kleinschreibung zwischen dem übergebenen User-Agent-Wert und dem als Filter verwendeten regulären Ausdruck.

SetEnvIf-Attribut Regex env-variable[=value] ] ... [A]

Die von der Direktive ausgeführte Aktion ist BrowserMatch völlig ähnlich, aber anstelle von User-Agent kann jeder andere Header verwendet werden: Remote_Host; Remote_Addr; Remote_User; Request_Method; Request_URI; Referrer

SetEnvIfNoCase-Attribut Regex env-variable[=value] ] ... [A]

Der Unterschied zu SetEnvIf ist derselbe wie der von BrowserMatchNoCase aus BrowserMatch oben.

mod_unique_id – Generieren einer eindeutigen Umgebungsvariablen UNIQUE_ID

Die Variable wird zufällig aus der IP-Adresse des Servers, der Nummer des laufenden Prozesses, Zeitstempeln und weiteren internen Zählern generiert.

Die Variable ist für die Verwendung in zusammengesetzten Dokumenten vorgesehen, wenn es nicht möglich ist, dieselbe Anforderung mit anderen Methoden zu verfolgen.

mod_mime – Entwickelt, um den MIME-Typ einer Datei bei der Übertragung an den Client zu bestimmen

AddCharset Zeichensatzerweiterung ...

Weist Apache für die angegebenen Dateierweiterungen an, diesen Zeichensatz zu übergeben, wenn er dem Client antwortet.

AddEncoding MIME-Enc-Erweiterung ...

Weist Apache für die angegebenen Dateierweiterungen an, die Datei mit der gewünschten MIME-Kodierung zu übertragen.

AddHandler-Handlernamenerweiterung ...

Teilt Apache mit, dass Dateien mit bestimmten Erweiterungen an einen bestimmten Handler übergeben werden sollen. Der Handler kann entweder intern (CGI-Skript und andere) oder extern sein, wie zuvor durch die Action-Direktive beschrieben.

AddLanguage MIME-lang-Erweiterung ...

Stellt eine Beziehung zwischen Dateierweiterungen und dem in der Antwort gesendeten Sprachcode her.

AddType MIME-Typ-Erweiterung ...

Aktualisiert die MIME-Typtabelle mit einer neuen Zuordnung von Dateierweiterungen und MIME-Code für die Antwort an den Client.

DefaultLanguage MIME-lang

Legt fest, dass die Antwortsprache immer gesendet wird, wenn dies nicht auf andere Weise möglich ist.

ForceType MIME-Typ

Erzwingt eine Antwort mit dem angegebenen MIME-Typ in dem Verzeichnis, dem die angegebene Direktive zugewiesen ist.

RemoveEncoding-Erweiterung ...

Entfernt den MIME-Codierungscode in der Antwort für Dateien mit diesen Erweiterungen.

RemoveHandler-Erweiterung ...

Weist Apache an, keine Handler für Dateien mit diesen Erweiterungen auszuführen.

RemoveType-Erweiterung ...

Setzt den MIME-Typ in der Antwort an den Client auf den Standard-MIME-Typ zurück

SetHandler-Handler

Erzwingt einen Anruf dieses Handlers für alle Dateien, für die diese Anweisung gilt.

TypesConfig-Dateiname [A]

Gibt den Speicherort der MIME-Typzuordnungstabelle an. Standard: conf.mime.types

mod_mime_magic – Modul mit komplexe Regeln um den MIME-Typ der in der Antwort gesendeten Datei zu ermitteln

MimeMagicFile-Dateiname

Aktiviert eine Modulaktion mithilfe der angegebenen Datei in einem bestimmten Dokumentbereich des Webservers oder in allen für Apache verfügbaren Dokumenten.

mod_negotiation – ermöglicht die Aushandlung der übertragenen Datentypen zwischen Client und Server

CacheNegotiatedDocs [A]

Ermöglicht das Zwischenspeichern von Dokumenten mit konsistentem Inhalt auf zwischengeschalteten Proxyservern und dem Clientcomputer.

LanguagePriority MIME-lang... [A]

Bestimmt die Priorität der Sprachen, die in der Antwort an den Client verwendet werden, wenn es nicht möglich ist, die vom Client angeforderte Dokumentsprache genau zu bestimmen oder zu finden.

mod_alias – ermöglicht es Ihnen, Dokumente auf beliebigere Weise in Webserververzeichnissen zu platzieren

Alias-URL-Pfad Dateisystempfad

Teilt Apache mit, dass nach Dokumenten, die sich „unterhalb“ der angegebenen URL befinden, „unterhalb“ des angegebenen Dateisystemspeicherorts gesucht werden soll.

AliasMatch URL-regexp-Dateisystempfad

Definiert komplexere Regeln für die Suche nach Daten im Dateisystem durch den Vergleich von URLs mit einem regulären Ausdruck.

URL-Pfad-URL umleiten

Als Antwort auf die Anfrage gibt der URL-Pfad und die Dokumente „unten“ den angegebenen Antwortcode (standardmäßig 302) zurück und leitet den Client zu einer anderen URL weiter. Der Status kann als Zahl oder symbolisch angegeben werden: Permanent (301), Temp (302), Seeother (303), Gone (410). Bei einem 410-Antwortcode muss die Antwort-URL weggelassen werden.

RedirectMatch-URL-Regexp-URL

Ähnlich wie bei Redirect wird zum Vergleichen der übergebenen URL ein angegebener regulärer Ausdruck anstelle einer exakten Übereinstimmung verwendet.

RedirectTemp-URL-Pfad-URL

Ähnlich wie bei der Weiterleitung mit dem Antwortcode 302.

RedirectPermanente URL-Pfad-URL

Ähnlich wie bei der Weiterleitung mit dem Antwortcode 301.

ScriptAlias ​​​​URL-Pfad Dateisystempfad

Funktioniert ähnlich wie Alias, legt den CGI-Handler jedoch automatisch so fest, dass er für alle Dateien im Zielverzeichnis ausgeführt wird.

ScriptMatch URL-regexp-Dateisystempfad

Ähnlich wie ScriptAlias, mit URL-Prüfung mithilfe eines regulären Ausdrucks.

mod_rewrite – steuert den Speicherort von Dokumenten auf dem Server

In einer kurzen Sammlung von Beschreibungen von Apache-Direktiven ist es schwierig, die Aufgaben zu beschreiben, die dieses komplexe Modul löst. Als Handlungsanleitung nutzen Sie am besten die speziellen Abschnitte des Apache-Handbuchs „Module mod_rewrite URL Rewriting Engine“ und „URL Rewriting Guide“. Der einfachste Weg, den Umgang mit diesem Modul zu erlernen, besteht darin, konkrete Probleme und deren Lösungen damit zu betrachten.

Es gibt einen einzigen Hauptprozess (übergeordneten Prozess), der für die Erstellung untergeordneter Prozesse verantwortlich ist, die wiederum Verbindungen abhören und Clientanforderungen verarbeiten. Apache versucht immer, ein paar ungenutzte Serverprozesse in Reserve zu halten, die bereit sind, eingehende Anfragen zu verarbeiten. Somit müssen Clients nicht darauf warten, dass neue untergeordnete Prozesse erstellt werden, die geforkt werden, bevor ihre Anfrage bearbeitet wird. Die StartServer, MinSpareServer, Die Direktiven MaxSpareServers und MaxClients steuern, wie der übergeordnete Prozess untergeordnete Prozesse zur Bearbeitung von Anforderungen erstellt.

Im Allgemeinen ist Apache sehr eigenständig, sodass für die meisten Websites keine Notwendigkeit besteht, die Standardwerte dieser Anweisungen zu ändern.

Für Sites, die mehr als 256 gleichzeitige Anforderungen bedienen müssen, muss MaxClients möglicherweise erhöht werden, und für Sites, die sich auf Servern mit begrenztem Speicher befinden, muss MaxClients möglicherweise gesenkt werden, um zu vermeiden, dass der Server gezwungen wird, Speicher auf die Festplatte und zurück auszulagern zu erheblichen Arbeitseinbußen führen.

Die Auswahl der Module ist einer der wichtigsten Schritte zur Gewährleistung einer guten Sicherheit des Apache-Webservers. Wir sollten uns an einer guten Regel orientieren: Je weniger, desto besser. Um die Funktionalität zu ermöglichen, die wir benötigen und bereitstellen guter Schutz, müssen folgende Module aktiviert sein:

httpd_core – Apache-Kern, bei jeder Apache-Installation erforderlich.

mod_access – Steuert den Zugriff auf Serververzeichnisse abhängig von der IP-Adresse oder dem Hostnamen des Clients.

mod_auth – Erforderlich, um Benutzer mit Textdateien zu autorisieren.

mod_dir – Erforderlich, um nach Indexdateien zu suchen: „index.html“, „default.html“ usw.

mod_log_config – Bietet Protokollierung der an den Server gesendeten Anfragen. mod_mime – Enthält Anweisungen, die die Organisation verschiedener MIME-Typen auf dem Server erleichtern.

Alle anderen Apache-Module müssen deaktiviert sein. Wir können sie getrost ausschalten, weil wir sie nicht brauchen. Indem wir unnötige Module deaktivieren, verhindern wir, dass ein Angreifer eine Schwachstelle ausnutzt, die in einem dieser Module gefunden wurde.

Es ist auch erwähnenswert, dass zwei Apache-Module (mod_autoindex und mod_info) am gefährlichsten sind. Das erste Modul ermöglicht die automatische Indizierung des Verzeichnisses und ist standardmäßig aktiviert. Um zu sehen, wie es funktioniert, geben Sie beispielsweise http://Servername/icons/ ein. Wenn in diesem Verzeichnis keine Indexdateien vorhanden sind, wird der Inhalt des gesamten Verzeichnisses angezeigt. Auf das zweite Modul, mod_info, sollte niemals über das Internet zugegriffen werden, da es die gesamte Apache-Webserverkonfiguration offenlegt.

Die nächste Frage ist, wie man Module kompiliert. Meiner Meinung nach ist die statische Methode die beste (Codes werden in ausführbare Dateien eingebettet) und nicht die dynamische Methode (Codes werden zum Zeitpunkt des Programmstarts gesammelt). Durch die Wahl einer statischen Methode machen wir außerdem die Notwendigkeit eines weiteren Moduls, mod_so, überflüssig.

Selbstständige Arbeit: Arbeiten mit dem MySQL-Datenbankserver. Tabellen erstellen. Einfügen, Abrufen und Aktualisieren von Daten in einer Datenbank.

Laborarbeit Nr. 12. Installation und Konfiguration des Apache-Webservers.

Selbstständige Arbeit: Arbeiten mit dem MySQL-Datenbankserver.

Apache ist der am häufigsten verwendete Internetserver auf Linux-Systemen. Zur Bereitstellung von Internetseiten auf Anfrage werden Internet-Server eingesetzt Client-Computer. Normalerweise fordern Clients Internetseiten mit Internetbrowsern wie Firefox, Opera, Chromium oder Mozilla an und betrachten sie.

Benutzer geben einen Uniform Resource Locator (URL) ein, um einen Internetserver anhand seiner vollständigen Qualifikation zu identifizieren Domainname(FQDN) und Pfad zur erforderlichen Ressource. Um beispielsweise die Homepage der Ubuntu-Website anzuzeigen, muss der Benutzer nur den FQDN eingeben:

www.ubuntu.com

SymLinksIfOwnerMatch- Folgt symbolischen Links, wenn die Zieldatei oder das Zielverzeichnis denselben Besitzer wie der Link hat.

httpd-Einstellungen

In diesem Abschnitt werden einige grundlegende Konfigurationseinstellungen für den Dienst behandelt. httpd.

Sperrdatei– Die LockFile-Anweisung legt den Pfad zur Sperrdatei fest, wenn der Server mit der Option USE_FCNTL_SERIALIZED_ACCEPT oder USE_FLOCK_SERIALIZED_ACCEPT kompiliert wird. Es muss auf einer lokalen Festplatte gespeichert werden. Es lohnt sich, den Standardwert beizubehalten, es sei denn, das Protokollverzeichnis liegt auf einer NFS-Freigabe. Andernfalls sollte der ursprüngliche Wert in das Verzeichnis geändert werden lokale Festplatte mit Leserechten nur für Root.

PidFile- Die PidFile-Anweisung legt eine Datei fest, in die der Server seine Prozess-ID (pid) schreibt. Diese Datei sollte nur für Root lesbar sein. In den meisten Fällen sollte dieser Parameter unverändert bleiben.

Benutzer- Die User-Anweisung legt die Benutzer-ID (Benutzer-ID) fest, mit der der Server auf Anfragen antwortet. Diese Einstellung bestimmt die Zugriffsrechte des Servers. Alle Dateien, auf die dieser Benutzer keinen Zugriff hat, sind auch für Besucher Ihrer Website nicht zugänglich. Der Standardbenutzer ist „www-data“.

Gruppe- Die Group-Anweisung ähnelt der User-Anweisung. Gruppe legt die Gruppe fest, unter der der Server auf Anfragen antwortet. Der Standardwert ist ebenfalls „www-data“.

Apache2-Module

Apache2 ist ein modularer Server. Das bedeutet, dass im Kern des Servers nur die grundlegendste Funktionalität enthalten ist. Erweiterte Funktionen sind über Module verfügbar, die in Apache2 geladen werden können. Standardmäßig ist zur Kompilierungszeit ein grundlegender Satz an Modulen im Server enthalten. Wenn der Server für die Verwendung dynamisch geladener Module kompiliert ist, können die Module separat kompiliert und jederzeit mithilfe der Anweisung hinzugefügt werden LoadModule. Andernfalls muss Apache2 neu kompiliert werden, um Module hinzuzufügen oder zu entfernen.

Ubuntu kompiliert Apache2 mit der Möglichkeit, Module dynamisch zu laden. Konfigurationsanweisungen können basierend auf dem Vorhandensein des entsprechenden Moduls im Block eingefügt werden .

Sie können zusätzliche Apache2-Module installieren und mit Ihrem Internetserver verwenden. Führen Sie beispielsweise den folgenden Befehl in einem Terminal aus, um das MySQL-Autorisierungsmodul zu installieren:

Sudo apt-get install libapache2-mod-auth-mysql

Suchen Sie im Verzeichnis /etc/apache2/mods-available nach zusätzlichen Modulen.

Verwenden Sie das Dienstprogramm a2enmod, um das Modul zu aktivieren:

Sudo a2enmod auth_mysql sudo service apache2 neu starten

Ebenso deaktiviert a2dismod das Modul:

Sudo a2dismod auth_mysql sudo service apache2 neu starten

HTTPS einrichten

Modul mod_ssl fügt dem Apache2-Server eine wichtige Funktion hinzu – die Möglichkeit, Verbindungen zu verschlüsseln. Wenn Ihr Browser die Verbindung über SSL herstellt, wird daher das Präfix https:// am Anfang der URL in der Navigationsleiste verwendet.

Modul mod_ssl verfügbar im Paket apache2-common. Führen Sie den folgenden Befehl in einem Terminal aus, um dieses Modul zu aktivieren:

Sudo a2enmod ssl

Die Standardeinstellungen für HTTPS befinden sich in der Datei /etc/apache2/sites-available/default-ssl. Damit Apache2 HTTPS bereitstellen kann, sind außerdem Schlüssel- und Zertifikatsdateien erforderlich. Die anfängliche HTTPS-Einrichtung verwendet ein Zertifikat und einen Schlüssel, die vom Paket ssl-cert generiert werden. Diese eignen sich gut zum Testen, müssen jedoch durch ein Zertifikat ersetzt werden, das zu Ihrer Site oder Ihrem Server passt. Informationen zum Erstellen von Schlüsseln und zum Erhalten von Zertifikaten finden Sie im Abschnitt „Zertifikate“.

Geben Sie Folgendes ein, um Apache2 für HTTPS zu konfigurieren:

Sudo a2ensite default-ssl

Standardmäßig werden die Verzeichnisse /etc/ssl/certs und /etc/ssl/private verwendet. Wenn Sie das Zertifikat und den Schlüssel in anderen Verzeichnissen installiert haben, müssen Sie die Optionen SSLCertificateFile und SSLCertificateKeyFile entsprechend ändern.

Nachdem Apache2 jetzt auf HTTPS konfiguriert ist, starten wir den Dienst neu, um die neuen Einstellungen zuzulassen:

Neustart des Sudo-Dienstes Apache2

Abhängig davon, wie Sie Ihr Zertifikat ausgestellt haben, müssen Sie möglicherweise eintreten Passphrase wenn Apache2 startet.

Sie können auf die sicheren Serverseiten zugreifen, indem Sie https://Ihr_Hostname/URL/ eingeben Adressleiste dein Browser.

Rechte zur gemeinsamen Nutzung von Datensätzen

Damit mehr als ein Benutzer Schreibzugriff auf dasselbe Verzeichnis hat, müssen Sie der Gruppe, die sie vereint, Schreibzugriff gewähren. Das folgende Beispiel erteilt der Gruppe „webmasters“ Schreibberechtigungen für das Verzeichnis /var/www.

Sudo chgrp -R webmasters /var/www sudo find /var/www -type d -exec chmod g=rwxs "()" \; sudo find /var/www -type f -exec chmod g=rws "()" \;

Wenn mehr als einer Gruppe pro Verzeichnis Zugriff gewährt werden muss, verwenden Sie Controlled Access Lists (ACLs).

Apache-Konfigurationsdateien

In den meisten Paketen heißt die Hauptkonfigurationsdatei von Apache httpd.conf. Abhängig von der Systemversion kann sich diese Datei in unterschiedlichen Verzeichnissen befinden, ihr Format bleibt jedoch unverändert. Auf Caldera- und SuSE-Systemen befindet sich die Datei httpd.conf im Verzeichnis /etc/httpd; unter Debian und Slackware befindet es sich in /etc/apache (Slackware stellt eine Beispieldatei /etc/apache/httpd.conf.default zur Verfügung; alles, was Sie tun müssen, um den Server zum Laufen zu bringen, ist eine Umbenennung Diese Datei und die notwendigen Änderungen daran vornehmen); Unter Red Hat und TurboLinux befindet sich die Datei httpd.conf im Verzeichnis /etc/httpd/conf/.

Wie üblich enthalten Zeilen in der Datei httpd.conf, die mit dem #-Symbol beginnen, Kommentare. Optionen, die die Serverkonfiguration definieren, werden wie folgt angegeben:

Bedeutung der Richtlinie

Eine Direktive ist ein Name, dem ein Wert zugeordnet werden kann. Der Wert kann eine Zahl, ein Dateiname oder eine beliebige Zeichenfolge sein. Bei einigen Anweisungen können Sie mehrere Unteroptionen angeben. In diesem Fall wird der Direktivenname in spitze Klammern gesetzt. Ein Beispiel für eine solche Richtlinie ist unten aufgeführt.

Optionen FollowSymLinks

AllowOverride Keine

Die letzte Zeile enthält den Namen derselben Direktive, die am Anfang angegeben wurde, es ist jedoch kein Wert dafür angegeben. Dem Namen einer Direktive, die einen Block beendet, ist ein Schrägstrich vorangestellt.

In einigen Fällen werden die unten aufgeführten zusätzlichen Konfigurationsdateien zur Konfiguration von Apache verwendet. Sie werden normalerweise im selben Verzeichnis wie httpd.conf abgelegt.

Access.conf. Der Link zu dieser Datei wird mithilfe der AccessConfig-Direktive erstellt und ist in der Datei httpd.conf enthalten. Die Datei access.conf enthält am häufigsten Anweisungen und definiert die Funktionen des Zugriffs auf die darin angegebenen Verzeichnisse. Derzeit bleibt diese Datei normalerweise leer und manchmal ist der AccessConfig-Wert auf /dev/null gesetzt, wodurch die Verwendung von access.conf deaktiviert wird.

Mime-Typen. Um dem Webbrowser mitzuteilen, wie Daten verarbeitet werden sollen, verwendet der Webserver den MIME-Standard (Multipurpose Internet Mail Extensions). Beispielsweise bedeutet der MIME-Typ text/plain, dass es sich bei den Daten um Klartext handelt, während image/jpeg Grafikdaten angibt JPEG-Format(Joint Photographic Experts Group – eine gemeinsame Gruppe von Experten für fotografische Verarbeitung). Die Datei mime.types enthält Informationen zur Zuordnung zwischen MIME-Typen und Dateierweiterungen. Beispielsweise sind Dateinamen, die auf .txt und .asc enden, mit dem MIME-Typ text/plain verknüpft. Wenn diese Zuordnung nicht richtig eingestellt ist, kann der Webbrowser einige Dateitypen nur schwer verarbeiten. Die im Paket enthaltene Datei ermöglicht die Verarbeitung nahezu aller Datentypen, die auf einer Webseite platziert werden können. Wenn Sie seltene Typen verwenden müssen, müssen Sie dieser Datei neue Einträge hinzufügen.

Magie. Mit dieser Datei können Sie auch Zuordnungen zwischen MIME-Typen und Daten definieren. Bei der Analyse von Informationen können Sie bestimmte Anzeichen der einen oder anderen Art entdecken. Beispielsweise enthalten viele Dateien spezielle Schlüssel – „magische“ Bytesequenzen. Diese in Textform umgewandelten Sequenzen werden in der Magic-Datei angegeben. Es wird nicht empfohlen, Änderungen daran vorzunehmen, es sei denn, Sie haben sich gründlich mit dem Format dieser Datei befasst. Auf die Struktur der Magic-Datei wird in diesem Kapitel nicht eingegangen.

Aus dem Buch „Linux for the User“. Autor Kostromin Viktor Alekseevich

8.2.2. Grundlegende Konfigurationsdateien Wenn Sie Abschn. 8.2.1 (oder wenn Sie sich die Datei /etc/inittab angesehen haben), stellen Sie sich vor, dass der Init-Prozess in einer normalen Situation zusätzlich zum Starten von Getty-Prozessen zwei Hauptaktionen ausführt: Er startet das Skript rc.sysinit aus der Datei /etc /rc.d-Verzeichnis; führt das RC-Skript aus

Aus dem Buch DIY Linux-Server Autor

12.5. SSL und Apache 12.5.1. SSL installieren SSL (Secure Sockets Layer) ist eine von Netscape entwickelte Verschlüsselungsmethode zur Gewährleistung der Internetsicherheit. Diese Methode unterstützt mehrere Verschlüsselungsmethoden und bietet Authentifizierung sowohl auf Client-Ebene als auch auf Client-Ebene.

Aus dem Buch Asterisk™: The Future of Telephony Second Edition Autor Meggelen Jim Wang

Aus dem Buch Linux Network Tools von Smith Roderick W.

Aus dem Linux-Buch: Vollständiger Leitfaden Autor Kolisnitschenko Denis Nikolajewitsch

DHCP-Konfigurationsdateien Die meisten Distributionen Linux-Pakete enthält einen vom Internet Software Consortium entwickelten DHCP-Server (http://www.isc.org/products/DHCP/). Das Internet Software Consortium (ISC) veröffentlichte DHCP Version 3.0 Ende 2000, Anfang 2002 jedoch viele Linux-Versionen kam noch mit alte Version 2.0

Aus dem Ubuntu 10-Buch. Kurzanleitung Benutzer Autor Kolisnichenko D. N.

Aus dem Buch The C Language – A Guide for Beginners von Prata Steven

Exim-Konfigurationsdateien Die Hauptkonfigurationsdatei von Exim heißt exim.conf. Es befindet sich normalerweise im Verzeichnis /etc. Diese Datei enthält Einträge im folgenden Format: Option = Wert Zeilen mit Kommentaren beginnen wie üblich mit einem #-Zeichen.

Aus dem Buch Linux aus der Sicht eines Hackers Autor Flenov Michail Evgenievich

Aus dem Buch Entwicklung Linux-Kernel von Love Robert

16.1. Apache installieren Abhängig von der Distribution kann das Paket, von dem aus der Apache-Webserver installiert wird, Apache oder httpd heißen, und das Dokumentationspaket kann jeweils Apache-docs oder httpd-manual heißen. Im ersten Fall müssen Sie das Paket apache-common installieren, das Folgendes enthält:

Aus dem Buch des Autors

16.2. Apache-Setup. Konfigurationsdateien Nach der Installation von Apache sollten Sie die folgenden Dateien bearbeiten:? /etc/httpd/conf/httpd.conf – Hauptkonfigurationsdatei. Für Apache 2.x. Diese Datei kann auch httpd2.conf; heißen. /etc/logrotate.d/apache oder /etc/logrotate.d/httpd (in Version 2.0) – Rotationsdatei

Aus dem Buch des Autors

16.10. SSL und Apache 16.10.1. SSL installieren SSL (Secure Sockets Layer) ist eine von Netscape entwickelte Verschlüsselungsmethode zur Gewährleistung einer sicheren Datenübertragung. Diese Methode unterstützt mehrere Verschlüsselungsmethoden und bietet Authentifizierung sowohl auf Client- als auch auf Client-Ebene.

Aus dem Buch des Autors

19.2. Bootloader-Konfigurationsdateien. Listing 19.1 zeigt die Hauptkonfigurationsdatei von GRUB2 – /boot/grub/grub.cfg. Es kann nicht manuell bearbeitet werden. Verwenden Sie zum Erstellen das Dienstprogramm /usr/sbm/grub-mkconfig, das diese Konfigurationsdatei basierend auf Vorlagen generiert.

Aus dem Buch des Autors

26.2.3. Serverkonfigurationsdateien Serverkonfigurationsdateien befinden sich im Verzeichnis /etc/apache2. Die Hauptkonfigurationsdatei heißt apache2.conf. Die Standardeinstellungen sind für die meisten Benutzer geeignet. Wenn Sie planen, den Webserver nicht nur lokal (z

Aus dem Buch des Autors

Quelldateien und ausführbare Dateien Unser wunderbares Programm ist trotz seiner Kürze und Einfachheit ein für einen Computer völlig bedeutungsloser Symbolsatz, da es Anweisungen wie #include oder printf „nicht versteht“. Er versteht nur eine spezielle Sprache,

Aus dem Buch des Autors

5.3.1. Konfigurationsdateien Alle SSH-Protokollkonfigurationsdateien befinden sich im Verzeichnis /etc/ssh. Hier sehen Sie die folgende Liste:? SSH-Server-Konfigurationsdatei – sshd_config;? SSH-Client-Konfigurationsdatei – ssh_config;? Schlüsseldateien für verschiedene

Aus dem Buch des Autors

Konfigurationsoptionen für das Kernel-Debugging Es gibt mehrere Konfigurationsoptionen, die beim Debuggen und Testen von Kernel-Code helfen und zur Kompilierungszeit aktiviert sind. Diese Optionen sind im Menü Kernel-Hacking im Menü des Kernel-Konfigurationseditors verfügbar. All diese