Een lokale development- en testserver is één van de belangrijkste tools voor een WordPress developer. Met dergelijke goed geteste oplossingen kun je snel en makkelijk een website bouwen, zonder het risico te lopen dat je live website crasht. Toch kunnen er ook bij testservers problemen optreden.

MAMP is een populaire lokale developmenttool voor het bouwen van WordPress website, maar je zal er af en toe wel localhost problemen bij tegenkomen. Gelukkig zijn er verschillende acties die je kan ondernemen wanneer je de foutmelding “Localhost Refused to Connect” te zien krijgt.

In dit artikel gaan we bekijken wat de localhost-fout bij MAMP precies is, en hoe dit probleem ontstaat. We laten je vervolgens zeven manieren zien om dit verbindingsprobleem op te lossen. Laten we dus snel beginnen!

Een introductie over MAMP (en de Localhost Refused to Connect-fout)

MAMP is een stack die bestaat uit zowel open source software als gepatenteerde producten. De naam MAMP is gebaseerd op de componenten: macOS, Apache, PHP, MySQL of MariaDB, en Perl of Python. Maar MAMP is niet uitsluitend beperkt tot deze elementen. Zo kan je er bijvoorbeeld ook prima voor kiezen om Nginx te gebruiken in plaats van Apache.

MAMP installeert een lokale server-omgeving op je Windows of macOS computer, en wordt veel gebruikt om dynamische websites te bouwen. MAMP wordt ook veel gebruikt door developers die met een Content Management System (CMS) zoals WordPress werken.

Je kan MAMP gebruiken om websites te ontwikkelen, zonder een live webserver te hebben.
Je kan MAMP gebruiken om websites te ontwikkelen, zonder een live webserver te hebben.

Met MAMP kan je een lokale development-omgeving opzetten op je eigen computer. Hierdoor omzeil je de tijd, kosten en complexiteit die komen kijken bij een onafhankelijke webserver. Het is dus ideaal voor het snel testen van projecten, of voor het ontwikkelen van websites zonder het risico dat je een live server laat crashen.

Maar ook bij MAMP kan je natuurlijk nog steeds problemen tegenkomen. Wanneer je verbinding probeert te maken met je localhost, kan het zijn dat je de volgende foutmelding te zien krijgt: “localhost refused to connect”.

Dit komt meestal doordat er een probleem is met de configuratie van je port. Wanneer een ander product bijvoorbeeld de port blokkeert die MAMP probeert te gebruiken, of omdat je überhaupt de verkeerde port probeert te gebruiken. Je kan deze foutmelding ook te zien krijgen wanneer MAMP de server niet kan starten.

Zo los je de “Localhost Refused to Connect” fout in MAMP op (7 manieren)

MAMP is een populaire oplossing voor het ontwikkelen en testen van projecten binnen een lokale omgeving. Maar als je geen verbinding met de localhost kan maken, heb je weinig aan deze tool. Kom je de foutmelding “localhost refused to connect” tegen, dan zijn hier zeven oplossingen waardoor je zo weer aan het werk bent.

1. Probeer een andere internetbrowser

Het is mogelijk dat de verbindingsproblemen aan de browser liggen. Elke browser heeft nou eenmaal unieke instellingen en bijbehorend gedrag.

Zo sturen sommige browsers je bijvoorbeeld automatisch door naar de Hypertext Transfer Protocol Secure (HTTPS) versie van elk HTTP webadres. Wanneer je geen Secure Sockets Layer (SSL) ingeschakeld hebt voor je webproject, dan kan deze redirect een localhost fout opleveren.

Voordat je verder gaat naar moeilijkere oplossingen, is het dus de moeite waard om even te proberen of je verbinding kan krijgen met localhost via een andere internetbrowser. Hierdoor kan je testen of het probleem aan MAMP ligt, of aan je browser.

