Wat Apache-configuratiebestanden niet mogen toestaan. Het installeren van de Apache-webserver. MySQL installeren en configureren

Apache is de meest gebruikte internetserver op Linux-systemen. Internetservers worden gebruikt om internetpagina's op verzoek van clientcomputers aan te bieden. Klanten vragen en bekijken internetpagina's doorgaans met behulp van internetbrowserapplicaties zoals Firefox, Opera, Chromium of Mozilla.

Gebruikers voeren een Uniform Resource Locator (URL) in om een ​​internetserver te identificeren aan de hand van de volledig gekwalificeerde domeinnaam (FQDN) en het pad naar de gewenste bron. Om bijvoorbeeld de startpagina van de Ubuntu-website te zien, hoeft de gebruiker alleen de FQDN in te voeren:

www.ubuntu.com

SymLinksIfOwnerMatch- Volgt symbolische links als het doelbestand of de doelmap dezelfde eigenaar heeft als de link.

httpd-instellingen

In dit gedeelte worden enkele basisconfiguratie-instellingen voor de service besproken. httpd.

Bestand vergrendelen— De LockFile-instructie stelt het pad naar het lockfile in wanneer de server wordt gecompileerd met de optie USE_FCNTL_SERIALIZED_ACCEPT of USE_FLOCK_SERIALIZED_ACCEPT. Het moet op een lokale schijf worden opgeslagen. Het is de moeite waard om de standaardwaarde te laten staan, tenzij de logmap zich op een NFS-share bevindt. Anders moet de oorspronkelijke waarde worden gewijzigd in een lokale schijfmap met alleen leesrechten voor root.

PidBestand— de PidFile-instructie stelt een bestand in waarin de server zijn proces-ID (pid) schrijft. Dit bestand zou alleen leesbaar moeten zijn voor root. In de meeste gevallen moet deze parameter ongewijzigd blijven.

Gebruiker— de gebruikersinstructie stelt het gebruikers-ID (gebruikers-ID) in dat door de server wordt gebruikt om op verzoeken te reageren. Deze instelling bepaalt de toegangsrechten van de server. Bestanden die niet toegankelijk zijn voor deze gebruiker, zijn ook niet toegankelijk voor bezoekers van uw site. De standaardgebruiker is "www-data".

Groep— de groepsinstructie is vergelijkbaar met de gebruikersrichtlijn. Groep stelt de groep in waaronder de server op verzoeken zal reageren. De standaardwaarde is ook "www-data".

Apache2-modules

Apache2 is een modulaire server. Dit betekent dat alleen de meest basale functionaliteit in de kern van de server is opgenomen. Geavanceerde functies zijn beschikbaar via modules die in Apache2 kunnen worden geladen. Standaard wordt tijdens het compileren een basisset modules op de server opgenomen. Als de server is gecompileerd om dynamisch geladen modules te gebruiken, kunnen de modules afzonderlijk worden gecompileerd en op elk gewenst moment worden toegevoegd met behulp van de instructie Laadmodule. Anders moet Apache2 opnieuw worden gecompileerd om modules toe te voegen of te verwijderen.

Ubuntu compileert Apache2 met de mogelijkheid om modules dynamisch te laden. Configuratie-instructies kunnen worden opgenomen op basis van de aanwezigheid van de overeenkomstige module in het blok .

U kunt extra Apache2-modules installeren en deze gebruiken met uw internetserver. Voer bijvoorbeeld de volgende opdracht uit in een terminal om de MySQL-autorisatiemodule te installeren:

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

Zoek naar aanvullende modules in de map /etc/apache2/mods-available.

Gebruik het a2enmod-hulpprogramma om de module in te schakelen:

Sudo a2enmod auth_mysql sudo service apache2 opnieuw opstarten

Op dezelfde manier zal a2dismod de module uitschakelen:

Sudo a2dismod auth_mysql sudo service apache2 opnieuw opstarten

HTTPS instellen

Module mod_ssl voegt een belangrijke functie toe voor de Apache2-server: de mogelijkheid om verbindingen te coderen. Wanneer uw browser verbinding maakt via SSL, wordt daarom het voorvoegsel https:// gebruikt aan het begin van de URL in de navigatiebalk.

Module mod_ssl beschikbaar in het apache2-common-pakket. Voer de volgende opdracht uit in een terminal om deze module in te schakelen:

Sudo a2enmod ssl

De standaardinstellingen voor HTTPS staan ​​in het bestand /etc/apache2/sites-available/default-ssl. Om ervoor te zorgen dat Apache2 HTTPS levert, zijn ook sleutel- en certificaatbestanden vereist. De initiële HTTPS-installatie maakt gebruik van een certificaat en sleutel die zijn gegenereerd door het ssl-cert-pakket. Deze zijn prima om te testen, maar moeten worden vervangen door een certificaat dat overeenkomt met uw site of server. Zie de sectie Certificaten voor informatie over het maken van sleutels en het verkrijgen van certificaten.

Om Apache2 voor HTTPS te configureren, voert u het volgende in:

Sudo a2ensite standaard-ssl

De mappen /etc/ssl/certs en /etc/ssl/private worden standaard gebruikt. Als u het certificaat en de sleutel in andere mappen hebt geïnstalleerd, zorg er dan voor dat u de opties SSLCertificateFile en SSLCertificateKeyFile dienovereenkomstig wijzigt.

Nu Apache2 is geconfigureerd voor HTTPS, starten we de service opnieuw op om de nieuwe instellingen toe te staan:

Sudo-service apache2 opnieuw opstarten

Afhankelijk van hoe u uw certificaat heeft uitgegeven, moet u mogelijk een wachtwoordzin invoeren wanneer u Apache2 start.

U kunt toegang krijgen tot de pagina's van de beveiligde server door https://uw_hostnaam/url/ in de adresbalk van uw browser te typen.

Rechten voor het delen van records

Om ervoor te zorgen dat meer dan één gebruiker schrijftoegang heeft tot dezelfde directory, moet u schrijftoegang verlenen aan de groep die hen verenigt. In het volgende voorbeeld wordt schrijfmachtiging verleend aan de directory /var/www voor de groep "webmasters".

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 "()" \;

