Apache is een krachtige server waarvan de naam afkomstig is van een Engelse uitdrukking die verband houdt met de naam van de Apache-stam van Noord-Amerikaanse Indianen. Onder Russische gebruikers heeft het een algemene naam "Apache". Dit is open source software met een GPL-licentie. Een van de grootste voordelen is de platformonafhankelijke server, wat inhoudt dat deze op verschillende besturingssystemen kan draaien met behoud van uitstekende prestaties.
Sinds 1996 is dit de meest populaire server ter wereld vanwege zijn stabiliteit en veiligheid. Apache is ontwikkeld door een gemeenschap van gebruikers-ontwikkelaars, die wordt geleid door de Apache Software Foundation.
Geschiedenis van Apache
In maart 1989 stelde Tim Berners Lee, een Engelse wetenschapper die bij CERN (Zwitserland) werkt, een nieuwe manier voor om de enorme hoeveelheid informatie in CERN-projecten te beheren. In die tijd wist niemand wat Apache was. De initiële ontwikkeling van het hyperlinked document netwerk, zoals Ted Nelson ze in 1965 noemde, leidde tot de oprichting van het WWW.- de eerste software die in november 1990 werd uitgebracht onder de naam World Wide Web, met een webbrowser, grafische interface en WYSIWYG-editor. Twee jaar later waren er slechts ongeveer dertig vermeldingen in de lijst met WWW-servers, waaronder HTTPs NCSA.
Het echte Apache-verhaal begint in maart 1995 met de release van Apache 0.2 op basis van de NCSA HTTPD 1.3-server. Veel gebruikers zijn geïnteresseerd in wat Apache tegenwoordig is en hoe het programma eruitzag in de eerste maanden van zijn bestaan. Het was slechts een reeks bewerkingen op de NCSA-server. Vervolgens bracht Robert Thau Shambhala 0.1 uit met API's voor modules die zeer succesvol bleken te zijn.
De grootste mijlpalen van het project waren volledige naleving van de HTTP 1.1-standaard, die in april 1997 werd opgenomen als versie 1.2. Deze versie bevatte al het Windows NT-platform, dat in juli 1997 werd gelanceerd. Het combineren van configuratiebestanden is geïmplementeerd in release 1.3.3.
Apache Group is verantwoordelijk voor de evolutie van de webserver en specifieke ontwikkelingsbeslissingen. Deze groep moet worden onderscheiden van de kernontwikkelaars - Kerngroep. Het vrijwillige karakter van de meeste ontwikkelaars maakt het onwaarschijnlijk dat ze allemaal tegelijkertijd actief zijn in Apache, dus de kernel is verantwoordelijk voor het draaiende houden. Over het algemeen behoren de beslissingen die ontwikkelaars moeten nemen tot de kernel en zijn beperkt tot stemmen om de code op te nemen. Aan de andere kant hebben ze meestal schrijftoegang tot de CVS-repository, dus ze fungeren als een toegangspoort tot de code en zorgen ervoor dat deze correct en van goede kwaliteit is.
Minimumvereisten envoordelen
Apache heeft brede acceptatie gekregen op het web en is sinds 1996 de meest gebruikte HTTP-server. Bereikte zijn hoogste marktaandeel in 2005 toen de server door 70% van de sites wereldwijd werd gebruikt. In de afgelopen jaren is het marktaandeel gedaald. Het is opmerkelijk dat voor Apache een dergelijke achteruitgang niet wijst op de impopulariteit en degradatie van technologie.
Minimale vereisten voor bediening:
- Processor - Pentium.
- RAM - 64 MB.
- OS-Microsoft Windows, GNU/Linux.
- Installatiegrootte - 50 MB.
Voordelen:
- Modulair ontwerp.
- Open source.
- Multiplatform-ontwerp.
- Uitbreidbaarheid.
- Populair - gemakkelijk om hulp en ondersteuning te krijgen.
Serverarchitectuur
Apache modulaire server bestaat uit een hoofdgedeelte en verschillende modules die de meeste basisfunctionaliteit bieden. Enkele van deze modules:
- mod_ssl - beveiligde communicatie via TLS;
- mod_rewrite - adres herschrijven, vaak gebruikt om dynamische pagina's zoals php om te zetten naar statische pagina's om zoekmachines voor de gek te houden over waar ze zijn ontworpen;
- mod_dav - Ondersteuning voor WebDAV-protocol (RFC 2518);
- mod_deflate - het compressie-algoritme is transparant wanneer de inhoud naar de client wordt verzonden;
- mod_auth_ldap - stelt gebruikers in staat zich te authenticeren op een LDAP-server;
- mod_proxy_ajp -connector om te communiceren met Jakarta Tomcat dynamische pagina's in Java (servlets en JSP).
De basisserver kan worden uitgebreid met externe modules, waaronder:
- mod_cband - verkeerscontrole en bandbreedtebeperking;
- mod_perl - dynamisch in Perl;
- mod_php - dynamisch in PHP;
- mod_python - dynamisch in Python;
- mod_rexx - dynamisch in REXX- en REXX-object;
- mod_ruby - dynamisch in Ruby;
- mod asp dot net - dynamisch in Microsoft. NET;
- mod_mono - dynamisch naar mono;
- mod_security - filtering op applicatieniveau voor beveiliging.
Configuratie en beveiliging
Om te begrijpen wat Apache is op het gebied van beveiliging, moet je de configuratie ervan overwegen. Het grootste deel van de configuratie wordt gedaan in de bestanden apache2.conf en httpd.conf, afhankelijk van het systeem waarop de software draait. Elke wijziging aan dit bestand vereist een herstart van de server of opnieuw geforceerd lezen.
De softwarelicentie waaronder de belangrijkste Apache-software wordt gedistribueerd, is een kenmerk van de geschiedenis van Apache HTTP Server en de open source-gemeenschap. De licentie staat distributie van open en gesloten source-producten toe.
De Free Software Foundation beschouwt de Apache-licentie niet als compatibel met versie 2 van de GNU General Public License (GPL), waarin de software is gelicentieerd en niet is geïntegreerd met de software. Hier moet rekening mee worden gehouden voordateen Apache-webserver opzetten die wordt gedistribueerd onder de GPL-licentie. Versie 3 van de GPL bevat echter een bepaling die het mogelijk maakt om compatibel te zijn met licenties die vrijwaringsclausules voor octrooien hebben.
De meeste beveiligingsproblemen die zijn ontdekt en verholpen, kunnen alleen worden misbruikt door lokale gebruikers, niet op afstand. Sommige werken echter nog steeds op afstand in bepaalde situaties. Of als ze worden gebruikt door kwaadwillende lokale gebruikers om gedeelde hostingovereenkomsten te schenden met PHP als een module van de gratis Apache-webserver.
De werking van Apache controleren
Om er zeker van te zijn dat Apache goed werkt, opent u een webbrowser en typt u het volgende adres in: https://localhost. Druk vervolgens op Enter, er verschijnt een witte pagina met het bericht "Dit werkt", wat het bewijs is dat de webserver goed werkt.
Apache stelt u in staat om aangepaste configuraties te maken om aan uw behoeften aan te passen en aan te passen. Zoek hiervoor het bestand http.conf in C:appserv Apache2.2 conf. Er wordt een back-up van gemaakt om runtime-fouten te voorkomen, vervolgens wordt het geopend met een willekeurige editor en worden de benodigde regels gewijzigd.
Om deze stappen correct uit te voeren, moet u een goede kennis hebben van de Apache-werker, aangezien alle aangebrachte wijzigingen worden weerspiegeld in de prestaties en het opstarten van Apache. Dankzij de laatste aanbevelingen wordt de server geïnstalleerd. Het werkt in een basisconfiguratie waarmee je kunt downloadenpagina's of netwerktoepassingen op internet.
Informatiebeheer
Apache is de meest gebruikte webserver, de leider met de meeste installaties ter wereld, ruim voor op andere oplossingen zoals Microsoft Internet Information Server (IIS). Dit project is open voor gebruik omdat het multi-platform is, versies heeft voor alle belangrijke besturingssystemen, zeer betrouwbaar is en opv alt door zijn veiligheid en prestaties.
De computer waarop deze software draait, heeft dezelfde naam. Dit is van cruciaal belang omdat het verantwoordelijk is voor het accepteren van paginaverzoeken van bezoekers die de site bezoeken en het beheren van hun levering of afwijzing volgens het vastgestelde beveiligingsbeleid. Hoewel dit proces misschien eenvoudig lijkt, omvat het veel aspecten en functies die moeten worden voltooid:
- Query-prestaties.
- Een groot aantal HTTP-verzoeken, waaronder multitasking, kan ervoor zorgen dat de service instort.
- Beperkingen op bestandstoegang, controle van gebruikersauthenticatie of filterverzoeken op basis van hun oorsprong.
- Omgaan met fouten op pagina's met bezoekersinformatie en omleiden naar vooraf gedefinieerde pagina's.
- Beheren van de informatie die moet worden verzonden in overeenstemming met het formaat en het adequaat informeren van de browser die om de gespecificeerde bron vraagt.
- Beheerlogboek voor het opslaan van ontvangen verzoeken, fouten die zijn opgetreden, enin het algemeen alle informatie die wordt geregistreerd en geanalyseerd om statistieken over sitetoegang te verkrijgen.
Met Apache kun je virtuele hosting opzetten op basis van IP-adressen of namen, dat wil zeggen meerdere websites op één computer hebben.
Bestand apache2.conf
Ongetwijfeld is apache2.conf het belangrijkste bestand, omdat het het algemene gedrag van webpagina's definieert en ook verantwoordelijk is voor toegang tot verschillende modules die de functionaliteit van de server uitbreiden.
Het bevindt zich in de map /etc/apache2 en aangezien het een tekstbestand is, kan het gemakkelijk worden bewerkt met een teksteditor. Eigenschappen configuratiebestand - Globale servervariabelen en functionaliteitsuitbreidingen.
Globale servervariabelen zijn variabelen die de algemene werking bepalen:
- Tabel met Apache-richtlijnen. De servernaam wordt aangegeven met de variabele ServerName, dus elke omleiding of koppeling die in HTML-documenten bestaat, werkt prima. De meeste configuratievariabelen worden verdeeld onder andere kleine bestanden die zijn opgeslagen in mods-available.
- .htaccess is een verborgen tekstbestand waarmee je kunt aanpassen hoe de server werkt.
- "Apache" is een specifieke map zonder het hoofdconfiguratiebestand apache2.conf te hoeven wijzigen. Wanneer een webclient een bestand van de server opvraagt, kijkt het vanuit de hoofdmap naar de submap met de gevraagde.htaccess en houdt het rekening met de richtlijnen die het bevat voordat het het verzoek doet.
Principe.htaccess:
- Verbiedt het opnemen van bestanden in de directory.
- Leidt webverkeer om.
- Stel foutpagina's in.
- Beperk de toegang tot bepaalde bestanden.
- Weiger toegang tot specifieke IP-adressen of reeksen IP-adressen.
- Breidt functionaliteit uit met betrekking tot andere module-aanroepen en configuratiebestanden. Alle instructies die aan dit item zijn gekoppeld, worden voorafgegaan door het woord "Inschakelen".
De Apache-webserver installeren
Apache is oorspronkelijk ontworpen om met PHP-technologie te werken, maar het kan ook probleemloos met. NET werken, waardoor het succesvoller is dan IIS van Microsoft, dat een medewerker is voor servers die IIS gebruiken en volledige ondersteuning biedt voor PHP zonder dat verander de configuratie.
Om een webserver te installeren en uit te voeren, moet je deze eerst downloaden van de officiële site. Zoek altijd de nieuwste versie van beschikbare software en controleer of deze wordt geïdentificeerd als Win32 Binary inclusief OpenSSL.
De versie heeft een ingebouwd installatie- en gegevensbeschermingssysteem. Eenmaal geselecteerd, wordt het gedownload naar de pc. Dubbelklik op het bestandspictogram om het proces te starten, wat eenvoudig is omdat het wordt vergezeld door een assistent.
Een van de eerste vensters die de nodige informatie zal verschaffen zodat de webserver verbinding kan maken met het netwerk, is het informatievenster. Daar vult de gebruiker een kort formulier in door de netwerkdomeinnaam, servernaam en e-mailadres toe te voegenbeheerder. Kies voor de eerste twee opties localhost.
Vervolgens zal het installatievenster verschijnen, waar alle beschikbare componenten worden vermeld. Selecteer ze allemaal en controleer of de map c:appserv Apache2.2 bestaat. Configureer vervolgens de Apache-webserver.
Web Monitor op de taakbalk
Controleer na het installeren van Apache of het correct is gedaan. Ga hiervoor naar het menu "Start" en zoek de optie "Uitvoeren". Er verschijnt een pop-upvenster waarin u cmd invoert, er verschijnt een systeempop-upscherm. Om er zeker van te zijn dat de gebruiker als beheerder wordt uitgevoerd, klikt u met de rechtermuisknop op het venster en selecteert u "Als administrator uitvoeren".
Installatie-algoritme:
- Zoek de Apache bin-map in de Windows-console, schrijf hiervoor de volgende zin in de console - c: appserv Apache2.2? in.
- Druk na het invoeren op Enter en het systeemonderdeel ziet er als volgt uit - C: appserv Apache2.2? In>.
- Typ in de bin-map http:.exe -k install en druk op Enter.
- Er verschijnt een bericht dat lijkt op ". Apache 2.2: service reeds geïnstalleerd". Dit bericht bevestigt dat Apache met succes is geïnstalleerd.
Een van de meest effectieve manieren om te controleren of Apache correct werkt, is door te controleren of de applicatiemonitor actief is. Het is te zien op de taakbalk. Als het niet actief is, activeer het dan door naar het menu Start, Alle programma's en Apache http Server 2.2. te gaan, klik op Apache-server bewaken en activeer het.
Monitor is handig omdat u hiermee de server kunt stoppen,pauzeer en activeer het in alle comfort zonder naar het consolevenster te gaan, gewoon door op het pictogram op de taakbalk te klikken om het controlevenster te openen.
Linux Installatie Tips
Als een gebruiker een website heeft en een platform nodig heeft om deze te hosten, kunt u de diensten van een van de hostingproviders gebruiken of proberen uw website zelf op de server te hosten.
Installatie-algoritme:
- Download de laatste stabiele versie van Apache.
- Download bronbestanden volgens het systeem.
- Softwarebestanden uitpakken.
- Daarna moeten de gedownloade bestanden worden uitgepakt: gunzip -d httpd-2_0_NN.tar.gz; tar xvf
- Dit creëert een nieuwe map in de huidige map met de bronbestanden.
- Zodra de bestanden verschijnen, vertel de machine waar ze alle originele kunnen vinden. De eenvoudigste manier om dit te doen, is door alle standaardinstellingen te accepteren en gewoon te typen:./configure.
- Apache instellen, op voorwaarde dat er geen problemen waren met installeren en bouwen. De gebruiker past de configuratie aan, wat gelijk staat aan het bewerken van het httpd.conf-bestand. Het wordt meestal bewerkt met een teksteditor - vi PREFIX /conf/httpd.conf. U moet root zijn om wijzigingen aan te brengen.
- Controleer de werking van de server.
Toepassing op het World Wide Web
Apach wordt voornamelijk gebruikt om statische en dynamische pagina's naar het World Wide Web te sturen. Veel toepassingen zijn ontworpen met:Apache-implementatieomgevingen of zullen de kenmerken van deze server gebruiken. Apach is een servercomponent in het populaire LAMP-toepassingsplatform, samen met de programmeertalen MySQL en PHP, Perl, Python en Ruby, waaronder de Oracle-database en de IBM WebSphere-toepassingsserver. Mac OS X integreert het als onderdeel van zijn eigen webserver en ondersteuning voor WebObjects-toepassingen.
Apache wordt gebruikt voor veel andere taken waarbij toegang tot inhoud op een veilige en betrouwbare manier nodig is. Bijvoorbeeld bij het delen van bestanden van een pc naar internet. Een gebruiker die Apache op zijn bureaublad heeft geïnstalleerd, kan willekeurig bestanden in de documenthoofdmap plaatsen, van waaruit ze kunnen worden gedeeld.
Ontwikkelaars van webapplicaties gebruiken soms een lokale versie van Apache om code te bekijken en te testen tijdens de ontwikkeling. Microsoft Internet Information Services (IIS) is de belangrijkste concurrent van Apache, evenals de Sun Java System-webserver van Sun Microsystems en vele andere toepassingen zoals de Zeus Web-Server.
Sommige van de grootste websites ter wereld worden mogelijk gemaakt door Apache. De voorkant van de Google-zoekmachine is gebaseerd op een aangepaste versie ervan, de Google Web Server (GWS). Veel Wikipedia-projecten draaien ook op Apache-servers.