Hoe Apache werkt. Apache-webserver installeren

Apache HTTP-server is een platformonafhankelijke webserver met open broncode. Sinds april 1996 is het de populairste HTTP-server op internet; in augustus 2007 draaide het op 51% van alle webservers. De belangrijkste voordelen van Apache zijn betrouwbaarheid en configuratieflexibiliteit. Officiële website: httpd.apache.org.

De server werd begin 1995 geschreven en er wordt aangenomen dat de naam teruggaat naar de komische naam “a patchy” (Engelse “patch”), omdat het fouten van de toen populaire server elimineerde Wereld wijde web NCSA HTTPd 1.3. Later, vanaf versie 2.x, is de server opnieuw herschreven en bevat nu niet meer de NCSA-code, maar de naam blijft behouden. Op dit moment wordt er ontwikkeld in tak 2.2, en in versies 1.3 en 2.0 worden alleen beveiligingsbugfixes aangebracht.

De Apache-webserver wordt ontwikkeld en onderhouden door een open gemeenschap van ontwikkelaars onder auspiciën van de Apache Software Foundation en is opgenomen in veel softwareproducten.

Waarom moet u mogelijk een webserver op uw computer installeren? Hier zijn twee opties: a) als u toegang heeft tot internet, kunt u, voordat u de pagina's van uw site op een echte server laadt, deze op uw lokale computer maken en er fouten in opsporen. b) Als u geen toegang heeft tot internet, maar wel een lokaal netwerk in de klas heeft, kunt u een server installeren en deze gebruiken voor educatieve doeleinden.

1. Om webprojecten te scheiden van alle andere, alle software, html-pagina's, scripts, enz. in dit voorbeeld installeren we in een aparte map C:\MijnServers. In deze directory gaan we een directory aanmaken usr Voor noodzakelijke programma's En thuis voor het opslaan van websites. U kunt een andere naam en locatie voor de mappen kiezen.

2. We zullen de nieuwste versie van Apache 2.2.8 installeren. Eerst moet u de nieuwste versie van de distributiekit downloaden om Apache te installeren. Op http://httpd.apache.org/download.cgi selecteert u een van de spiegelservers voor het downloaden van de Apache-serverdistributie. Dit kunnen bijvoorbeeld http://www.sai.msu.su/apache/httpd/binaries/win32/, http://apache.rinet.ru/dist/httpd/binaries/win32/, http:// zijn apache .rediska.ru/httpd/binaries/win32/ of anderen. Versies voor alle platforms incl. en voor Win32 worden gratis verspreid.

Ook op deze pagina staan ​​links naar twee distributies:
Win32 Binair zonder crypto (geen mod_ssl) ( MSI-installatieprogramma): apache_2.2.8-win32-x86-no_ssl.msi
Win32 Binair inclusief OpenSSL 0.9.8g (MSI Installer): apache_2.2.8-win32-x86-openssl-0.9.8g.msi

Opmerking:
SSL (Secure Sockets Layer) is een cryptografisch protocol dat zorgt voor veilige overdracht gegevens via internet. Bij gebruik wordt er een beveiligde verbinding tot stand gebracht tussen de client en de server. Om toegang te krijgen tot beveiligde pagina's SSL-protocol, gebruikt de URL meestal het https-voorvoegsel in plaats van het gebruikelijke http-voorvoegsel, wat aangeeft dat er een SSL-verbinding zal worden gebruikt. SSL vereist dat de server een SSL-certificaat heeft om te kunnen werken.

3. Voer het installatiebestand uit en volg de instructies van de installatiewizard.

Wij gaan akkoord met de licentieovereenkomst.

Bij de volgende stap wordt u gevraagd de serverinstellingen te configureren. Als domein en naam geven wij dit aan lokalehost, als het adres waarnaar servermeldingen worden verzonden, elk adres, bijvoorbeeld: beheerder@localhost.

De geheugensteun computernaam "localhost" betekent hetzelfde netwerkapparaat(computer) van waaruit een netwerkpakket wordt verzonden of een verbinding tot stand wordt gebracht. Die. dit is dezelfde computer waarop u de webserver installeert. Normaal gesproken wordt "localhost" toegewezen aan het adres 127.0.0.1.

De Apache-server kan in twee modi worden gestart: als service of handmatig. In ons voorbeeld start de server automatisch als service voor alle gebruikers. Aandacht! In dit artikel worden geen problemen met netwerk- en Windows-beheer en -beveiliging behandeld.

Selecteer een standaardinstallatie.

Een locatie selecteren om de server te installeren. Je kunt het op de standaard laten staan, maar ik raad aan om alle software voor het netwerk in één map te zetten, bijvoorbeeld: C:\MijnServers(zo is het makkelijker). Klik op de knop Wijzigen... en geef in het padselectievenster het volgende op: C:\MijnServers\usr\local\ in plaats van C:\Program Files\Apache Software Stichting\Apache2.2\

Als je alles goed hebt gedaan en er zeker van bent :) klik dan op de knop Installeren

Het installatieproces begint...

Om de installatiewizard af te sluiten, klikt u aan het einde op de knop Voltooien.

Nadat de installatie is voltooid, wordt de server automatisch gestart (deze zou moeten starten) en verschijnt er een pictogram in de lade naast de klok.
Als er een groene driehoek op het pictogram verschijnt, betekent dit dat de server normaal is geïnstalleerd en gestart.

Als u dubbelklikt op dit pictogram, verschijnt dit venster:

Hier kunt u de status van de dienst zien en indien nodig stoppen, starten, herstarten, etc.

In de toekomst (na de volgende keer opstarten van de computer) zal dit pictogram (in deze versie) niet meer zelfstandig verschijnen. Daarom kunt u een lancering toevoegen Apache-servers monitoren handmatig automatisch laden.