Krijg je de localhost fout niet in een andere browser, dan lijkt het er dus op dat het een browser-specifieke oorzaak heeft. In dat geval raden we je aan om de instellingen van je browser te controleren voor instellingen die mogelijk problemen met MAMP veroorzaken. Zo zou je er bijvoorbeeld achter kunnen komen dat je browser standaard HTTP verzoeken doorstuurt naar HTTPS.

Hoe je het probleem vervolgens oplost hangt af van de software die je gebruikt. Zo kunnen Chrome gebruikers deze redirect bijvoorbeeld uitzetten door hier naartoe te gaan: chrome://net-internals/#hsts:

Controleer je browser op automatische HTTPS redirects.
Controleer je browser op automatische HTTPS redirects.

Vervolgens scroll je naar het deel Delete domain security policies, en vul je daar je localhost domein in. Vervolgens kies je Delete, waardoor de redirect voor je localhost nu verwijderd moet zijn bij Chrome.

2. Inkomende verbindingen toestaan

Wanneer je geen verbinding kan maken met de webserver via localhost, kan het zijn dat je firewall de verbinding blokkeert. Je kan dit probleem meestal oplossen via de instellingen van je firewall, door inkomende verbindingen toe te staan op de port die MAMP probeert te gebruiken. Of je kiest ervoor om verbindingen toe te staan voor de hele MAMP toepassing.

Wanneer je macOS gebruikt, dan kan je de firewall instellingen veranderen door naar Apple > System Preferences… > Security & Privacy te gaan. Kies vervolgens voor het tabblad Firewall.

macOS firewall instellingen
macOS firewall instellingen

Om inkomende verbindingen toe te staan voor de gehele MAMP toepassing, kies je Firewall Options. Klik vervolgens op het + icoon, selecteer MAMP, en kies Add. MAMP zal dan toegevoegd worden aan je lijst met toegestane toepassingen.

Toestaan van alle inkomende verbindingen voor MAMP
Toestaan van alle inkomende verbindingen voor MAMP

Op dit punt is het belangrijk om ook te controleren dat de MAMP toepassing ook ingesteld is op Allow incoming connections, en klik vervolgens op OK. Je firewall zal nu alle inkomende verbindingen voor MAMP toestaan.

Gebruik je Windows Defender, dan heb je als het goed is een melding van je firewall gekregen bij het installeren van MAMP. Maar je kan alsnog je toestemming voor je Windows firewall wijzigen. Ga daarvoor naar Start > Settings > Update & Security > Windows Security. Selecteer vervolgens Firewall & Network Protection om de benodigde instellingen van je firewall te veranderen.

3. Controleer de Document Root van MAMP

Bij het maken van een verbinding met localhost, laat MAMP de inhoud van je document root zien. Standaard is deze te vinden in /Applications/MAMP/htdocs, en bevindt zich hier een index.html of index.php bestand.

Wanneer je dit index-bestand verplaatst of verwijderd, kan MAMP niks laden. Ook wanneer je het index-bestand verkeerd aanpast, zal MAMP problemen hebben bij het laden van content. Dit kan allerlei verschillende fouten veroorzaken, waaronder de melding “localhost refused to connect”.

Je kan zelf uitvogelen of je deze belangrijke map per ongeluk hebt veranderd of verwijderd, door naar /Applications/MAMP/htdocs/ te gaan. Zie je hier geen index.html of index.php bestand, dan is dat waarschijnlijk de oorzaak van je localhost fouten.

Het is ook de moeite waard om te kijken of MAMP de content wel uit de juiste map probeert te laden. Gebruik je de gratis versie van MAMP, dan kan je de locatie voor de root document map bekijken in het hoofdvenster van MAMP.

Controleer de MAMP document root.
Controleer de MAMP document root.

Gebruik je MAMP Pro, dan gaat dit wat anders. In dat geval kan je de locatie van je root controleren door naar Hosts > General te gaan. In dit venster staat je Document Root bestandspad:

Controleren van de document root in de MAMP instellingen.
Controleren van de document root in de MAMP instellingen.

Wanneer je denkt dat er een probleem is met je document root, dan kan je naar Open In gaan, en vervolgens voor je gewenste bestandsmanager te kiezen. Hierdoor ga je direct naar je document root, waar je de inhoud van de map kan controleren en eventueel wijzigingen kan aanbrengen.

