Apache-configuratie. Installatie en configuratie van Apache webserver met ondersteuning voor PHP, JSP en MySQL op Windows XP. Professionele ontwikkelaarsomgeving

DIY Linux-server Kolisnichenko Denis Nikolajevitsj

12.2.2. Apache configureren met netconf

Bijna alle Apache-webserverparameters kunnen worden ingesteld met behulp van de netconf (of linuxconf) configurator. Om dit te doen, voert u netconf uit en gaat u naar het tabblad Servertaken en klik vervolgens op de knop “Apache Webserver” (zie figuur 12.2).

Rijst. 12.2. Apache configureren met netconf

Met netconf kun je eenvoudig de basis Apache-parameters instellen (zie figuur 12.3), virtuele hosts definiëren, subdirectory-parameters instellen, directory- en modulespecificaties definiëren en parameters instellen voor de mod_ssl-module (zie figuur 12.4), waarvan de configuratie hieronder wordt besproken. in dit hoofdstuk.

Rijst. 12.3. Apache-basisopties

Rijst. 12.4. De mod_ssl-module configureren

Uit het boek Boost je website auteur Matsjevski Nikolaj

Uit het Linux voor het gebruikersboek auteur Kostromin Viktor Alekseevich

Apache 2 configureren Voor Apache 2 zien de beschreven stappen er veel eenvoudiger uit.# voeg Content-Type toe voor alle bestanden met de extensie .gzAddEncoding gzip .gz# schakel compressie in voor HTML- en XML-bestandenAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml# en voor pictogrammen (meer daarover hieronder)AddOutputFilterByType DEFLATE image/x-icon#

Uit het boek DIY Linux-server auteur

Het configureren van Apache-tests onder Konqueror heeft aangetoond dat deze browser gearchiveerde bestanden (CSS en JavaScript) niet begrijpt, dus om een ​​tiende van een procent van de bezoekers te redden van een hartaanval (wanneer ze een site zien zonder de juiste stijlen), is het de moeite waard toe te voegen aan deze set

Uit het boek Linux: de complete gids auteur Kolisnichenko Denis Nikolajevitsj

Uit het boek Ubuntu 10. Snelstartgids auteur Kolisnichenko D.N.

Apache 2-configuratie # stel de Content-Encoding-header in: gzipAddEncoding gzip .gz# schakel vanaf het begin gzip in voor tekstbestandenAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml# en voor favicon.icoAddOutputFilterByType DEFLATE image/x-icon# ook voor CSS en JavaScript -filesAddOutputFilterByType DEFLATE tekst/cssAddOutputFilterByType DEFLATE

Uit het boek Linux door de ogen van een hacker auteur Flenov Michail Evgenievitsj

13.2.6. Het netconf-hulpprogramma In de voorgaande paragrafen heb ik geprobeerd gedetailleerd en consistent te beschrijven hoe u netwerktoegang kunt configureren door configuratiebestanden rechtstreeks te bewerken. Lokale netwerkinstellingen kunnen echter worden gemaakt met behulp van speciale hulpprogramma's

Uit het boek van de auteur

12 Apache Server Dit hoofdstuk is gewijd aan de populaire WWW-server Apache. Apache Server is ontwikkeld en wordt onderhouden door het Apache Project. Apache was oorspronkelijk een variant van de NCSA-webserver, ontwikkeld in het National Supercomputing Center van de Universiteit van Illinois.

Uit het boek van de auteur

12.1. Apache installeren Om de Apache-server te installeren, moet u de pakketten apache en apache-docs installeren. De eerste bevat de server zelf en de tweede bevat de documentatie. Het is raadzaam om de nieuwste versie te installeren. In de nieuwste versies moet u ook het apache-common-pakket installeren, dat

Uit het boek van de auteur

12.5. SSL en Apache 12.5.1. SSL installeren SSL (Secure Sockets Layer) is een encryptiemethode ontwikkeld door Netscape om internetbeveiliging te bieden. Deze methode ondersteunt meerdere versleutelingsmethoden en biedt authenticatie op zowel client- als clientniveau.