Laten we de functionaliteit ervan controleren door in ons geval de browser te starten en het adres van uw server in de adresbalk in te voeren http://lokalehost of gewoon lokalehost. Als je zo'n pagina ziet, kun je je feliciteren - je hebt de server geïnstalleerd, het enige dat overblijft is om deze een beetje te configureren.

4. Om de server te configureren, opent u het configuratiebestand via “Start”,

of handmatig in de map waar Apache was geïnstalleerd, in ons geval C:\MyMyServers\usr\local\Apache2.2\conf\httpd.conf.

httpd.conf- dit is het enige bestand dat moet worden geconfigureerd. Je moet er enkele regels in vinden en wijzigen. Het is raadzaam om later ondraaglijke pijn te voorkomen :), maak eerst een kopie van dit bestand. Plots verwijder je iets onnodigs. Er zijn veel opmerkingen in dit bestand die beginnen met een #-teken. Sommige parameters worden in eerste instantie ook becommentarieerd.

a) Stel de waarde van de parameter ServerName als volgt in Servernaam localhost. (geen punt aan het einde)

b) In plaats van DocumentRoot "C:/MijnServers/usr/local/Apache2.2/htdocs" geef dit alstublieft aan DocumentRoot "C:/MijnServers/home/localhost/www". C:/MyServers/home/localhost/www is de map waar uw html-bestanden zich zullen bevinden. We hebben vanaf het allereerste begin C:\MyServers\home gemaakt. Maak nu een andere map C:\MyServers\home\localhost, waarin u 2 mappen maakt: \cgi en \www.

c) Zoek het gedeelte dat begint met en eindigend . Vervang het door


ToestaanAlles overschrijven
Toestaan ​​van iedereen

Dit blok slaat de standaardinstellingen voor al uw mappen op.

d) Zoek het gedeelte dat begint met en eindigend , verwijder het volledig, inclusief opmerkingen.

e) Zoek het blok


DirectoryIndexindex.html

Hier worden de zogenaamde indexbestanden gespecificeerd, die automatisch door de server worden uitgegeven bij toegang tot een directory, als de naam van het html-document niet is opgegeven. In principe kunt u hier andere namen toevoegen, bijvoorbeeld index.htm en index.php (als u doorgaat met het installeren van PHP en het gebruiken/schrijven van scripts), of u kunt aanvullende instellingen maken in de...htaccess-bestanden. Laten we bijvoorbeeld een blok corrigeren naar:


DirectoryIndex index.php index.htm index.html

e) Als u geen cgi-scripts gebruikt, kunt u dit punt overslaan. Corrigeer de ScriptAlias-parameter:

ScriptAlias ​​/cgi-bin/ "C:/MijnServers/usr/local/Apache/cgi-bin/" op ScriptAlias ​​/cgi-bin/ "C:/MijnServers/home/localhost/cgi". Voeg deze regel erna toe: ScriptAlias ​​/cgi/ "C:/MijnServers/home/localhost/cgi". Dit zal de map zijn waarin uw CGI-scripts zich zullen bevinden.

Blok verwijderen ... omdat we geen aanvullende instellingen gaan gebruiken.

Zoek en wijzig de AddHandler cgi-scriptregel (vergeet niet het commentaar te verwijderen): AddHandler cgi-script .cgi .bat .exe .pl Deze parameter geeft aan dat bestanden met de extensie .cgi .bat .exe .pl moeten worden beschouwd als cgi-scripts.

f) Als u SSI gebruikt, stel dan de volgende parameters in:

AddType tekst/html .shtml
AddHandler server-geparseerd .shtml .html .htm

g) Luisterrichtlijnen specificeren de IP-adressen en poorten waarop de Apache-server zal "luisteren", wachtend op een verbinding. Over het algemeen is het aantal van dergelijke richtlijnen niet beperkt. Als u de server alleen gaat gebruiken om uw sites te hosten, geef dit dan alleen aan Luister 127.0.0.1:80.

5. Dat is alles. Start de server opnieuw op. Als alles correct is uitgevoerd, werkt de server. Start uw browser en controleer zoals voorheen. In de browser zie je een pagina met "Index of /" omdat we de hoofd(index)pagina (bijvoorbeeld index.htm) niet in de directory C:/MyServers/home/localhost/www hebben geplaatst. Als u iets interessanters wilt zien, maakt u daar uw HTML-pagina en slaat u deze op. Dit kunt u doen met behulp van een webeditor, of u kunt de onderstaande tekst in Kladblok schrijven en het bestand opslaan met de extensie .html (of .htm, niet .txt). Wanneer u een pagina in Kladblok opslaat, selecteert u het bestandstype: alle bestanden en specificeert u in het veld Bestandsnaam index.htm.

tekst van het index.html-bestand (kan worden gekopieerd en opgeslagen):





Eerste pagina


Dit is mijn pagina!





Door de browser te starten en in ons geval het adres van uw server in de adresbalk in te voeren http://lokalehost of gewoon lokalehost je ziet een pagina zoals deze. Wij kunnen u feliciteren: u heeft de server geïnstalleerd en geconfigureerd.

Nu maken we onze webpagina's, plaatsen ze op onze server (in C:/MyServers/home/localhost/www) en...

Om toegang te krijgen tot uw server vanaf lokaal netwerk op elke computer schrijven we het serveradres, bijvoorbeeld: http://server of gewoon server(aangezien de computernaam in voorbeeldserver, en of u bijvoorbeeld een computernaam heeft pc11, dan zal het zo zijn http://pc11) . Houd er rekening mee dat toegang alleen mogelijk is als dit is toegestaan ​​(niet geweigerd) in de luisterparameters .