4. Verander de instellingen voor de port

Serverprogramma’s zoals MAMP vereisen exclusieve toegang tot een bepaalde netwerkport. Hierdoor kunnen diverse programma’s op één machine uitgevoerd worden.

Elke server heeft een bepaalde standaardport. Zo gebruikt de Apache webserver meestal port 80, en de MySQL database server port 3306. Standaard gebruikt MAMP de ports 8888, 8889 en 7888. Maar het kan zijn dat deze al gebruikt worden door een ander programma.

In dat geval moet je MAMP een andere port laten gebruiken. Wanneer je de gratis versie gebruikt, kan je de port instellingen bekijken door naar MAMP > Preferences te gaan. Kies vervolgens het tabblad Port:

Controleren van de MAMP port instellingen
Controleren van de MAMP port instellingen

Gebruik je MAMP Pro, dan zijn deze opties te vinden in het tabblad Ports & User. Daar zie je de ports die MAMP momenteel gebruikt.

Controleren van de MAMP Pro port instellingen
Controleren van de MAMP Pro port instellingen

Gebruikt MAMP al een alternatieve port, dan kan je teruggaan naar de standaardinstellingen door op MAMP default te klikken. Ben je een Pro gebruiker, dan klik je op Set default MAMP Ports. Hierdoor worden de ports voor Apache, Nginx, en MySQL teruggezet naar 8888, 7888, en 8889.

Daarnaast heeft MAMP ook nog een 80 & 3306 knop, waardoor de ports ingesteld worden op de meestgebruikte waarden. Na het veranderen van deze instellingen, kan je wellicht zien dat het werkt door het nieuwe portnummer direct in te typen in de adresbalk van je browser, dus bijvoorbeeld http://<localhost>:8888/.