Als toegang moet worden verleend aan meer dan één groep per directory, gebruikt u Controlled Access Lists (ACL's).

Er zijn nogal wat artikelen op internet waar de auteurs gedetailleerde instructies geven met screenshots, waardoor geen enkele gebruiker de Apache-server voor PHP en de MySql DBMS kon installeren. Maar de meeste laten de gebruiker achter met veel vragen waarop hij lange tijd geen antwoord kan vinden. Laten we eens kijken naar wat Apache, MySql, PHP zijn, waarvoor ze nodig zijn en hoe je deze producten kunt installeren.

Een beetje theorie

Apache is een gratis http-server genoemd naar de Noord-Amerikaanse stam van Apache-indianen. Het wordt veel gebruikt op alle platforms, inclusief Windows, en is de facto een standaard geworden bij de ontwikkeling van webapplicaties en -diensten. Daarnaast zullen we MySql DBMS moeten installeren, dat ook een standaard in zijn vakgebied is, en een van de meest voorkomende en universele scripttalen: PHP.

Apache (zoals gebruikers het noemen) verschilt van andere servers doordat alle applicaties en services er gegarandeerd op werken, zonder dat de gebruiker aanvullende configuraties hoeft uit te voeren. Vergeleken met zijn analogen wordt Apache niet gekenmerkt door hoge prestaties en een laag verbruik van computerbronnen, maar elke applicatie functioneert gegarandeerd op zijn basis. Hier kunt u ook installatiegemak toevoegen, op vrijwel alle moderne platforms werken en uitstekende documentatie.

Laten we nu eens kijken hoe we Apache kunnen installeren op een computer met Windows 7 (in latere edities is het proces vrijwel identiek), zodat de server op een echte hosting wordt geïnstalleerd.

Installatie Apache

  • We gaan naar de officiële Apache-ondersteuningsbron en downloaden de nieuwste editie.

In feite is er voor de ontwikkelaar vrijwel geen verschil tussen de versies van het product, tenzij de oude Apaches worden ondersteund door de nieuwste versies van de PHP-scripttaal.

  • Voer het gedownloade installatiebestand uit.
  • We vullen de eerste twee velden in zoals in de schermafbeelding: voer in beide regels “localhost” in.

  • We hebben absoluut elke mailbox ingesteld.
  • de eerste is verantwoordelijk voor het installeren van het product als een Windows-service, die poortnummer 80 zal gebruiken;
  • de tweede verbindt de server met poortnummer 8080, waarna u deze elke keer automatisch moet starten.

Productontwikkelaars raden aan om de eerste optie te kiezen, dus laten we er wat lager naar kijken. Let bij het installeren van Apache op het pad waar de bestanden zijn opgeslagen. Het is het beste om te installeren in de map “public”, gelegen in de map “users” op de systeempartitie van uw harde schijf.

Controleer na het sluiten van de installatiewizard of Apache actief is. Om dit te doen, gaat u naar de lade en controleert u of het onderstaande pictogram aanwezig is.

Als het niet werkt, voert u de opdrachtregel uit. Dit wordt gedaan door “cmd” in te voeren in de tekstvorm van de opdrachtinterpreter (Win + R).

Op de opdrachtregel schrijven we “net start Apache2.2” om de server te starten.

Deze invoer is alleen geldig voor productversie 2.2; voor andere versies komen de nummers overeen.

De server wordt gestopt door een commando te typen met de volgende parameters: “net stop Apache2.2”.

Laten we nog een paar methoden bekijken voor het starten, afsluiten en opnieuw opstarten van Apache. Voor normaal werk is het gebruik van de opdrachtregel om de server te beheren niet effectief - het zal veel tijd kosten. De uitweg uit de situatie is door het contextmenu van het systeemvakpictogram te gebruiken: klik er met de rechtermuisknop op en selecteer welke actie moet worden uitgevoerd.

Hetzelfde wordt gedaan door de service met dezelfde naam te beheren via het juiste hulpprogramma dat toegang biedt tot Windows-services, of de module Services. Het wordt gestart via de zoekbalk of via “Administratie” in het “Configuratiescherm”.

Apache instellen

Wanneer u de eerste serverinstallatiemethode kiest, kunt u de methode opgeven om deze te starten. Als u het regelmatig gebruikt en gratis bronnen op uw pc heeft, gebruik dan Apache autostart. Anders selecteert u om het handmatig te starten via het servicecontextmenu.

Nadat u de server handmatig of automatisch hebt gestart, opent u een handige browser en gaat u naar het adres: //localhost. Er verschijnt een lege pagina met hetzelfde adres.

Ga als volgt te werk om aan de slag te gaan.

  • We gaan naar de map “htdocs”, gelegen in de map met de softwareproductbestanden.
  • We verwijderen het html-bestand eruit en maken een map aan met de naam van de site (mijnsite).
  • U kunt naar de toekomstige site gaan door //localhost/mysite in te voeren.
  • Ga naar de map “conf” en open het bestand “httpd.conf” in een teksteditor (bij voorkeur met syntaxisondersteuning).
  • Ga naar regelnummer 227 en vervang “geen” door “alles”. De resulterende waarde moet 'AllowOverride All' zijn.

Als u dit doet, kan het "htaccess"-document worden gebruikt. Het is een geavanceerd Apache-configuratiebestand.

  • We zoeken naar de regel met de tekst “#LoadModule rewrite_module modules/mod_rewrite.so” en verwijderen het “#” symbool.

Deze actie activeert de module die verantwoordelijk is voor het maken en bedienen van CNC-koppelingen.

  • We slaan de aangebrachte wijzigingen op en herstarten Apache.

PHP installeren

  • We gaan naar de PHP-downloadpagina en downloaden de nieuwste stabiele versie van de scripttaal.

Aandacht! U zult geen uitvoerbaar bestand in msi- of exe-formaat moeten downloaden, maar een biz-archief.

  • We maken een map en decomprimeren het archief daarin met behulp van 7zip of Winrar.
  • Open “httpd.conf” als je het hebt gesloten en voeg de volgende tekst aan het einde toe:

"LoadModule php5_module "C:\Gebruikers\Public\php\php7Apache2_2.dll"

AddType applicatie/x-httpd-php .php"

De cijfers op de eerste regel en het adres veranderen afhankelijk van de versies van de gebruikte producten en de directorypaden en PHP.

  • Sla opnieuw de wijzigingen op en start Apache opnieuw.

Wanneer er een informatiedialoogvenster verschijnt waarin wordt aangegeven dat er een fout is opgetreden tijdens de bewerking, start u Windows opnieuw op.

Alle PHP-configuratieparameters worden, indien geïnstalleerd, opgeslagen in het bestand "php.ini". In plaats daarvan zijn er documenten waarvan de naam begint met “php.ini”.

  • Hernoem iemand naar “php.ini” om een ​​configuratiebestand te maken.
  • Kopieer dit document vervolgens naar de Windows-map, bijvoorbeeld “C:\Windows”.
  • We starten de server opnieuw op via het contextmenu van het pictogram.

Hiermee is de installatie en configuratie van PHP voltooid. Het enige dat overblijft is het controleren van de functionaliteit van de server. Ga naar “htdocs” en maak een bestand in de map met een willekeurige naam (bij voorkeur Latijn) en php-extensie (bijvoorbeeld file.php). Open het met een teksteditor en voer het volgende codefragment in:

Open of maximaliseer nu het browservenster en voer het pad naar het gemaakte bestand in de adresbalk in. In ons geval is dit: //localhost/mysite/file.php

Als alles goed en zonder fouten is verlopen, ziet u een soortgelijk beeld.

Let op de regel “Geladen configuratiebestand”. Het pad naar het configuratiebestand “php.ini” moet daar worden opgegeven.

Hiermee is de installatie van Apache met PHP op een Windows-computer voltooid. Als u een CMS moet installeren, wordt het DBMS geïnstalleerd.

DBMS-installatie

  • Download de huidige versie van MySql voor uw versie en bitness van Windows.

  • Nadat u op de knop "Downloaden" hebt geklikt, klikt u op de link die in de schermafbeelding is gemarkeerd om MySql zonder registratie te downloaden.

  • We starten het installatieprogramma, waarvan de werking de .NET Framework-bibliotheekversie 4.5 vereist.
  • Wij accepteren de gebruiksvoorwaarden van MySql op Windows.
  • Verplaats de schakelaar naar de positie 'Alleen server'.

  • Klik op de knop “Uitvoeren” om de MySql-installatie te starten nadat u de vereisten heeft gecontroleerd.

  • We hebben een wachtwoord ingesteld voor MySql, dat wordt gebruikt om toegang te geven tot de database.

  • Klik op “Volgende”.

De serverinstallatie met scripttaal en MySql is voltooid. Het enige dat overblijft is om de laatste twee componenten met elkaar te verbinden, zodat ze met elkaar kunnen communiceren.

Open hiervoor het reeds bekende configuratiebestand “php.ini” en verwijder het “;”-symbool. in lijn met de volgende gegevens:

extensie=php_mysql.dll

extensie=php_mysqli.dll.

Zoek de tekst “; extension_dir = “ext”” en vervang het door de volgende “extension_dir = “C:\Users\Public\php\ext””, waarbij we na het “is gelijk aan” teken het pad naar de map met PHP instellen.


Apache is de populairste gratis webserver. Sinds 2016 wordt het gebruikt op 33% van alle internetsites, wat neerkomt op ongeveer 304 miljard sites. Deze webserver werd in 1995 ontwikkeld als vervanging voor de populaire NCSA-server en loste veel van zijn problemen op. Het gerucht gaat dat zijn naam afkomstig is van een fragmentarische naam, omdat hij NCSA-fouten repareerde. Nu is het een platformonafhankelijk programma dat Windows, Linux en MacOS ondersteunt en voldoende flexibiliteit, maatwerk en functionaliteit biedt. Het programma heeft een modulaire structuur, waardoor u de functionaliteit vrijwel onbeperkt kunt uitbreiden met modules.

Je kunt Apache op Linux installeren met een paar commando's, maar het programma biedt een zeer groot aantal instellingen die kunnen worden gewijzigd, evenals modules die, indien ingeschakeld, beter zullen werken. Dit artikel gaat over het installeren en configureren van Apache, we zullen Ubuntu als hoofdsysteem gebruiken, maar je kunt deze stappen in elke andere distributie herhalen. We zullen niet alleen kijken naar de installatie van het programma zelf, maar ook naar de configuratie ervan, het instellen van virtuele Apache-hosts en de nuttigste modules.

Op dit moment is de nieuwste versie van het programma 2.4, dus we zullen overwegen om Apache 2.4 in te richten. Zoals ik al zei, wordt het programma op Linux letterlijk met een paar opdrachten geïnstalleerd. Om op Ubuntu te installeren, moet u eerst het systeem updaten naar de nieuwste versie:

sudo apt-update
$ sudo apt-upgrade

Installeer vervolgens apache2:

sudo apt installeer apache2

In andere distributies heet het programmapakket dit of httpd en de installatie ervan zal geen problemen opleveren.

Nadat de installatie is voltooid, moet u de webserver toevoegen aan het opstarten, zodat u deze niet handmatig hoeft te starten nadat u de computer hebt ingeschakeld:

sudo systemctl schakel apache2 in

Apache-installatie

Voorbij zijn de dagen dat de Apache-configuratie in één enkel bestand werd opgeslagen. Maar het klopt: wanneer alles in zijn eigen mappen wordt gedistribueerd, is het gemakkelijker om door de configuratiebestanden te navigeren.

Alle instellingen bevinden zich in de map /etc/apache/:

  • Bestand /etc/apache2/apache2.conf verantwoordelijk voor de basisinstellingen
  • /etc/apache2/conf-available/*- aanvullende webserverinstellingen
  • /etc/apache2/mods-available/*- module-instellingen
  • /etc/apache2/sites-available/*- virtuele hostinstellingen
  • /etc/apache2/ports.conf- poorten waarop apache draait
  • /etc/apache2/envvars

Zoals je hebt gemerkt, zijn er twee mappen voor conf, mods en site. Deze zijn beschikbaar en ingeschakeld. Wanneer u een module of host inschakelt, wordt er een symbolische link gemaakt van de beschikbare map naar de map Enable. Daarom is het beter om instellingen in de beschikbare mappen uit te voeren. Over het algemeen zou je het zonder deze mappen kunnen stellen, alles kunnen nemen en alles op de ouderwetse manier in één bestand kunnen dumpen, en alles zou werken, maar niemand doet dat nu.

Laten we eerst eens kijken naar het hoofdconfiguratiebestand:

vi /eta/apache2/apache2.conf

Time-out- geeft aan hoe lang de server zal proberen de onderbroken verzending of ontvangst van gegevens voort te zetten. 160 seconden is voldoende.

Blijf leven- een zeer nuttige parameter, waarmee u meerdere bestanden in één verbinding kunt overbrengen, bijvoorbeeld niet alleen de html-pagina zelf, maar ook afbeeldingen en CSS-bestanden.

MaxKeepAliveRequests 100- maximaal aantal verzoeken per verbinding, hoe meer, hoe beter.

KeepAliveTimeout 5- verbindingstime-out, meestal is 5-10 seconden voldoende om een ​​pagina te laden, u hoeft dus niets meer in te stellen, maar u hoeft ook de verbinding niet te verbreken voordat alle gegevens zijn geladen.

Gebruiker, groep- gebruiker en groep namens wie het programma wordt uitgevoerd.

Hostnaam opzoeken- registreer domeinnamen in logs in plaats van IP-adressen, het is beter om dit uit te schakelen om het werk te versnellen.

Logniveau- niveau van foutregistratie. Standaard wordt warn gebruikt, maar om de logs langzamer te laten invullen, schakelt u gewoon error in

Erbij betrekken- alle include-richtlijnen zijn verantwoordelijk voor het verbinden van de hierboven besproken configuratiebestanden.

Directory-richtlijnen zijn verantwoordelijk voor het instellen van toegangsrechten tot een bepaalde map in het bestandssysteem. De syntaxis hier is:


Parameterwaarde

De volgende basisopties zijn hier beschikbaar:

Overschrijven toestaan- geeft aan of .htaccess-bestanden uit deze directory moeten worden gelezen; dit zijn dezelfde instellingenbestanden en hebben dezelfde syntaxis. Alles - alles toestaan, Geen - deze bestanden niet lezen.

DocumentRoot- stelt in uit welke map documenten moeten worden gehaald om aan de gebruiker te worden weergegeven

Opties- geeft aan welke webserverfuncties in deze map moeten worden toegestaan. Bijvoorbeeld Alles - alles toestaan, FollowSymLinks - symbolische koppelingen volgen, Indexen - de inhoud van de map weergeven als er geen indexbestand is.

Vereisen- stelt in welke gebruikers toegang hebben tot deze map. Vereisen dat alles wordt geweigerd - ontken iedereen. Vereisen dat alles wordt toegekend - sta iedereen toe. U kunt in plaats van alles de gebruikers- of groepsinstructie gebruiken om de gebruiker expliciet op te geven.

Volgorde- hiermee kunt u de toegang tot de directory controleren. Accepteert twee waarden: Allow,Deny - sta voor iedereen toe behalve de gespecificeerde of Deny,Allow - weiger voor iedereen behalve de gespecificeerde..ru.

Al deze richtlijnen worden hier niet gebruikt, omdat we tevreden zijn met de standaardwaarden, maar in .htaccess-bestanden kunnen ze erg nuttig zijn.

We houden het bestand /etc/apache2/ports.conf over:

Het bevat slechts één richtlijn, Listen, die het programma vertelt op welke poort het moet werken.

Het laatste bestand is /etc/apache2/envvars. Het is onwaarschijnlijk dat u het gebruikt; het bevat variabelen die in andere configuratiebestanden kunnen worden gebruikt.

Een Apache-server opzetten via htaccess

Met .htaccess-bestanden kunt u uw Ubuntu-webserver configureren om zich in een specifieke map te gedragen. Alle instructies die in dit bestand zijn gespecificeerd, worden uitgevoerd alsof ze in een tag zijn verpakt als ze in het hoofdbestand stonden.

Het is belangrijk op te merken dat de server instructies van .htaccess alleen kan lezen als de instellingen voor deze map in het hoofd- of virtuele hostbestand geen AllowOverride Geen zodat alle instellingen werken die je nodig hebt Alles overschrijven toestaan.

Anders kan hier elke configuratie van de Apache-server worden uitgevoerd, van het inschakelen van modules tot het eenvoudigweg wijzigen van maptoegang. Omdat we alle parameters al hebben overwogen, laten we een paar voorbeelden geven:

Bestelling weigeren, toestaan
Ontkennen van iedereen

Ontkent iedereen toegang tot deze map, belangrijk om configuratiemappen aan te vragen. Meestal wordt .htaccess gebruikt om te werken met de mod_rewrite module, waarmee je verzoeken direct kunt wijzigen:

RewriteEngine aan
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Maar dit is een zeer breed onderwerp en valt buiten het bestek van dit artikel.

Apache-modules configureren

Zoals ik al zei, is Apache een modulair programma, de functionaliteit ervan kan worden uitgebreid met behulp van modules. Alle beschikbare ladermodules en moduleconfiguratiebestanden bevinden zich in de map /etc/apache/mods-available. En geactiveerd in /etc/apache/mods-enable.

Maar u hoeft de inhoud van deze mappen niet te analyseren. Het configureren van Apache 2.4 door modules toe te voegen gebeurt met behulp van speciale commando's. U kunt alle actieve modules bekijken met het commando:

U kunt de module inschakelen met het commando:

sudo a2enmod modulenaam

En uitschakelen:

sudo a2dismod modulenaam

Na het in- of uitschakelen van modules moet u apache opnieuw opstarten:

sudo systemctl herstart apache2

Wanneer een van deze opdrachten wordt uitgevoerd, wordt er een symbolische link naar een modulebestand met een load-extensie gemaakt of verwijderd in de door mods beschikbare map. U kunt de inhoud van dit bestand bekijken, er is maar één regel. Bijvoorbeeld:

vi /etc/apache2/mods-available/deflate.load

Dit betekent dat de module eenvoudig kan worden geactiveerd door deze regel aan het apache2.conf-bestand toe te voegen. Maar het is gebruikelijk om precies dat te doen om verwarring te voorkomen.

De module-instellingen bevinden zich in dezelfde map, alleen in een bestand met de .conf-extensie in plaats van load. Laten we bijvoorbeeld eens kijken naar de instellingen van dezelfde module voor leegloopcompressie:

vi /etc/apache2/mods-available/deflate.conf

De bestanden in de conf-beschikbare map zijn dezelfde modules, alleen worden ze afzonderlijk van apache geïnstalleerd; dit kunnen configuratiebestanden zijn om de php-module of een andere programmeertaal in te schakelen. Alles werkt hier precies hetzelfde, alleen de commando's voor het in- en uitschakelen van deze modules zijn iets anders:

a2enconf modulenaam

a2disconf modulenaam

Zoals je hebt gezien, is het inschakelen van modules heel eenvoudig. Laten we een paar noodzakelijke maar niet standaard ingeschakelde modules inschakelen:

sudo a2enmod verloopt
$ sudo a2enmod-headers
$ sudo a2enmod herschrijven
$ sudo a2enmod ssl

De verval- en headermodules verminderen de belasting van de server. Ze retourneren een koptekst Niet gewijzigd als het document sinds het laatste verzoek niet is gewijzigd. Met de vervalmodule kunt u instellen hoe lang de browser het ontvangen document in de cache moet opslaan. Met Rewrite kunt u de gevraagde adressen direct wijzigen, erg handig bij het maken van CNC-koppelingen, enz. En de laatste om ondersteuning voor SSL-codering in te schakelen. Vergeet niet apache2 opnieuw op te starten nadat u de instellingen hebt voltooid.

Apache virtuele hosts configureren

Het zou niet helemaal handig zijn als er maar één website op één fysieke machine zou kunnen worden gehost. Apache kan honderden sites op één computer ondersteunen en voor elke site de juiste inhoud weergeven. Hiervoor worden virtuele hosts gebruikt. De server bepaalt naar welk domein het verzoek komt en serveert de benodigde inhoud vanuit de map van dit domein.

Apache-hostinstellingen bevinden zich in de map /etc/apache2/hosts-available/. Om een ​​nieuwe host te maken, maakt u gewoon een bestand met een willekeurige naam (het is beter om te eindigen met de hostnaam) en vult u dit met de benodigde gegevens. U moet al deze parameters in een richtlijn verpakken VirtueleHost. Naast de hier besproken parameters wordt het volgende gebruikt:

  • Servernaam- primaire domeinnaam
  • ServerAlias- aanvullende naam waaronder de site toegankelijk zal zijn
  • ServerAdmin- beheerder e-mailadres
  • DocumentRoot- map met documenten voor dit domein

Bijvoorbeeld:

vi /etc/apache2/sites-available/test.site.conf

Eerder in onze Linux Basics-serie hebben we de basisbeginselen van het gebruik van de Apache-webserver besproken. Het is 's werelds meest gebruikte webserver op internet (vanaf juli 2015 had Apache een aandeel van 38%, IIS 26% en Nginx 15%). Hoe meer u erover weet en begrijpt hoe het werkt, hoe meer succes u zult behalen bij het hacken ervan.

Vandaag zullen we kijken naar de basisprincipes van het opzetten van een Apache-server. Zoals we eerder schreven, wordt de configuratie en configuratie van bijna alle applicaties in Linux of Unix uitgevoerd via configuratiebestanden, die platte tekst zijn. Apache is hier geen uitzondering op. Daarom zullen we ons in dit artikel concentreren op het configuratiebestand apache2.conf, dat zich in de map /etc/apache2 bevindt.

Stap 1: Start Apache2

Laten we beginnen met het starten van Apache2. Laten we dit doen via de grafische shell van Kali door naar Toepassingen -> Kali Linux -> Systeemservices -> HTTP -> apache2 start te gaan, zoals weergegeven in de onderstaande schermafbeelding.

Of voer het uit via de opdrachtregel door de volgende opdracht in de terminal te typen

Kali> service apache2 starten

Hiermee start u de Apache2-daemon en vanaf nu zou de webserver onze inhoud op internet moeten aanbieden.

Stap 2: Controleer de serverstatus

Om te controleren of onze Apache-server actief is, gaan we eenvoudigweg naar localhost of 127.0.0.1 in de browser. Als je een pagina ziet zoals die in de onderstaande schermafbeelding, betekent dit dat de server goed werkt!

Stap 3: Open het configuratiebestand

Om Apache te configureren, moeten we naar de map /etc/apache2 gaan.

Kali > cd /etc/apache2

Laten we een lijst weergeven met alle bestanden in deze map:

Kali > ls-l

Zoals u kunt zien, bevinden zich verschillende bestanden en submappen in deze map. We zijn voorlopig alleen geïnteresseerd in het bestand apache2.conf, maar houd er rekening mee dat we een bestand ports.conf en een map sites_available hebben die we later nodig zullen hebben, en er zijn hier ook verschillende andere configuratiebestanden en mappen .

We kunnen apache2.conf in elke teksteditor openen, maar hier gebruiken we Leafpad. Het bestand kan worden geopend door eenvoudigweg in de console te typen:

Kali > leafpad /etc/apache2/apache2.conf

Zoals u kunt zien, opent deze opdracht een tekstbestand met alle configuratie-informatie voor onze Apache-webserver. Om de server in te stellen, zullen we nu proberen u vertrouwd te maken met alle belangrijke punten van dit bestand.

Stap 4: ServerRoot

Laten we naar beneden scrollen, alle opmerkingen overslaan, en regel #70 zoeken, waar het gedeelte met algemene instellingen begint. Hier zien we de ServerRoot-instellingen. Dit is de bovenkant van de directorystructuur waarin de Apache-server alle servergerelateerde bestanden opslaat. Regel #84 definieert ServerRoot. We kunnen eenvoudigweg de commentaar op deze regel verwijderen als we /etc/apache2 willen instellen als ServerRoot. Wij raden u aan dit te doen.

Stap 5. Time-out

In de volgende sectie hebben we variabelen die de waarden van de parameters bepalen: Timeout, KeepAlive, MaxKeepAliveRequests en KeepAliveTimeout.

  • Time-out: Dit is de tijd waarbinnen de server aan het verzoek van de gebruiker moet voldoen. De standaardwaarde is 300, wat betekent dat de server elk verzoek binnen 300 seconden of 5 minuten moet verwerken. Dit is absoluut te lang en kan worden ingesteld op 30 seconden.
  • Blijf levend: Dit betekent dat de server in leven blijft (de verbinding houdt) voor meerdere verzoeken van dezelfde client. De standaardinstelling is Aan. Dit betekent dat klanten niet voor elk verzoek aan onze server een nieuwe verbinding hoeven aan te maken. Met deze aanpak kunt u serverbronnen besparen.
  • MaxKeepAliveVerzoeken: deze waarde specificeert het maximaal toegestane aantal seconden tussen aanvragen die worden ontvangen van een tot stand gebrachte verbinding met dezelfde client. Als we deze waarde op 0 zetten, is de hoeveelheid tijd onbeperkt.
  • KeepAliveTime-out: Dit is de hoeveelheid tijd tussen verzoeken om te bepalen of de verbinding nog actief is (tot stand gebracht).

We raden u aan alle waarden op de standaardwaarden te laten staan, behalve de parameter Time-out. Elke situatie is anders en het kan zijn dat u deze standaardinstellingen moet wijzigen om de serverprestaties af te stemmen op uw specifieke omgeving.

Stap 6: Apache2-gebruiker en groepen

Laten we weer een paar regels naar beneden scrollen in het bestand apache2.conf totdat we regel #177 bereiken. Hier kunnen we de Apache2-gebruiker en -groepen instellen. Let op het commentaar op regel #177. Er staat dat we deze variabelen kunnen instellen in het envvars-bestand (omgevingsvariabelen). We laten deze vraag voor een toekomstig artikel staan, maar houd er voor nu rekening mee dat zowel User als Group variabelen zijn waarvan de waarden uit het bestand /etc/apache2/envvars worden gehaald.

Ten slotte begint het laatste gedeelte, dat van groot belang is voor de veiligheid van Apache, op regel #193. Deze sectie zorgt ervoor dat webclients geen toegang hebben tot de .htaccess- en .htpasswd-bestanden.

Stap 7. Loggen

In de volgende sectie wordt beschreven hoe Apache logboeken beheert.

In de eerste subsectie behandelen we de parameter HostNameLookups. Deze richtlijn vertelt Apache2 of het een DNS-zoekopdracht moet uitvoeren wanneer het een tot stand gebrachte verbinding registreert. Met de standaardwaarde "Uit" presteert Apache2 veel beter.

Stap 8: Beschikbare sites

Laten we nu eens kijken naar de map site_available (beschikbare sites) en, belangrijker nog, naar het bestand dat zich daarin standaard bevindt. Dit wordt vaak het standaard Virtual Hosts-bestand genoemd. Open dit bestand door in de console te typen:

Kali > leafpad /etc/apache2/site_available/default

Zoals u kunt zien, zijn er drie kritieke gebieden in dit bestand. De eerste regel geeft aan op welke poort de webserver luistert. Hier is het gedefinieerd om naar elke interface op poort 80 (*:80) te luisteren. De tweede regel specificeert het e-mailadres waarnaar meldingen moeten worden verzonden in geval van problemen met de server. Standaard staat het adres daar. Als u een systeembeheerder bent, kunt u hier uw e-mailadres invoeren. Het derde element is misschien wel het belangrijkste: DocumentRoot. Het bepaalt waar de inhoud voor deze virtuele host zich zal bevinden, waarbij de standaard de map /var/www is. We raden u aan alles te laten zoals het door de ontwikkelaars is gedefinieerd.

Stap 9. Poorten

Ten slotte kunnen we nog lager in het bestand apache2.conf gaan naar regel #248 - "include port.conf". Deze richtlijn vertelt Apache eenvoudigweg om naar het bestand port.conf te gaan om de poorten te vinden waarop het moet luisteren.

Als we nu het bestand port.conf openen, zullen we zien dat het is geconfigureerd om te luisteren op poort 80 (regel #9). De volgende sectie, die begint op regel 11, controleert of mod_ssl.c is ingeschakeld en als dat zo is, wordt poort 443 geopend (regel 17).

Een webserver installeren op Linux:

  • Als u Ubuntu heeft, dan is het artikel “Hoe installeer ik Apache-webserver met PHP 7, MariaDB/MySQL en phpMyAdmin (LAMP) op Ubuntu 16.10” geschikt voor u.
  • Als je Arch Linux hebt, dan is het artikel "LAMP installeren (Linux, Apache, MySQL/MariaDB, PHP7 en phpMyAdmin) op Arch Linux / BlackArch" geschikt voor jou.

Lokale server is een zeer nuttig hulpmiddel. Het zal zeker nuttig zijn voor webmasters, PHP-programmeurs en penetratietesters. Alle programma's die deel uitmaken van een typische webserverinstallatie zijn gratis en open source. Een lokale webserver verbruikt minimale bronnen en is eigenlijk vrij eenvoudig te installeren en configureren.

Deze instructie vertelt u hoe u een lokale webserver installeert zonder gebruik te maken van kant-en-klare assemblages. Deze methode heeft zijn voordelen. De belangrijkste daarvan zijn: volledige controle over wat u installeert; mogelijkheid om de nieuwste softwareversies te gebruiken.

Als je de instructies precies volgt, zal alles zeker voor je werken! Behalve voor degenen die Windows XP hebben: als u dit besturingssysteem heeft, zijn er speciale instructies voor u gemaakt.

Ik zal een installatievoorbeeld op Windows 10 laten zien, maar als je een andere versie van Windows hebt, laat dit je dan niet storen - de procedure is overal hetzelfde. Ik zal op het moment van schrijven de nieuwste (meest recente) versies van de programma's downloaden. Als er tegen de tijd dat u dit leest, nieuwe versies worden uitgebracht, download deze dan.

Installatiestappen:

Misschien vindt u het ook nuttig:

1. Voorbereiding (downloaden van programma's die op de server zijn opgenomen, creëren van de serverstructuur)

Wij hebben nodig:

  • Apache(direct webserver)
  • PHP- omgeving voor het uitvoeren van PHP-programma's (vereist voor bijna alle websites)
  • MySQL- databasebeheersysteem (vereist door de meeste websites)
  • phpMijnAdmin- een zeer handig hulpmiddel voor databasebeheer

De officiële website van de Apache-ontwikkelaars is httpd.apache.org. U kunt Apache downloaden van deze site. Maar de officiële versie is gebouwd met behulp van een oude compiler en werkt daarom niet met nieuwe versies van PHP. PHP-auteurs raden Apache aan van apachelounge.com/download. Daarom downloaden we voor deze instructie Apache van de site apachelounge.com/download.

Als u een 64-bits versie van Windows hebt, kunt u zowel 64-bits als 32-bits versies van componenten kiezen. De hoofdregel is dat alle componenten dezelfde bitgrootte moeten hebben. Als u een 32-bits versie van Windows hebt, moeten alle componenten 32-bits zijn. Dit geldt niet voor phpMyAdmin, dat in PHP is geschreven. Voor PHP-programma's is het concept van bitdiepte niet van toepassing.

De gratis versie van MySQL heet MySQL-gemeenschapsserver. Deze is te downloaden op de pagina. Er is een uitvoerbaar installatieprogramma op dezelfde pagina, maar ik raad aan het ZIP-archief te downloaden. Op de downloadpagina worden we gevraagd om ons te registreren of in te loggen op een bestaand account - maar dit is niet nodig. Klik gewoon op de link " Nee bedankt, start gewoon mijn download" Let op de bitdiepte.

We hebben ook het C++ Redistributable Visual Studio 2017-bestand nodig, d.w.z. Visual C++ herdistribueerbare component voor Visual Studio 2017 (of een andere latere versie), u kunt het downloaden op de officiële Microsoft-website met behulp van de link (directe link om de 64-bits versie te downloaden; directe link om de 32-bits versie te downloaden). Dit bestand is nodig voor de webserver. En MySQL vereist Visual C++ Redistributable Packages voor Visual Studio 2015. Het kan worden gedownload van .

Dus ik heb de volgende bestanden gedownload:

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-alle-talen.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Installeer bestanden vc_redist.x64.exe En vcredist_x64.exe.

2. Creëer een webserverstructuur

Laten we de directorystructuur van onze server maken. Het belangrijkste idee is om uitvoerbare bestanden en websitebestanden te scheiden met databases. Dit is handig voor serveronderhoud, inclusief back-ups.

Aan de wortel van de schijf C:\ maak een map aan Server. Maak in deze map 2 submappen: bak(voor uitvoerbare bestanden) en gegevens.

Ga naar de map gegevens en maak daar submappen aan D.B.(voor databanken) en htdocs(voor websites).

Ga naar de map C:\Server\data\DB\ en maak daar een lege map aan gegevens.

3. Apache 2.4 installeren

De inhoud van het gedownloade archief (meer precies, alleen de map Apache24), uitpakken C:\Server\bin\.

Ga naar de map c:\Server\bin\Apache24\conf\ en open het bestand httpd.conf elke teksteditor.

Daarin moeten we een aantal lijnen vervangen.

Definieer SRVROOT "c:/Apache24"

Definieer SRVROOT "c:/Server/bin/Apache24"

#Servernaam www.voorbeeld.com:80

Servernaam localhost

DocumentRoot "$(SRVROOT)/htdocs"

DocumentRoot "c:/Server/data/htdocs/"

DirectoryIndexindex.html

DirectoryIndex index.php index.html index.htm

# AllowOverride bepaalt welke richtlijnen in .htaccess-bestanden mogen worden geplaatst.

# Het kan "Alles", "Geen" of een combinatie van de trefwoorden zijn: # AllowOverride FileInfo AuthConfig Limiet # AllowOverride Geen

# AllowOverride bepaalt welke richtlijnen in .htaccess-bestanden mogen worden geplaatst.

# Het kan "Alles", "Geen" of een combinatie van de trefwoorden zijn: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

Sla het bestand op en sluit het. Dat is alles, de Apache-installatie is voltooid! Op deze pagina vindt u een beschrijving van elke gewijzigde richtlijn.

Open de opdrachtregel (dit kunt u doen door tegelijkertijd op de Win+X-toetsen te drukken). Selecteer daar Windows PowerShell (Administrator) en kopieer daarheen:

C:\Server\bin\Apache24\bin\httpd.exe -k installatie

Als er een verzoek wordt ontvangen van de firewall voor Apache, klikt u op Toestaan.

Voer nu in de opdrachtregel in:

C:\Server\bin\Apache24\bin\httpd.exe -k start

En druk op Enter.

Voer root in als gebruikersnaam. Laat het wachtwoordveld leeg. Als alles correct is gedaan, zou alles er als volgt uit moeten zien: 7. Servergebruik en gegevensback-up In de catalogus

c:\Server\data\htdocs\test\ajax.php - dit bestand zal dienovereenkomstig beschikbaar zijn op http://localhost/test/ajax.php, enz.

Om een ​​volledige back-up van alle sites en databases te maken, kopieert u gewoon de map C:\Server\gegevens\.

Maak een back-up van de map voordat u modules bijwerkt bak- in geval van problemen kunt u eenvoudig teruggaan naar eerdere versies.

Wanneer u de server opnieuw installeert of bijwerkt, moet u de configuratiebestanden opnieuw configureren. Als u kopieën van deze bestanden heeft, kan het proces aanzienlijk worden versneld. Het is raadzaam een ​​back-up te maken van de volgende bestanden:

  • c:\Server\bin\Apache24\conf\httpd.conf
  • c:\Server\bin\mysql-8.0\mijn.ini
  • c:\Server\bin\PHP\php.ini
  • c:\Server\data\htdocs\phpMyAdmin\config.inc.php

Alle instellingen worden erin opgeslagen.

8. Extra PHP-installatie

PHP is nu een zeer krachtige, flexibele en gebruiksvriendelijke tool. Op een lokale computer kunt u het gebruiken om allerlei taken uit te voeren die niet noodzakelijkerwijs verband houden met het genereren van webpagina's. Bij het oplossen van buitengewone problemen kunt u beperkingen tegenkomen die zijn ingesteld in de instellingen. Deze instellingen zijn opgenomen in het php.ini-bestand (c:\Server\bin\PHP\php.ini). Laten we er een paar bekijken:

Geheugenlimiet = 128M

stelt de maximale hoeveelheid geheugen in die een script kan gebruiken

Post_max_size = 8M

stelt de maximale hoeveelheid gegevens in die wordt geaccepteerd bij verzending via de POST-methode

;default_charset = "UTF-8"

stelt de codering in (standaard wordt de regel uitgecommentarieerd)

Upload_max_filesize = 2M

de maximale grootte van een bestand dat naar de server wordt geüpload. De grootte is aanvankelijk ingesteld op een zeer klein formaat: slechts twee megabytes. Wanneer u bijvoorbeeld een database in phpMyAdmin laadt, kunt u geen bestand uploaden dat groter is dan 2 megabytes totdat dit instellingsitem is gewijzigd.

Max_bestand_uploads = 20

maximaal aantal bestanden dat in één keer kan worden geüpload

Max_execution_time = 30

maximale uitvoeringstijd voor één script

Het wijzigen van deze instellingen is volledig optioneel, maar het is wel handig om hiervan op de hoogte te zijn.

9. Aanvullende instellingen voor phpMyAdmin

We hebben phpMyAdmin al geconfigureerd en voor de meeste mensen is de basisfunctionaliteit voldoende. Op de startpagina van phpMyAdmin staat echter de melding: “Extra functies van phpMyAdmin zijn niet volledig geconfigureerd, sommige functies zijn uitgeschakeld.”

Nieuwe functies zijn:

  • het tonen van relaties tussen (gerelateerde) tabellen;
  • het toevoegen van informatie over tabellen (vanaf versie 2.3.0 kunt u in een speciale tabel ‘table_info’ beschrijven welke kolom in de tooltip wordt weergegeven als u de cursor over de bijbehorende sleutel beweegt);
  • een PDF-diagram maken (vanaf versie 2.3.0 kunt u PDF-pagina's maken in phpMyAdmin die de relaties tussen uw tabellen weergeven);
  • kolomopmerkingen weergeven (sinds versie 2.3.0 kunt u voor elke tabel een opmerking maken die elke kolom beschrijft. Deze zullen zichtbaar zijn in het "afdrukvoorbeeld". Sinds versie 2.5.0 worden opmerkingen gebruikt op de eigen pagina's van de tabellen en in de modusweergaven, die verschijnen als tooltips boven kolommen (eigenschappentabellen) of ingebed in de tabelkop in de weergavemodus. Ze kunnen ook worden weergegeven in de tabeldump);
  • bladwijzers maken (sinds versie 2.2.0 staat phpMyAdmin gebruikers toe om zoekopdrachten te bookmarken. Dit kan handig zijn voor veelgebruikte zoekopdrachten);
  • geschiedenis van SQL-query's (vanaf versie 2.5.0 kunt u uw geschiedenis opslaan van alle SQL-query's die via de phpMyAdmin-interface zijn gemaakt);
  • designer (vanaf versie 2.10.0 is de Designer-tool beschikbaar; hiermee kunt u de relaties tussen tabellen visueel beheren);
  • informatie over recent gebruikte tabellen;
  • het aanpassen van de interface van veelgebruikte tabellen;
  • tracking (vanaf versie 3.3.x is er een trackingmechanisme beschikbaar. Hiermee kunt u elke SQL-opdracht volgen die door phpMyAdmin is uitgevoerd. Het opnemen van gegevensmanipulatie en het opnemen van opdrachten wordt ondersteund. Eenmaal ingeschakeld, kunt u versietabellen bekijken);
  • gebruikersinstellingen (vanaf versie 3.4.x kunnen gebruikers met phpMyAdmin de meeste instellingen instellen en in de database opslaan);
  • aangepaste menu's (vanaf versie 4.1.0 kunt u gebruikersgroepen maken die alleen toegang hebben tot toegewezen menu-items. Een gebruiker kan aan een groep worden toegewezen en ziet alleen menu-items die beschikbaar zijn voor zijn groep);
  • navigatie-items verbergen/tonen (vanaf versie 4.1.0 kunt u items in de navigatieboom verbergen/tonen).
  • en anderen

Nu zullen we deze extra functies volledig configureren. Ga naar de link http://localhost/phpmyadmin/chk_rel.php en klik op "Database maken". Hierna worden alle nieuwe functies geactiveerd.

Een paar screenshots van de nieuwe features:

1) Ontwerper

2) Volgen

10. Installatie van een mailplug

Maak in de map C:\Server\bin\ een nieuwe map met de naam Sendmail. Maak nu in deze map een bestand sendmail.php aan met de volgende inhoud:

#!/usr/bin/env php

Open het PHP-configuratiebestand, het bevindt zich hier C:\Server\bin\PHP\php.ini. En voeg daar één regel toe:

Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"

Sla het bestand op en start de server opnieuw op. Geweldig, nu worden alle verzonden e-mails in de map opgeslagen C:\Server\bin\Sendmail\emails\

Brieven hebben de extensie .eml en ze kunnen bijvoorbeeld door het programma worden geopend Dondervogel. Of een gewone teksteditor.

11. Een PHP-map toevoegen aan PATH op Windows

Als dit niet gebeurt, kunnen er problemen optreden met sommige PHP-modules, waaronder php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll en php_pgsql.dll. Elke keer dat de server opstart, verschijnt in ieder geval het volgende in de logs:

PHP-waarschuwing: PHP opstarten: kan dynamische bibliotheek "C:\\Server\\bin\\PHP\\ext\\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\ niet laden xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\ xbf\xbd\xef\xbf\xbd.\r\n in Onbekend online 0 PHP-waarschuwing: PHP opstarten: Kan dynamische bibliotheek "C:\\Server\\bin\\PHP\\ext\\php_intl.dll niet laden " - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Onbekend online 0 PHP-waarschuwing: PHP opstarten: Kan dynamische bibliotheek niet laden " C:\\Server\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r \n in Onbekend online 0 PHP-waarschuwing: PHP opstarten: Kan dynamische bibliotheek "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll" - \xef\xbf\xbd\xef\xbf niet laden \xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Onbekend online 0 PHP-waarschuwing: PHP opstarten: Kan dynamische bibliotheek "C:\\Server\\bin\\PHP\ niet laden \ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Onbekend op regel 0

Om deze waarschuwingen te vermijden, moet u het pad naar PHP toevoegen aan uw systeemomgevingsvariabelen.

Klik op de Start-knop (of hoe deze ook heet in Windows 10?), begin met typen " Variabelen van de systeemomgeving wijzigen» en open het bijbehorende instellingenvenster.

Klik daar op " Omgevingsvariabelen»:

In het venster " Systeemvariabelen» zoeken en klikken Pad en klik vervolgens op " Wijziging»:

Verplaats het item naar boven:

Sluit alle vensters en sla uw wijzigingen op.

Start de server opnieuw op.

12. Vastlopen, langzaam verkeer en/of serverfout Asynchrone AcceptEx mislukt

Als uw server zelfs zonder belasting “vastloopt”, worden webpagina’s pas weergegeven nadat deze opnieuw is opgestart, en in de serverlogboeken staan ​​fouten Asynchronous AcceptEx is mislukt:

AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 geconfigureerd - normale werking hervat AH00456: Apache Lounge VC11 Server gebouwd: 16 maart 2014 12:42:59 AH00094: Commandoregel: "c:\\Server\\ bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418: Bovenliggend: Onderliggend proces 4952 gemaakt AH00354: Onderliggend: 64 werkthreads starten.

(OS 64) De opgegeven netwerknaam is niet langer beschikbaar. : AH00341: winnt_accept: Asynchrone AcceptEx mislukt.

(OS 64) De opgegeven netwerknaam is niet langer beschikbaar. : AH00341: winnt_accept: Asynchrone AcceptEx mislukt.

(OS 64) De opgegeven netwerknaam is niet langer beschikbaar. : AH00341: winnt_accept: Asynchrone AcceptEx mislukt.

(OS 64) De opgegeven netwerknaam is niet langer beschikbaar. : AH00341: winnt_accept: Asynchrone AcceptEx mislukt.

(OS 64) De opgegeven netwerknaam is niet langer beschikbaar. : AH00341: winnt_accept: Asynchrone AcceptEx mislukt.

(OS 64) De opgegeven netwerknaam is niet langer beschikbaar. : AH00341: winnt_accept: Asynchrone AcceptEx mislukt.

Voeg vervolgens toe aan het Apache-configuratiebestand:

AcceptFilter http geen AcceptFilter https geen EnableSendfile uit EnableMMAP uit

13. cURL configureren in de Apache-webserver op Windows

Als je niet weet wat cURL is, dan heb je het niet nodig. Die. Sla deze stap gerust over.

cURL is een consolehulpprogramma waarmee u gegevens kunt uitwisselen met externe servers met behulp van een zeer groot aantal protocollen. cURL kan cookies gebruiken en ondersteunt authenticatie. Als een webapplicatie cURL vereist, dan moet dit bij de afhankelijkheden worden aangegeven. Veel populaire applicaties vereisen geen cURL, phpMyAdmin en WordPress hoeven cURL bijvoorbeeld niet te configureren. C:\Server\bin\PHP\php.ini Als cURL niet correct is geconfigureerd, krijgt u foutmeldingen: Fatale fout: oproep naar ongedefinieerde functie curl_multi_init() in ...

curl-fout: SSL-certificaatprobleem: kan het lokale uitgeverscertificaat niet verkrijgen C:\Server\bin\. Dit zijn Apache, MySQL en PHP - d.w.z. programma's die verantwoordelijk zijn voor de werking van de server, maar die we van officiële websites kunnen downloaden en op elk moment opnieuw kunnen configureren.

Als u er een reservekopie van wilt maken (bijvoorbeeld voordat u de server upgradet), stop dan de services:

C:\Server\bin\Apache24\bin\httpd.exe -k stop net stop mysql

En kopieer de map naar een veilige plaats C:\Server\bin\.

Je kunt trouwens de hele server kopiëren, d.w.z. map C:\Server\- in dit geval krijgt u tegelijkertijd een back-up van zowel uitvoerbare bestanden als gegevens (databases, websites).

Wanneer het kopiëren is voltooid, start u de services opnieuw:

C:\Server\bin\Apache24\bin\httpd.exe -k start net start mysql

15. Serverupdate

Alle componenten waaruit de webserver bestaat, worden actief ontwikkeld en er verschijnen regelmatig nieuwe versies. Wanneer er een nieuwe versie uitkomt, kunt u één component (bijvoorbeeld PHP) of meerdere tegelijk updaten.

Een server verwijderen

Als u de server niet langer nodig heeft, of als je het opnieuw wilt installeren, stop dan de services en verwijder ze uit autostart door achtereenvolgens op de opdrachtregel uit te voeren:

C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k net stop mysql verwijderen c:\Server\bin\mysql-8.0\bin\ mysqld --verwijder

Verwijder de serverbestanden; verwijder hiervoor de map C:\Server\. Waarschuwing: hiermee worden alle databases en uw sites verwijderd.

Hoe u uw Apache-webserver kunt beschermen tegen hacking op Windows

Met PHP (met keuze uit versies), met MySQL en phpMyAdmin. Deze site wordt precies daarop gehost: responsieve en gekwalificeerde technische ondersteuning, installatie van WordPress en andere webapplicaties in één klik,