Om html-pagina's te maken die u kunt gebruiken Nvu 1.0 - gratis redacteur webpagina's. Grootte ongeveer 6,76 MB. U kunt het downloaden van http://nvu.mozilla-russia.org/. De officiële website van het Nvu-programma is http://www.nvu.com/. NVU is Open bron Linspire-project om een ​​visuele (WYSIWYG) HTML-editor te maken. De basis voor het maken van NVU was een stukje code dat uit Mozilla was gehaald.

Of u kunt KompoZer gebruiken - het opvolgerproject van Nvu. KompoZer- gratis HTML-editor, dat beginners zonder HTML-kennis alles biedt noodzakelijke fondsen om uw eigen webdocumenten te maken. Het programma is vrij eenvoudig en intuïtief in gebruik, heeft enkele functies van FrontPage en Dreamweaver, heeft een stijleditor, enz.

Van de betaalde editors kunnen we opmerken Microsoft Office FrontPage 2003 of zijn opvolger Microsoft Office SharePoint-ontwerper 2007.

Apache (Apache HTTP Server), de naam van de meest bekende en wijdverbreide webserver die ondersteunt HTTP-protocol/1.1. In wezen is een webserver een krachtig programma dat is ontworpen om te verwerken http-verzoek uit de adresbalk van de browser en keer terug met dit verzoek benodigde bestanden. Ter vereenvoudiging kunt u met webservers communicatie tot stand brengen tussen de browser en de server, volgens het volgende schema: de browser vraagt ​​om de sitebestanden op het adres, en de webserver geeft deze aan hem. Dit is heel simplistisch. “Communicatie” vindt plaats via het HTTP-protocol.

Webservers, inclusief Apache, zijn speciaal voor deze doeleinden ontwikkeld, en geen enkele server of hostingsoftware zal kunnen werken zonder dat er een webserver draait die het HTTP-protocol gebruikt.

Meer recentelijk had Apache een virtueel monopolie voor het oplossen van zijn problemen. Nu heeft de Nignix-webserver bijna geen tijd meer. Er wordt steeds vaker gebruik gemaakt van de symbiose van Apache en Nignix.

Je kunt niet zonder een webserver en het bouwen van een lokale server. Tegenwoordig is de situatie dat Apache wordt gebruikt en bovendien domineert in alle lokale serverbuilds, zowel voor Windows als Linux.

Apache-beheer

Om kennis te maken met de Apache-webserver, is het de moeite waard om vertrouwd te raken met hoe de Apache-service vanaf de clientzijde wordt beheerd.

Het is waarschijnlijk die eenvoud externe controle Apache-webservice en heeft deze zo populair gemaakt (of dit is een van de redenen). Om de Apache-webservice te beheren is er speciaal bestand, onder de naam .htaccess (met een punt aan het begin). Op mijn eigen manier functioneel doel, het is vergelijkbaar met het robots.txt-bestand voor zoek robots. Met speciale richtlijnen die in dit bestand zijn geschreven, kunt u als gebruiker de weergave van pagina's op uw site beheren, omleidingen maken, enz., zonder u te verdiepen in de serversoftware. Naast het .htaccess-bestand is er voor het beheer van Apache een htpasswd-bestand (ook met een punt aan het begin) en ook mod_auth- en mod_access-modules.

Maar laten we terugkeren naar lokale servers. Om een ​​lokale server op uw computer te installeren (aan te maken), kunt u niet zonder Apache. Ik wil u er nogmaals aan herinneren dat in de acroniemen en LAMP de letter [A] de webserver, Apache, is.

In alle samenstellingen van lokale servers, zoals Denver, Open-server, XAMPP, enz., is de Apache-webserver a priori aanwezig. Als we de server zelf in elkaar zetten, wat we doen, moet Apache onafhankelijk worden geïnstalleerd.

Welke versie van Apache moet ik installeren?

Apache ontwikkeld in twee takken (versies): Apache 1.3 en Apache 2.x. Oude versie Het is niet nodig om 1.3 te installeren, daarom werken we met versie 2.x.

Nu het meest verwarrende deel. U weet dat vrijwel elk programma op twee manieren kan worden geïnstalleerd:

  • Met behulp van het autoinstaller (installatieprogramma), bestand ;
  • Rechtstreeks, door mappen en programmabestanden naar de gewenste map op de schijf te uploaden.

Met Apache is de situatie als volgt:

  • Laatst Apache-versie 2.4.26 (uitgebracht op 19-06-2017) is alleen beschikbaar in de variant handmatige installatie(link hieronder);
  • De installatieversie bevat de nieuwste versie van Apache 2.2.25.

Dat is alles! De eerste kennismaking met Apache vond plaats. In de volgende artikelen vertel ik je hoe je beide versies van Apache op je lokale computer installeert.

Tenslotte de nodige links