Krijg je nog steeds de localhost foutmelding, dan kan je proberen MAMP een willekeurige andere port te laten gebruiken, bijvoorbeeld 8814. Typ ook dit adres weer in bij je browser (http://localhost:8814/) om te zien of de localhost fout nu weg is.

5. Controleer dat je Apache webserver draait

Apache is één van de meestgebruikte webservers. Zowel MAMP als MAMP Pro bieden dit als optie. Maar wanneer de Apache server niet draait, kan je mogelijk geen verbinding maken met je localhost.

Je kan zien of je Apache server draait door naar de knop Stop/Start te kijken, rechtsboven in de MAMP app. Is de Apache webserver actief, dan zal de knop groen zijn. Als je MAMP Pro gebruikt, kan je dit verifiëren door op “Apache” te klikken in het linkermenu.

Controleren van de Apache webserver.
Controleren van de Apache webserver.

MAMP Pro gebruikers kunnen nog meer informatie over hun Apache webservers bekijken door op Info of Status te klikken. Als de server gewoon draait, zullen beide knoppen een tabblad tonen met meer informatie over de Apache configuratie.

Apache serverstatus.
Apache serverstatus.

Wanneer je Apache server niet actief is, kan het zijn dat een andere MySQL service de port gebruikt. Denk je dat dit het geval is, dan is een mogelijke oplossing het stoppen van alle httpd processen op je computer. Hoe je alle httpd processen stopt hangt af van je besturingssysteem.

Mac gebruikers kunnen httpd processen vinden en stoppen via de Activity Monitor. In de taakbalk van de Activity Monitor, selecteer je View > All Processes:

Bekijken van alle processen in de Activity Monitor.
Bekijken van alle processen in de Activity Monitor.

In het Search veld, typ je “httpd”. Selecteer elk resultaat in de lijst, en klik op Stop, linksboven in de Activity Monitor.

Sluiten van httpd processen in macOS
Sluiten van httpd processen in macOS

Na het sluiten van alle httpd processen, start je MAMP opnieuw en probeer je de Apache webserver weer te openen.

Is het probleem nog niet opgelost, dan kan het zijn dat je httpd.conf.temp bestand beschadigd is. Er zijn MAMP Pro gebruikers die hebben gemeld dat het hielp om het bestand een nieuwe naam te geven.

Ga hiervoor op je computer naar ~/Library/Application Support/appsolute/MAMP PRO/templates. Daar kan je het bestand httpd.conf.temp de nieuwe naam http.conf.temp.bak geven. Herstart MAMP, en kijk of je Apache server nu wel goed uitgevoerd wordt.

6. Herstart de Apache webserver

Je kan de fout “localhost refused to connect” ook oplossen door de Apache webserver te stoppen en opnieuw te starten. Om de server te stoppen, start je de Terminal van Mac door naar Applications > Utilities > Terminal te gaan.

Start de Terminal in macOS.
Start de Terminal in macOS.

Windows gebruikers kunnen de Command Prompt hiervoor openen. Voer vervolgens deze opdracht uit: “sudo apachectl stop”. In het venster van de Terminal of Command Prompt, zou je nu het volgende bericht moeten zien Operation now in progress.

Heb je de port instellingen van MAMP veranderd, dan is het verstandig om deze nu weer terug te zetten naar de standaardwaarden (80/3306). Dit doe je via MAMP > Preferences… > Ports (MAMP), of Ports & User (MAMP Pro). In dat venster kies je MAMP default.

Vervolgens ga je terug naar de Terminal of Command Prompt, en voer je deze opdracht uit: sudo apachectl restart”. Je kan de Apache webserver daarna herstarten door op Start / Stop te klikken, rechtsboven in MAMP.

7. Installeer MAMP opnieuw

Als laatste kan je dit probleem mogelijk oplossen door MAMP van je computer te verwijderen en opnieuw te installeren. Wees je er wel bewust van dat je door het programma te verwijderen ook alle databases in de db map verwijdert.

Gebruik je MAMP Pro, dan is deze map te vinden via /Library/Application Support/appsolute/MAMP PRO/db. Wil je de informatie dus bewaren, dan kan je de bestanden eerst kopiëren naar een veilige locatie, voordat je MAMP verwijdert.

We raden je ook aan om de portnummers van Apache, MySQL en DynDNS ergens op te schrijven, aangezien sommige Content Management Systemen (CMS) port-specifiek zijn. Je vindt deze informatie door naar Hosts te gaan in de linkermenu van MAMP, en daar het tabblad General te openen.

Om MAMP Pro te verwijderen, ga je naar MAMP PRO > Uninstall MAMP Pro. Voer je admin gebruikersnaam en wachtwoord in wanneer je daar om gevraagd wordt.

Verwijderen van MAMP Pro
Verwijderen van MAMP Pro

Na het verwijderen van MAMP zie je de volgende melding: MAMP Pro has been uninstalled successfully. Ga nu naar de map /Applications binnen je computer, en verwijder de map MAMP.

Nu je MAMP volledig verwijderd hebt, kan je het opnieuw installeren. Je kan een nieuwe kopie van MAMP downloaden van de officiële website, en de toepassing weer installeren zoals je dat ook de vorige keer hebt gedaan.

Na het installeren van MAMP, wil je wellicht nog je databases herstellen. In je gewenste bestandsmanager ga je naar /Library/Application Support/appsolute/MAMP PRO/db. Vervolgens sleep je alle db bestanden die je bewaard hebt naar die map.

Samenvatting

De MAMP lokale server-omgeving kan ontzettend handig zijn voor het bouwen en testen van je website. Maar als je de foutmelding “localhost refused to connect” tegenkomt, moet je die eerst oplossen voor je weer lekker aan de slag kan.

Gelukkig zijn er een aantal acties die je kan nemen om dit probleem op te lossen. We raden je aan om eerst te kijken of het probleem browserspecifiek is, door je project te openen via een andere browser. Het kan ook helpen om de firewall instellingen of de portconfiguratie van MAMP te veranderen.

Nog vragen over het oplossen van de “localhost refused to connect” fout? Deel ze in de reacties hieronder!