Uit het boek van de auteur

12.5.2. SSL verbinden met Apache Het enige wat nu nog overblijft is mod_ssl verbinden met Apache. Houd er rekening mee dat u een versie van mod_ssl nodig heeft die compatibel is met uw versie van Apache. Anders zal de mod_ssl-module niet correct werken of helemaal niets doen. Laatste cijfers in de titel

Uit het boek van de auteur

16.1. Apache installeren Afhankelijk van de distributie kan het pakket waaruit de Apache-webserver wordt geïnstalleerd apache of httpd heten, en kan het documentatiepakket respectievelijk apache-docs of httpd-manual heten. In het eerste geval moet u het apache-common-pakket installeren dat

Uit het boek van de auteur

16.10. SSL en Apache 16.10.1. SSL installeren SSL (Secure Sockets Layer) is een encryptiemethode ontwikkeld door Netscape om veilige gegevensoverdracht te garanderen. Deze methode ondersteunt meerdere versleutelingsmethoden en biedt authenticatie op zowel client- als clientniveau.

Uit het boek van de auteur

16.10.2. SSL verbinden met Apache De versie van mod_ssl die u moet installeren moet compatibel zijn met uw versie van Apache, anders zal de mod_ssl-module niet correct werken of helemaal niets weigeren. De laatste cijfers in de modulenaam geven compatibiliteit met een specifiek aan

Uit het boek van de auteur

16.13. De Apache-server beschermen Na het instellen van de server verbieden we het wijzigen en verwijderen van het configuratiebestand: # chattr +i /etc/httpd/conf/httpd.conf Hierna kun jij (en niemand anders) dit wijzigen bestand zelfs met behulp van de configurator. Het is ook raadzaam om de machtigingen in te stellen op 511 For

Uit het boek van de auteur

26.2.1. Apache en PHP installeren Start de Synaptic-manager. Voer apache in het veld Snel zoeken in. Klik met de rechtermuisknop op het apache2-pakket en selecteer Markeren voor installatie. De pakketbeheerder zal u vertellen dat er extra pakketten moeten worden geïnstalleerd (Figuur 26.1). Klik op de knop

Uit het boek van de auteur

5.1.1. netconf Met dit commando wordt de netwerkconfigurator gestart (Figuur 5.1). Het netconf-programma heeft een gebruiksvriendelijke grafische interface waarmee u netwerkparameters kunt configureren zonder dat u zich zorgen hoeft te maken over configuratiebestanden. Rijst. 5.1. Programmavenster

Een webserver is een zeer complex softwareproduct dat op verschillende platforms en besturingssystemen draait. Om correct te kunnen werken op het geïnstalleerde systeem, moet het worden geconfigureerd.

Standaard bevinden de Apache-instellingen zich in het bestand " httpd.conf"in de catalogus" conf".

U moet speciale aandacht besteden aan het pad naar de bestanden in de Apache- en PHP-configuratiebestanden. Vaak zult u paden naar verschillende mappen en bestanden moeten opgeven. UNIX- en Windows-besturingssystemen gebruiken verschillende mapscheidingstekens. UNIX gebruikt een slash (/) en Windows gebruikt een backslash (\). Sommige Apache- en PHP-richtlijnen werken met beide typen mapscheidingstekens. Maar aangezien Apache en PHP oorspronkelijk voor UNIX zijn ontwikkeld, kun je een aantal problemen vermijden door hun "native" formaat te gebruiken. Daarom zijn de paden in de configuratiebestanden " httpd.conf" En " php.ini" Het wordt aanbevolen om via een schuine streep in het UNIX-formaat te schrijven - "/".

Bijv.:
ScriptAlias ​​​​"/php_dir/" "c:/php/" Bestandsrichtlijnen httpd.conf:

Haven- specificeert de TCP-poort die door Apache wordt gebruikt om de verbinding tot stand te brengen. Standaard is poort 80 opgegeven. De poort kan ook in de richtlijn worden opgegeven Server naam.
Poort 80 De enige reden om een ​​niet-standaard poort in te stellen is als u geen toestemming heeft om de standaard poort te gebruiken. Bij gebruik van een niet-standaard poort, zoals 8080, moet het poortnummer worden opgegeven in het adres " http://localhost:8080/".

ServerAdmin- bevat het opgegeven e-mailadres van de webserverbeheerder. Dit is het adres dat wordt weergegeven in geval van serverfouten.
ServerAdmin [e-mailadres beveiligd] Server naam- bevat de opgegeven computernaam voor de server.
Servernaam localhost:80 Serverroot- verwijst naar de map die de Apache-webserverbestanden bevat.
ServerRoot "C:/web_server/apache" DocumentRoot- definieert de map waarin de websitebestanden zich bevinden.
DocumentRoot "C:/web_server/apache/htdocs" Houder

Het bereik van richtlijnen binnen deze container strekt zich uit tot alle bestanden en submappen binnen de map die in de richtlijn is opgegeven DocumentRoot.

Opties FollowSymLinks Inclusief indexen
ToestaanAlles overschrijven
Richtlijn Overschrijven toestaan ingesteld op waarde ALLE, kunt u de waarde van het hoofdconfiguratiebestand overschrijven " httpd.conf"in bestanden" .htaccess".

Richtlijn Opties VolgSymLinks Hiermee kan Apache symbolische links volgen.

Richtlijn Opties Inclusief maakt de uitvoering mogelijk van SSI-richtlijnen (Server Side Inclusief) in de code van websitepagina's.

Richtlijn Opties-indexen specificeert dat de inhoud van een map moet worden geretourneerd als het indexbestand ontbreekt.

DirectoryIndex- bevat een gespecificeerde lijst met indexbestanden die moeten worden weergegeven bij toegang tot een map zonder een bestandsnaam op te geven.
DirectoryIndex index.html index.htm index.php Richtlijn ScriptAlias gebruikt om een ​​alias voor de map te maken " /cgi-bin/", waarin CGI-programma's en scripts zijn ondergebracht.
ScriptAlias ​​​​/cgi-bin/ "C:/web_server/apache/cgi-bin/" Vervolgens moet u de rechten en beperkingen op de map configureren cgi-bak.

AllowOverride Geen
OptiesExecCGI
Bestelling toestaan, weigeren
Toestaan ​​van iedereen
Deze actie is nodig om ervoor te zorgen dat mapopties niet worden gewijzigd, omdat dit beveiligingsproblemen kan veroorzaken.

Richtlijn AllowOverride Geen zegt dat de opties in deze map niet kunnen worden overschreven door bestanden " .htaccess".

Richtlijn OptiesExecCGI Maakt uitvoering van CGI-scripts mogelijk.

Richtlijnen bestelling toestaan, ontkennen En Toestaan ​​van iedereen toegang tot de map toestaan.

Handler toevoegen- zorgt ervoor dat Apache bestanden met de extensies "overweegt" exe" En " knuppel", zoals CGI-scripts.
AddHandler cgi-script .bat .exe Standaardtype stelt de header in van bestanden waarvan het type niet door extensie kan worden bepaald. In dit geval worden alle onbekende bestanden behandeld als gewone tekstbestanden. Om alle onbekende bestandsextensies als HTML te verwerken, wijzigt u de richtlijn als volgt:
StandaardType tekst/html Standaardtekenset toevoegen- stelt de standaardcodering in als de codering niet is opgegeven in de kop van het HTML-document.
AddDefaultCharset Windows-1251

Apache is een hele familie van verschillende projecten, waarvan de eerste een webserver was. De webserver wordt vertegenwoordigd door de httpd-daemon, dus het Apache-webserverproject heet httpd.

De configuratiebestanden van de httpd-webserver in GNU/Linux in verschillende distributies bevinden zich in verschillende mappen: /etc/httpd/conf/, of /etc/apache2, of andere. Het hoofdconfiguratiebestand heet httpd.conf, en vaak worden individuele configuratiebestanden die aan bepaalde groepen instellingen zijn toegewezen, verbonden met httpd.conf met behulp van de include-richtlijn.