Sitenavigatie Apache-web De server (http) is enigszins verwarrend, dus ik zal de nodige links geven:

  • Apache-webserversite (http://httpd.apache.org/).
  • Apache-webserver downloaden ( http://httpd.apache.org/download.cgi)
  • Downloaden Stabiele versie- nieuwste versie: 2.4.26 (uitgebracht op 19-06-2017) (voor Windows).
  • Download verouderde uitgave - 2.2-serie. 2.2.32 (uitgebracht op 13-01-2017)
  • Binaire versies: https://archive.apache.org/dist/httpd/binaries/win32/ (2013-07-10)

De meest populaire op dit moment is Apache-webserver. Vandaag vertel ik je hoe snel en correct Apache installeren. U zult worden gepresenteerd stap voor stap beschrijving het installatieproces van de webserver, dat vergezeld gaat van schermafbeeldingen.

Laten we beginnen!

Omdat het project is ontworpen voor beginnende webontwikkelaars, zullen we voor het gemak van het instellen en installeren van de software programmeren onder Windows. Naarmate u meer ervaring opdoet, kunt u eenvoudig overstappen naar het *nix-platform.

We moeten dus eerst de nieuwste versie van de Apache-distributie (4,6 Mb) downloaden. Op het moment dat deze nota wordt geschreven, is dit versie 2.2.10. Tegen de tijd dat u deze tekst leest, is uw versie wellicht nieuwer, maar dit verandert niets aan de essentie. Er mogen geen fundamentele verschillen zijn.

Zoek de sectie “ Apache HTTP-server 2.2.10 is de beste beschikbare versie” (de best beschikbare versie) en daar selecteren we de distributiekit voor Windows - “ Win32 Binair zonder crypto (geen mod_ssl) (MSI Installer)” (installatiebestand zonder SSL-ondersteuning, omdat We hebben geen SSL nodig voor onze lessen):

Dus hebben we het installatiebestand gedownload apache_2.2.10-win32-x86-no_ssl.msi. Start het installatieprogramma:

Klik gewoon op Volgende.

Wij accepteren licentieovereenkomst en klik op Volgende.

Vul in dit stadium de velden in zoals aangegeven in de afbeelding. Deze gegevens worden naar het configuratiebestand geschreven en kunnen later worden bewerkt.

Ik raad u ten zeerste aan om Apache in deze map te installeren (deze wordt standaard aangeboden). De volgende lessen behandelen de installatie en PHP-installatie en MySQL. Ik zal me concentreren op dit Apache-installatiepad. Dus als daarna Apache-installaties je hebt het niet nodig onnodige problemen met PHP en MySQL eraan gekoppeld, dan raad ik je aan naar mijn woorden te luisteren. In de toekomst, als je het zelf een paar keer installeert en kunt Apache configureren, installeert u het in een voor u geschikte map.

De voorbereidingen voor de installatie zijn voltooid. Klik op Installeren en wacht tot de installatie is voltooid.

Gefeliciteerd, Apache-installatie voltooid!

Als iemand problemen heeft met de installatie, schrijf dan in de reacties. Ik zal proberen te helpen.

25/12/13 39,1K

Een webserver is een programma dat op een lokale of externe machine draait, en het belangrijkste doel is om de gebruiker webdocumenten te laten bekijken. Wanneer het websiteadres in de adresbalk wordt ingevoerd, drukt u op Voer sleutels in de browser genereert een gericht verzoek externe computer- webserver.

Apache HTTP-server (afkorting van patchy server) is een van de meest populaire en wijdverspreide programma's die zijn gemaakt voor webontwikkelaars en beheerders van internetbronnen. Volgens onafhankelijke onderzoekers is Apache geïnstalleerd op 50% van de computers van alle HTTP-servergebruikers.

De belangrijkste voordelen van Apache zijn stabiliteit, snelheid en flexibiliteit, en deze zijn te danken aan de modulaire organisatie ervan, evenals aan het feit dat de ontwikkeling wordt uitgevoerd door open groep programmeurs, zij het onder de officiële naam Apache Software Foundation.

Apache ondersteunt een groot aantal besturingssystemen en hardwareplatforms en wordt vrij vaak onder controle gebruikt besturingssysteem Ramen. Belangrijk is ook dat deze webserver volledig gratis wordt verspreid.

Hoe Apache-server voor besturingssysteem te installeren Windows-systemen 7, zal in dit artikel worden besproken.

Apache installeren

Allereerst moet u de nieuwste versie van de Apache-distributie downloaden zonder SSL-ondersteuning en de installatie uitvoeren. IN welkom venster u moet op "Volgende" klikken, de licentieovereenkomst van de ontwikkelaar lezen en uw akkoord ermee bevestigen.

Vervolgens moet u in het installatievenster de velden invullen zoals weergegeven in de onderstaande afbeelding en in het " E-mailadres van de beheerder"Geef uw e-mailadres op, klik op "Volgende" en zet de schakelaar op "Aangepast".

Vervolgens moet u een www-map op station C maken en deze opgeven als installatiemap voor Apache klikt u hierin op “Volgende” en op “Installeren” in het volgende venster. Wanneer de installatie is voltooid, klikt u op "Voltooien".

Als alles goed is gegaan, zou het Apache-webserverbeheerpictogram in de lade moeten verschijnen. U kunt het stoppen en opnieuw starten door met de linkermuisknop op het pictogram te klikken.

Door op hetzelfde pictogram te klikken klik met de rechtermuisknop muis, kunt u naar verschillende gaan systeem diensten besturingssysteem of open de Apache-monitor.

Om te controleren of het werkt geïnstalleerde server Apache, typ http://localhost in de adresbalk van uw browser

Als er een pagina verschijnt met de bemoedigende inscriptie “Het werkt! ", betekent dit dat de Apache-installatie succesvol was en correct functioneert.

Basisconfiguratie van de webserver

Hoewel Apache erg handig en uiterst betrouwbaar is, is niet iedereen er klaar voor om het als lokale server om een ​​aantal redenen, en de belangrijkste is de afwezigheid zelfs in Microsoft-omgeving Windows van elke grafische configurator, wat voor de meeste gebruikers vrij ongebruikelijk is.

De server wordt geconfigureerd door het configuratiebestand httpd.conf handmatig te bewerken. Echter, in tegenstelling tot ideeën over de onbegrijpelijkheid en complexiteit dit proces, is er om twee redenen niets ingewikkelds aan deze operatie: ten eerste om van de nieuw geïnstalleerde Apache een server te maken die is geconfigureerd voor een acceptabele en comfortabel werk, hoeven er heel weinig gegevens te worden gewijzigd in het configuratiebestand, en ten tweede bevatten de httpd.conf-opmerkingen veel nuttige informatie, noodzakelijk om de installatie te begrijpen.

Wat is er nodig?

  • Voer Apache uit onder het Windows 7-platform;
  • Bewaar de bestanden van de toekomstige website in een gebruiksvriendelijke map (bijvoorbeeld C:www);
  • Ervaar geen problemen met het coderen, en in het bijzonder met de weergave van het Cyrillische alfabet;
  • Mogelijkheid om met meerdere sites tegelijk te werken.

Om deze problemen succesvol op te lossen, gaat u naar de map met Apache geïnstalleerd, zoek en open het httpd.conf-bestand in de conf-submap. Houd er rekening mee dat regels die beginnen met “hash” tekstcommentaar zijn, en dat regels die aan het begin geen “hash”-pictogram hebben, worden gebruikt als webserverinstellingen.

Eerst moet u de map configureren die door de server als websitemap zal worden gebruikt. Zoek de regel in de tekst die begint met DocumentRoot. Deze richtlijn bepaalt welke map de root zal zijn.

Corrigeer het naar DocumentRoot “C:/www”. Het moet verduidelijkt worden dat de schuine strepen in dit bestand naar rechts schuin moeten staan, en niet naar links, zoals u waarschijnlijk al gewend bent Windows-gebruikers. Na de bovenstaande manipulaties is het probleem met de locatie van uw site opgelost.

Opties (definieert welke serverfuncties zal beschikbaar zijn) AllowOverride (definieert welke richtlijnen van .htaccess die in httpd.conf kunnen overschrijven) Volgorde (stelt bepaalde regels in voor toegang tot de server)

Lijst met gebruikte parameters:

Opties. De volgende opties zijn mogelijk:

  • Inclusief – gebruik van SSI is toegestaan;
  • InclusiefNOEXEC – gebruik van SSI is toegestaan ​​met beperkingen (#include en #exec zijn niet toegestaan);
  • Indexen – het gebruik van indexbestanden is toegestaan, en als de URL verwijst naar een sitemap (bijvoorbeeld www.domain.ru/dir/) waarin zich geen indexbestand bevindt, wordt de inhoud van deze map getoond, en als deze optie niet aanwezig is, wordt gewaarschuwd dat toegang verboden is;
  • ExecCGI - uitvoering CGI-scripts toegestaan;
  • FollowSymLinks – de server volgt bestaande symbolische verbanden mappen (gebruikt op Unix-systemen);
  • SymLinksIfOwnerMatch – de server volgt bestaande symbolische directory-links alleen als het doelbestand dezelfde eigenaar heeft als de link;
  • Alles – al het bovenstaande samen is toegestaan;
  • Geen – al het bovenstaande samen is verboden;
  • MultiViews – de mogelijkheid om specifieke inhoud te selecteren en weer te geven, afhankelijk van de browservoorkeuren (zelfs als Opties Alles is ingeschakeld. Afzonderlijk gespecificeerd).

Overschrijven toestaan. Opties:

  • AuthConfig – hiermee kunt u richtlijnen gebruiken voor autorisatie;
  • FileInfo – maakt het gebruik van richtlijnen mogelijk om mee te werken verschillende soorten documenten;
  • Indexen – maakt het gebruik van richtlijnen mogelijk voor het werken met indexbestanden;
  • Beperking – staat het gebruik van richtlijnen toe om de toegang tot de host te bepalen;
  • Opties – maakt het gebruik van richtlijnen mogelijk om met bepaalde specifieke mapfuncties te werken;
  • Alles – al het bovenstaande samen;
  • Geen – geen van bovenstaande samen.

Volgorde. Opties:

  • Weigeren, Toestaan ​​– Weigeren wordt gedefinieerd vóór de Toestaan-instructie, toegang is standaard toegestaan, behalve voor hosts die zijn opgegeven in de regel na Weigeren van;
  • Toestaan,Weigeren – Toestaan ​​wordt gedefinieerd vóór de Deny-instructie, toegang wordt standaard geweigerd, behalve voor hosts die zijn opgegeven in de regel na Toestaan ​​van;
  • Wederzijds falen – toegang is alleen toegestaan ​​aan die hosts die afwezig zijn in Weigeren en aanwezig zijn in Toestaan.

Probeer op basis van het bovenstaande uw server in te stellen. In het httpd.conf-bestand bestaat de Directory-instructie standaard in twee exemplaren: En . De eerste optie mag niet worden aangeraakt, dus stel in de tweede optie de parameters als volgt in:

Opties Indexen FollowSymLinks AllowOverride Geen Order toestaan, weigeren Toestaan ​​van alles

Met andere woorden, de volgende opties zijn geselecteerd voor de map C:/www en al zijn submappen:

  • Onder de mogelijke functionaliteit van de bestaande server zijn indexen in mappen en navigatie via symbolische links toegestaan;
  • De mogelijkheid om parametrisch te overschrijven met behulp van .htaccess-bestanden ontbreekt volledig, hoe dan ook gezien wat je hebt volledige toegang voor de server is het niet relevant - alles kan worden geconfigureerd via httpd.conf;
  • Toegang tot de webserver is toegestaan ​​vanaf alle hosts.

Sla nu het bestand httpd.conf op en start Apache opnieuw met Apache Monitor of geef het commando apache –k restart in opdrachtregel. Het instellen van de hoofdmap van de site is voltooid.

Je moet controleren of je alles goed hebt gedaan. Maak een eenvoudige webpagina in de map C:www, open uw browser en voer deze in http://127.0.0.1/uw_aangemaakte_pagina. De pagina zou moeten openen. Anders moet u alle wijzigingen in het bestand httpd.conf zorgvuldig controleren op juistheid.

Als de pagina succesvol wordt geopend, bestaat de kans dat u in plaats van Cyrillische tekens onleesbare tekens ziet. Ze kunnen om twee redenen worden weergegeven. Ten eerste voorziet de webserver uw browser die de pagina heeft opgevraagd van een standaardcodering. Ten tweede is deze codering, vreemd genoeg, niet Cyrillisch.

Als de beruchte Internet Explorer in dergelijke gevallen bepaalt het de codering van de pagina zelf, dan hebben Mozilla Firefox en Opera bijvoorbeeld absoluut geen neiging tot dergelijke acties, en de methode om de codering handmatig in de browser in te stellen, kan nauwelijks handig worden genoemd. Daarom moet u Apache zo configureren dat deze standaard de vereiste codering retourneert.

Zoek de regel in het httpd.conf-bestand die begint met AddDefaultCharset . Hoogstwaarschijnlijk is de codering ISO-8859-1, die geen Cyrillische tekens bevat. Wijzig ISO-8859-1 in Windows-1251, sla het bestand op en start Apache opnieuw. Nu werkt de juiste weergave van de Russische taal op uw website in elke browser.

De Apache-server is vrij eenvoudig in te stellen om met meerdere sites te werken. Adressen die hiervoor kunnen worden gebruikt zijn 127.0.0.2, 127.0.0.3, enz. In dit geval zal alleen de standaardsite (127.0.0.1) zichtbaar zijn op het netwerk, maar lokaal werk dit is niet kritisch. Het gedeelte van het bestand httpd.conf, waarin alles wat hiervoor nodig is, is geconfigureerd, bevindt zich helemaal aan het einde en heet VirtualHosts.

Om een ​​extra site toe te voegen, maakt u een map aan die als root wordt gebruikt, bijvoorbeeld C:www2. Ervan uitgaande dat de site zal reageren op het adres 127.0.0.2, geeft u deze de naam site911 en voegt u helemaal aan het einde van de VirtualHosts-sectie de volgende regels toe:

ServerAdmin webmaster@site911 Servernaam site911 DocumentRoot "C:/www2" ScriptAlias ​​/cgi/ "C:/www2/cgi/" ErrorLog "C:/www2/error.log" CustomLog "C:/www2/custom.log" gewoon

Start de Apache-server opnieuw op. Door 127.0.0.1 in de adresbalk van uw browser te typen, wordt u naar uw eerste lokale site gebracht, en door 127.0.0.2 te typen wordt u naar uw tweede lokale site gebracht. Houd er rekening mee dat binnen elke VirtualHosts-container absoluut alle richtlijnen van de Apache-webserver kunnen worden gebruikt, waardoor elke site op de meest gedetailleerde manier kan worden geconfigureerd.

Kortom

De installatie en configuratie zijn voltooid en u kunt nu de werking van de Apache-server in de praktijk volledig gaan bestuderen.

Als u besluit betrokken te raken bij websitebeheer, zou uw volgende stap het bestuderen van de Apache-bundel moeten zijn PHP MySQL, omdat zonder databasebeheersysteem en zonder ondersteuning voor een van de meest voorkomende webprogrammeertalen en webbeheertools MySQL-systemen geen enkele server in de uitgestrektheid kan worden gebruikt wereldwijd netwerk. Zoals ze zeggen: " moeilijk te leren, maar gemakkelijk te bestrijden».

Wij wensen je veel succes bij het bestuderen van deze moeilijke maar interessante materie!

Goed slecht

Apache HTTP-server(uit het Engels een fragmentarische server, “server met patches”, daarnaast is er een toespeling op de Apache-indianenstam. Vervormde uitspraak komt veel voor onder Russische gebruikers Apache) is een volledig uitgeruste, uitbreidbare webserver die het HTTP/1.1-protocol volledig ondersteunt en open source is.

De server kan op vrijwel alle gangbare platforms draaien. Er zijn kant-en-klare serverprogramma's voor Windows NT, Windows 9x, OS/2, Netware 5.x en verschillende UNIX-systemen. Bovendien is het zeer eenvoudig te installeren en configureren.

Eigenlijk zijn het de configuratieflexibiliteit en de betrouwbaarheid ervan die als de belangrijkste voordelen van de Apache-server worden beschouwd. Hiermee kunt u verbinding maken externe modules om gegevens aan te leveren, gebruik DBMS om gebruikers te authenticeren, foutmeldingen te wijzigen, enz. Ondersteunt IPv6.

Apache wordt geconfigureerd met behulp van tekstconfiguratiebestanden. De basisinstellingen zijn standaard al geconfigureerd en zullen in de meeste gevallen werken. Mocht de functionaliteit van de standaard Apache niet voldoende zijn, dan is het mogelijk om gebruik te maken van diverse door de Apache Group geschreven modules externe ontwikkelaars. Een belangrijk voordeel is dat de makers actief met gebruikers communiceren en op alle foutmeldingen reageren.

De eenvoudigste functie die Apache kan uitvoeren is om op een server te zitten en een gewone HTML-website te bedienen. Na ontvangst van een verzoek om specifieke pagina de server stuurt zijn antwoord naar de browser. Het verzoek is het adres dat in de adresbalk van de browser is getypt.

Om het ontwerp en de functionele delen van de site te scheiden, en om de wijziging van statische objecten te vereenvoudigen, is er SSI-technologie. Hiermee kunt u alle herhalende informatie in één bestand plaatsen (bijvoorbeeld top.inc) en vervolgens een link ernaartoe in pagina's invoegen. Als het vervolgens nodig is om de informatie te wijzigen, wordt de informatie in slechts één bestand gewijzigd. De Apache-server ondersteunt deze technologie en stelt u in staat om de insluitsels op de server optimaal te benutten.

De functies van een webserver worden niet door de computer zelf uitgevoerd, maar door het programma dat erop is geïnstalleerd: dat wil zeggen dat wanneer de browser van de gebruiker verbinding maakt met de webserver en een GET-header verzendt (verzoek om een ​​bestand over te dragen), het Apache is. die het verzoek verwerkt. Apache controleert of het in de GET-header gespecificeerde bestand bestaat en stuurt dit, indien dat het geval is, samen met de headers naar de browser.

Apache is een soort webserverstandaard op internet. De belangrijkste concurrent is IIS ( Internetinformatie Server) van Microsoft, dat draait op Windows. Apache, hoewel er versies van zijn voor Windows, wordt voornamelijk geïnstalleerd op Unix-achtige besturingssystemen - Linux en FreeBSD. Er moet ook worden opgemerkt dat de meeste hosters Apache gebruiken en niet IIS. IIS wordt meestal geïnstalleerd bedrijfsservers draait onder Windows.

Apache-server was een van de eerste servers die ondersteuning bood virtuele servers(gastheren). Hierdoor is het mogelijk om er één te plaatsen fysieke server diverse volwaardige websites. Elk van hen kan zijn eigen domein, beheerder, IP-adres, enzovoort hebben.

Apache ondersteunt CGI- en PHP-technologieën, evenals de mogelijkheid om talen te verbinden. Dit maakt het veel gemakkelijker om met dynamische webpagina's te werken (wat tegenwoordig eigenlijk bijna allemaal webpagina's zijn).

Op op dit moment Apache-server is nu op 67% van de servers wereldwijd geïnstalleerd.

Geschiedenis van de schepping

Apache Server is ontwikkeld en wordt onderhouden door het Apache Project.

Het was oorspronkelijk een variant van de NCSA-webserver, ontwikkeld in het National Supercomputing Development Center van de Universiteit van Illinois. Maar in 1994 verliet de belangrijkste ontwikkelaar van NCSA het project en liet zijn volgers zijn server zelf uitzoeken. Na verloop van tijd begonnen er correcties en toevoegingen aan de NCSA-server te verschijnen - de zogenaamde patches (patches, uit het Engels vertaald als "patches"). En in april 1995 werd de eerste versie van de Apache-server uitgebracht, die was gebaseerd op versie 1.3 van de NCSA-server. De eerste versie van Apache bevatte eenvoudigweg alle bekende oplossingen van de NCSA-server. En de naam Apache zelf komt hiervan – “A Patchy”.

Apache werd later een onafhankelijke ontwikkeling. Sinds de tweede versie is de code herschreven zodat deze geen enkele verwijzing naar NCSA-code bevat. De Apache-server wordt momenteel onderhouden door een groep vrijwillige programmeurs, de Apache Group.

De Apache-server is oorspronkelijk ontwikkeld voor Linux- en Unix-besturingssystemen, maar na verloop van tijd zijn er versies uitgebracht voor Windows en OS/2.

Op dit moment wordt er ontwikkeld in tak 2.2, en in versies 1.3 en 2.0 worden alleen beveiligingsbugfixes aangebracht. Tegenwoordig is de nieuwste versie van de 2.4-tak versie 2.4.3, uitgebracht op 21 augustus 2012. Voor de eerste versie hebben de nieuwste oplossingen het label 1.3.42.

Apache webserver wordt ontwikkeld en onderhouden open gemeenschap ontwikkelaars onder auspiciën van de Apache Software Foundation en is opgenomen in veel softwareproducten, waaronder Oracle DBMS en IBM WebSphere.

Van april 1996 tot heden was het de populairste HTTP-server op internet. Hoogste prestaties werden bereikt in 2012 - Apache draaide op 67% van de servers over de hele wereld. In 2011 bedroeg het aandeel 59%, in 2009 – 46% en in 2007 – 51%.

Intern diagram systeemoproepen Apache

Apache-architectuur

De Apache-kern omvat de belangrijkste functionaliteit, zoals verwerking van configuratiebestanden, HTTP-protocol en modulelaadsysteem. De kern (in tegenstelling tot modules) wordt volledig ontwikkeld door de Apache Software Foundation, zonder deelname van externe programmeurs.

Theoretisch zou de apache-kernel kunnen functioneren pure vorm, zonder gebruik te maken van modules. De functionaliteit van een dergelijke oplossing is echter uiterst beperkt.

De Apache-kern is volledig geschreven in de programmeertaal C.

Systeem Apache-configuraties gebaseerd op tekstconfiguratiebestanden. Het heeft drie voorwaardelijke configuratieniveaus:

  • Serverconfiguratie (httpd.conf)
  • Configuratie virtuele gastheer(httpd.conf sinds versie 2.2, extra/httpd-vhosts.conf)
  • Configuratie op mapniveau (.htaccess)

Het heeft zijn eigen configuratiebestandstaal, gebaseerd op richtlijnblokken. Bijna alle kernelparameters kunnen worden gewijzigd via configuratiebestanden, inclusief MPM-besturing. De meeste modules hebben hun eigen parameters. Sommige modules gebruiken configuratiebestanden van het besturingssysteem in hun werk (bijvoorbeeld /etc/passwd en /etc/hosts). Bovendien kunnen parameters worden opgegeven via opdrachtregelschakelaars.

Er zijn veel symmetrische multiprocessing-modellen voor de Apache-webserver. Apache HTTP Server ondersteunt ook modulariteit. Er zijn meer dan 500 modules die verschillende functies uitvoeren. Hoewel sommige rechtstreeks door het Apache Software Foundation-team zijn ontwikkeld, zijn de meeste bestaande modules ontwikkeld door externe open source-ontwikkelaars.

Modules kunnen tijdens het compileren in de server worden opgenomen of dynamisch worden geladen via configuratiebestandsrichtlijnen.

Met behulp van modules kunt u het volgende implementeren:

  1. Uitbreiding van ondersteunde programmeertalen
  2. Toevoeging extra functies of wijziging van de belangrijkste.
  3. Bugfixes
  4. Verhoogde veiligheid.

Sommige webapplicaties, zoals de ISPmanager en VDSmanager controlepanelen, zijn geïmplementeerd als Apache-module.

Apache-server heeft een ingebouwd virtueel hostmechanisme. Hierdoor is het mogelijk om meerdere sites (domeinnamen) volledig te bedienen op één IP-adres, waarbij voor elk daarvan de eigen inhoud wordt weergegeven.

Voor elke virtuele host kunt u opgeven eigen instellingen kernel en modules, beperk de toegang tot de hele site of aparte bestanden. Met sommige MPM's, zoals Apache-ITK, kunt u voor elke virtuele host een httpd-proces uitvoeren met een afzonderlijke uid en guid.

Er zijn ook modules waarmee u voor elke virtuele host rekening kunt houden met de serverbronnen (CPU, RAM, verkeer) en deze kunt beperken.

Integratie met andere software en programmeertalen

Om de server succesvol te integreren met verschillende software en programmeertalen, zijn er extra modules:

  • PHP (mod_php)
  • Python (mod python, mod wsgi)
  • Robijn (apache-robijn)
  • Perl (mod-perl)
  • ASP (apache-asp)
  • Tcl (klinknagel)

Apache ondersteunt CGI- en FastCGI-mechanismen, waardoor u programma's in alle programmeertalen kunt uitvoeren, waaronder C, C++, Lua, sh en Java.

Beveiliging

De beveiliging in Apache gebeurt met behulp van verschillende mechanismen die onder meer de toegang tot gegevens beperken. De belangrijkste zijn:

  • Beperking van de toegang tot bepaalde mappen of bestanden.
  • Een mechanisme voor het autoriseren van gebruikers om toegang te krijgen tot een map op basis van HTTP-authenticatie (mod_auth_basic) en digest-authenticatie (mod_auth_digest).
  • Beperking van de toegang tot bepaalde mappen of de gehele server op basis van IP-adressen van gebruikers.
  • Toegang weigeren tot bepaalde soorten bestanden voor alle of sommige gebruikers, bijvoorbeeld door de toegang tot configuratiebestanden en databasebestanden te weigeren.
  • Er zijn modules die autorisatie implementeren via een DBMS of PAM.

Sommige MPM-modules hebben de mogelijkheid om elk Apache-proces uit te voeren met een andere uid en gid die overeenkomt met die gebruikers en/of gebruikersgroepen.

Er is ook een suexec-mechanisme dat wordt gebruikt om scripts en CGI-applicaties uit te voeren met gebruikersrechten en inloggegevens.

Om de codering van de gegevens die tussen de client en de server worden verzonden te implementeren, wordt het SSL-mechanisme gebruikt, geïmplementeerd via de OpenSSL-bibliotheek. X.509-certificaten worden gebruikt om de webserver te authenticeren.

Er zijn externe beveiligingstools beschikbaar, zoals mod_security.

Talen

De mogelijkheid voor de server om de locatie van de gebruiker te bepalen verscheen in versie 2.0. Vanaf nu worden alle servicemeldingen, evenals fout- en gebeurtenismeldingen, met behulp van SSI-technologie in meerdere talen weergegeven.

Het is mogelijk om de weergave te implementeren met behulp van servertools diverse pagina's voor gebruikers met verschillende lokalisaties. Apache ondersteunt vele coderingen, waaronder Unicode, waarmee u pagina's kunt gebruiken die in elke codering en in elke taal zijn gemaakt.

Afhandeling van evenementen

De beheerder kan instellen eigen pagina's en begeleiders voor iedereen HTTP-fouten en evenementen zoals 404 ( Niet gevonden) of 403 (Verboden). Het is mogelijk om scripts uit te voeren en berichten in verschillende talen weer te geven.

Serverzijde inbegrepen

In versies 1.3 en ouder is het Server-mechanisme geïmplementeerd Zijkant omvat, waarmee u dynamisch HTML-documenten aan de serverzijde kunt genereren.

SSI wordt beheerd door de mod_include-module die is opgenomen in de standaard Apache-distributie.

Apache versus IIS

Geschillen over Apache kiezen of IIS zijn zo oud als de discussie over het kiezen van een besturingssysteem: Linux of Windows. Voordat u de definitieve keuze maakt, is het daarom de moeite waard om de voor- en nadelen van beide adequaat te beoordelen.

Belangrijkste voordelen van Apache en serversystemen LAMP:

  1. lage kosten, omdat het niet nodig is softwarelicenties aan te schaffen;
  2. flexibel programmeren dankzij open source-code;
  3. verbeterde beveiliging sinds Apache is ontworpen voor gebruik niet-Windows-systemen(en de meeste malware geschreven onder Microsoft OS), heeft het altijd de reputatie gehad meer te zijn beveiligd systeem dan het IIS van Microsoft.

Voordelen van internetinformatiediensten (IIS):

  1. Windows en IIS worden ondersteund door Microsoft, terwijl Apache alleen wordt ondersteund door de gebruikersgemeenschap;
  2. IIS ondersteunt het .NET-platform en ASPX-scripts van Microsoft;
  3. modules kunt u inschakelen streamen audio- en video-inhoud.

Door de voordelen van deze twee servers te vergelijken, kunnen verschillende conclusies worden getrokken. Ten eerste: als de licentiekosten het belangrijkste criterium zijn bij het kiezen van een server, dan is het zeker de moeite waard om voor de LAMP-combinatie te kiezen, omdat deze vrij is van licentiekosten. Ten tweede loopt Apache op basis van veiligheidscriteria opnieuw voorop: het systeem is iets efficiënter. Ten derde draait IIS alleen op Windows OS en zal elke variatie in de keuze van het besturingssysteem opnieuw tot Apache leiden.

De enige optie waarbij de IIS-bundel is ingeschakeld Windows-platform zal worden beste keuze, dit zijn de meest gebruiksvriendelijke beheertools als belangrijkste criterium. Bovendien moet het script dat wordt uitgevoerd uitsluitend op ASPX vertrouwen.

Het is echter mogelijk om een ​​oplossing te ontwikkelen die het werk op beide servers ondersteunt.