Over het algemeen kunnen httpd-instellingen in drie hoofdcategorieën worden verdeeld:

r sectie algemene instellingen;

r instellingen voor de hoofdserver;

r-instellingen voor virtuele knooppunten.

Naast deze secties kunt u instellingen selecteren voor het verwerken van specifieke bestandstypen, MIME-extensies en specificaties voor het verwerken van nationale talen.

Globale serverinstellingen omvatten instellingen die de werking van de Apache-server als geheel beïnvloeden. Hieronder volgen de belangrijkste algemene instellingen:

r ServerRoot - de basisinstallatiemap, relatief ten opzichte waarvan de Apache-configuratiebestanden, evenals enkele bestanden die nodig zijn voor de werking ervan, zich bevinden in het GNU/Linux-bestandssysteem;


r PidFile - een bestand waarin de PID wordt ingevoerd wanneer de Apache-server start

hoofdserverproces;

r LoadModule - opdracht om een ​​Apache-extensiemodule te laden die is gecompileerd als een gedeelde bibliotheek;

r Time-out - aantal seconden voordat een signaal over verbindingsverlies wordt verzonden;

r KeepAlive - schakel ondersteuning in of uit voor langlevende verbindingen die beschikbaar zijn binnen het HTTP/1.1-protocol, waardoor de verbinding ononderbroken kan blijven nadat de server de vereiste informatie heeft verzonden;

r KeepAliveTimeOut - het aantal seconden dat moet worden gewacht op het volgende verzoek, waarna de langlevende verbinding wordt verbroken;

r MaxKeepAliveRequests - het maximaal mogelijke aantal toegestane verzoeken voor verbindingen met een lange levensduur;

r StartServers - het aantal httpd onderliggende processen dat start wanneer de Apache-server start;

r MinSpareServers - het minimum aantal onderliggende httpd-processen dat wacht op verbindingen (wanneer er verbindingen verschijnen, worden er zoveel kopieën van httpd gelanceerd dat het aantal onderliggende processen dat op verbindingen wacht niet minder is dan deze waarde);

r MaxSpareServers - het maximale aantal httpd onderliggende processen dat wacht op verbindingen (extra processen worden gestopt);

r MaxClients - limiet op het maximale aantal httpd onderliggende processen, wat het mogelijke aantal verbindingen bepaalt;

r MaxRequestsPerChild - het maximale aantal verzoeken dat één httpd-onderliggend proces mag verwerken, bij het bereiken ervan wordt het gegarandeerd gestopt om mogelijke geheugenlekken te voorkomen.

ServerRoot "/etc/httpd" PidFile run/httpd.pid Time-out 120

KeepAlive Uit MaxKeepAliveRequests 100


KeepAliveTimeout 15

StartServers
MinSpareServers
MaxSpareServers
Serverlimiet
MaxClients

Max. aanvragen per kind 4000

Luister 80

LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_auth n_anon.so

Gebruiker apache Groep apache

Opgemerkt moet worden dat modules niet alleen kunnen worden verbonden met behulp van de LoadModule-richtlijn, maar ook rechtstreeks in de Apache-code kunnen worden geïnstalleerd tijdens de compilatie en assemblage. Om te bepalen welke modules tijdens de compilatiefase in de code zijn geïnstalleerd, voert u de opdracht httpd –l uit (voorbeeld 28.2).

$ /usr/sbin/httpd -l Gecompileerd in modules:

core.c prefork.c http_core.c mod_so.c

Merk op dat de prefork.c-module een van de verschillende MPM-modules (Multi-Processing Modules) is die beschikbaar zijn voor Apache v2. Deze modules zijn gericht op verschillende besturingssystemen of verschillende multitasking-modellen. De module prefork.c is bijvoorbeeld gericht op het traditionele UNIX-model voor het voortbrengen van onderliggende processen, en worker.c is gericht op het werken met threads.


Van de belangrijkste serverinstellingen zijn de volgende de belangrijkste:

r Luisteren - dwingt Apache om alleen naar de opgegeven poort te luisteren;

r Gebruiker - de gebruiker namens wie de httpd-processen worden gestart;

r Groep - de groep namens welke onderliggende processen worden gelanceerd

r DocumentRoot - map voor het opslaan van websitebestanden;

r UserDir - naam van de directory voor het plaatsen van persoonlijke webpagina's van gebruikers;

r DirectoryIndex - een lijst met bestandsnamen die worden bekeken wanneer wordt geprobeerd toegang te krijgen tot het hoofddocument van de map;

r AccessFileName - naam van het bestand met instructies voor toegangscontrole van directory's;

r TypesConfig - specificeert de locatie van het MIME-configuratiebestand;

r DefaultType - stelt het standaard MIME-type van het document in;

r MimeMagicFile - specificeert de locatie van het magische getalbestand om het MIME-type van het document te bepalen;

r HostnameLookups - specificeert het type invoer van informatie over clientverzoeken, hetzij op IP-adres, hetzij op hostnaam;

r ErrorLog - een logbestand waarin eventuele fouten worden geregistreerd

(berichten) aangetroffen tijdens Apache-bewerking;

r LogLevel - loginformatieniveau;

r LogFormat - richtlijn die het formaat definieert voor het uitvoeren van informatie naar het logbestand;

r CustomLog - specificeert de locatie van het logbestand;

r ServerSignature - maakt het mogelijk dat informatie over de versie, het virtuele knooppunt, enz. wordt weergegeven op pagina's die zijn gegenereerd door de Apache-server;

r Alias ​​- stelt aliassen in voor toegangspaden tot servermappen (de lengte van de aliaslijn is kleiner dan de lengte van de toegangspadlijn);

r ScriptAlias ​​- doet hetzelfde als Alias, maar dan voor mappen met CGI-

scripts;

r IndexOptions - bepaalt het type directory-indexering;

r AddIcon - specificeert een pictogrambestand dat in specifieke situaties moet worden weergegeven, bijvoorbeeld wanneer een pagina met de inhoud van een map wordt weergegeven, worden verschillende soorten bestanden aan verschillende pictogrammen gekoppeld;

r AddIconByEncoding - stelt pictogrammen in voor specifieke MIME-coderingen;


r AddIconByType - stelt pictogrammen in voor specifieke MIME-documenttypen;

r DefaultIcon - standaardpictogram;

r AddDescription - voegt een commentaarregel toe aan bepaalde documenttypen (bijvoorbeeld .gz - gzip-document);

r ReadmeName - specificeert de naam van het README-bestand dat is toegevoegd aan het einde van de lijst met bestanden in de directory-index;

r HeaderName - specificeert de naam van het HEADER-bestand dat is toegevoegd aan het begin van de lijst met bestanden in de directory-index;

r IndexIgnore - namen van bestanden die tijdens het indexeren worden genegeerd;

r AddEncoding - stelt browsers in staat om informatie direct op een specifieke manier te verwerken (bijvoorbeeld door de inhoud van met gzip gecomprimeerde bestanden weer te geven);

r AddLanguage - geeft gespecificeerde bestandsnaamextensies weer in een specifieke documenttaal (bijvoorbeeld AddLanguage ru .ru);

r AddCharset - stelt de toewijzing van een specifieke bestandsnaamextensie in op een specifieke codering;

r LanguagePriority - taalvolgorde;

r AddType - stelt de toewijzing van bestandsnaamextensies in op het MIME-type;

r AddHandler - stelt het type verwerking in op bestandsnaamextensie;

r ErrorDocument - hiermee kunt u foutmeldingen aanpassen;

r BrowserMatch - specificeert informatie-uitvoerfuncties voor browsers.

In het httpd.conf configuratiebestand vind je vaak voorwaardelijke richtlijnen zoals . Ze worden gebruikt om de Apache-instellingen in te stellen die mogelijk zijn als deze module aanwezig is (voorbeeld 28.3).

Alias ​​/doc /usr/share/doc

In dit voorbeeld wordt het aliasdocument ingesteld op de directory /usr/share/doc. Een dergelijke alias wordt echter alleen ingesteld als de module mod_alias.c aanwezig is. Met deze alias (als u over de juiste machtigingen beschikt) kunt u met een webbrowser toegang krijgen tot de inhoud van de map /usr/share/doc met behulp van de URL http://localhost/doc.


Een ander type voorwaardelijke richtlijn is . Deze richtlijnen bevatten blokken Apache-instellingen die alleen werken als er een extra parameter is gedefinieerd. Deze optie kan worden opgegeven met de optie -D voor het uitvoerbare bestand httpd.

Apache wordt vaak geleverd met vrij uitgebreide documentatie in HTML-formaat. In Fedora-distributies is bijvoorbeeld traditioneel Apache-documentatie beschikbaar na het starten van Apache vanaf de URL http://localhost/handleiding.

Apache is een webserver.

Configuratiebestanden

Standaard worden alle configuratiebestanden opgeslagen in de map "conf".

httpd.conf is hoofdconfiguratiebestand Apache-server. Wijzigingen in dit bestand vereisen een herstart van de Apache-server om van kracht te worden.

In de map "extra" (in de map "conf") staan extra configuratiebestanden. Indien nodig kunnen ze worden aangesloten in het hoofdconfiguratiebestand.

Syntaxis van configuratiebestanden

Er zou slechts één richtlijn op één regel moeten zijn. Het teken \ (backslash) kan worden gebruikt als het laatste teken van een regel om aan te geven dat de richtlijn op de volgende regel wordt voortgezet. Er mogen geen andere witruimtetekens na het teken \ staan, behalve het teken voor het einde van de regel.

De richtlijn en zijn argumenten worden gescheiden door een spatie. De argumenten zelf worden ook gescheiden door spaties. Als het argument spaties bevat, moet het tussen aanhalingstekens staan.

Richtlijnen zijn niet hoofdlettergevoelig, maar argumenten zijn daarentegen wel hoofdlettergevoelig.

Een regel die begint met een # (hekje) wordt beschouwd als commentaar en wordt genegeerd. Een opmerking kan niet op dezelfde regel worden geplaatst als een richtlijn.

Witruimtetekens die vóór de richtlijn zijn ingevoegd, worden genegeerd, zodat ze kunnen worden gebruikt om inspringingen in te voegen om de code gemakkelijker leesbaar te maken. Lege regels worden ook genegeerd.

Modules

Een module is eenvoudigweg een plug-inbestand waarmee u extra functionaliteit kunt toevoegen. Alle plug-ins bevinden zich standaard in de map "modules".

Met modules kunt u richtlijnen gebruiken die niet zijn opgenomen in de kern van de Apache-webserver.

.htaccess

Htaccess is een aanvullend configuratiebestand voor de Apache-webserver en vergelijkbare servers. Hiermee kunt u de functionaliteit voor individuele mappen configureren, zonder het hoofdconfiguratiebestand te wijzigen, aangezien toegang daartoe meestal verboden is.

Het .htaccess-bestand heeft alleen invloed op de map waarin het zich bevindt en de onderliggende mappen. Het .htaccess-bestand kan in elke map worden geplaatst. De richtlijnen van dit bestand zijn van invloed op alle bestanden in de huidige map en al zijn submappen (tenzij deze richtlijnen worden overschreven door de richtlijnen van onderliggende .htaccess-bestanden).

Voor wijzigingen in het .htaccess-bestand is een herstart van de server niet nodig.

Als er een fout is gemaakt in het .htaccess-bestand, bijvoorbeeld als een richtlijn of de waarde van een richtlijn onjuist is geschreven, retourneert de server een fout: Fout 500.

Het .htaccess-bestand gebruikt dezelfde syntaxis als Apache-configuratiebestanden.

U kunt zien welke richtlijnen zich in het .htaccess-bestand kunnen bevinden in de directory met richtlijnen in de “Context” van een specifieke richtlijn.