Zet Apache aan

  1. Open Terminal door op het vergrootglas rechtsboven in uw scherm te klikken en te zoeken naar Terminal
  2. Type sudo apachectl start en druk op enter
  3. Open Safari (of de browser van uw keuze), typ localhost in de adresbalk, en druk op enter

Kunt u niet geloven dat het zo makkelijk is? Dat is het ook! U zou nu It works! in de browser moeten zien.

Zet PHP aan

Mac wordt al geleverd met PHP, dus u hoeft het niet te installeren vanaf PHP.net. Vóór High Sierra (versie 10.13) was PHP 5 al op de Mac geïnstalleerd. Dit irriteerde gebruikers omdat PHP 7 niet werd meegeleverd, zodat je extra werk moest verrichten om van PHP 5 naar PHP 7 te upgraden. Gelukkig komt High Sierra al met PHP 7.1!!!

  1. Open Terminal en typ sudo nano /etc/apache2/httpd.conf en druk op enter
  2. Druk op Ctrl+W wat een zoekfunctie tevoorschijn brengt
  3. Zoek naar php en druk op enter. U ziet het volgende:
  4. Verwijder de # van #LoadModule php7_module libexec/apache2/libphp7.so
  5. Druk op Ctrl+O gevolgd door Enter om de wijziging op te slaan
  6. Druk op Ctrl+X om nano af te sluiten
  7. Type sudo apachectl restart en druk op enter

U hebt zojuist PHP 7 aangezet. Goed werk tot nu toe!

Maak Sites Map aan

  1. Klik op Finder linksonder in uw scherm en klik op Ga > naar huis de bovenste navigatiebalk. Dit brengt u naar uw thuismap, die ook de naam van uw computer zal zijn; in dit geval is het David.
  2. Maak een nieuwe map en noem het Sites (Het Safari-icoontje hieronder wordt automatisch toegevoegd aan de Sites-map zoals hieronder te zien is)
  3. Open uw favoriete tekstverwerker en maak een bestand genaamd index.php met de volgende code:
<?phpecho "Hello From Sites Folder!";phpinfo();?>
  1. Bewaar index.php in de map Sites die u hebt gemaakt
  2. Ga terug naar Terminal en voer sudo nano /etc/apache2/httpd.conf
  3. Druk op Ctrl+W om zoeken op te roepen
  4. Zoek naar Bibliotheek en druk op enter. U zou dit moeten zien:
  5. Vervang beide keren dat /Library/WebServer/Documents voorkomt door /Users/david/Sites (in plaats van david gebruikt u uw naam die u bovenin uw terminal vindt naast het home-icoon)
  6. Druk op Ctrl+O gevolgd door Enter om deze wijzigingen op te slaan
  7. Druk op Ctrl+X om nano af te sluiten
  8. Type sudo apachectl restart en druk op enter

Ga terug naar Safari en ververs de localhost pagina en u ziet Hello From Sites Folder! met PHP info die laat zien dat PHP 7 wordt gebruikt.

Installeer MySQL

  1. Ga naar https://dev.mysql.com/downloads/mysql
  2. Scroll naar beneden tot u drie download knoppen ziet en klik op die naast DMG Archive
  3. Scroll naar beneden en klik op Geen dank, start gewoon mijn download
  4. Klik op het gedownloade bestand, dubbelklik op het pkg bestand, en doorloop de installatie die er als volgt uit zou moeten zien:
  5. Als je aan het eind van de installatie bent, zie je een popup die je je MySQL gebruikersnaam (root) en wachtwoord (8hxKsiIh?YMt). Uw wachtwoord zal anders zijn. Kopieer het wachtwoord naar een tekstbestand (of maak een screenshot) en druk op okay. Doe dit nu, want het zal moeilijk zijn om het wachtwoord te resetten als je het niet weet.
  6. Druk op het Apple logo linksboven in uw scherm en ga naar Systeem Voorkeuren
  7. Klik op MySQL en u zult zien dat het uit staat
  8. Druk op Start MySQL Server om het aan te zetten en u zult zien:
  9. Ga terug naar Terminal en type sudo /usr/local/mysql/bin/mysql -u root -p
  10. Wanneer u op enter drukt zal het u om uw wachtwoord vragen. Dit is het wachtwoord dat u gebruikt wanneer u inlogt op uw Mac
  11. Dan staat er Enter Password: wat voor mij 8hxKsiIh?YMt is (u moet het wachtwoord gebruiken dat u eerder gekopieerd heeft in plaats van 8hxKsiIh?YMt). U ziet dan dit scherm:
  12. Type ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; en druk op enter
  13. Ga naar https://www.sequelpro.com en download Sequel Pro. Dit is net zoiets als phpMyAdmin, maar dan beter omdat het een desktop app is.
  14. Ga door de installatie, open Sequel Pro, en voer 127.0.0.1 in voor de Host. Voer root in voor de gebruikersnaam en newpassword voor het wachtwoord. Druk op Connect
  15. Klik op Choose Database… linksboven gevolgd door Add Database…
  16. Geef het de naam mydb en druk op enter
  17. Klik dan op het plus teken linksonder om een nieuwe tabel te maken. Noem de tabel mytable en druk op add
  18. Klik op het plusteken rechts boven het woord INDEXES en geef het veld de naam message. Stel het type in op VARCHAR en geef het een lengte van 200.
  19. Klik op Content bovenaan.
  20. Klik op het plusteken onderaan (dat links van het minteken)
  21. Geef de nieuwe invoer een id van 1 en stel het bericht in op MySQL werkt perfect!
  22. Open index.php in uw Sites folder en verander de code in

<?php$con = new mysqli("127.0.0.1", "root", "newpassword", "mydb");$message = $con->query("SELECT message FROM myTable")->fetch_object()->message;$con->close();echo "$message <br/>";echo "Hello From Sites Folder!";phpinfo();

Obviously dit voorbeeld is immuun voor SQL injection, aangezien er geen door de gebruiker ingevoerde waarden zijn. Echter, als je MySQLi prepared statements niet zo goed begrijpt als je zou willen, kijk dan eens naar deze post voor een uitstekende tutorial over hoe SQL injectie te voorkomen 😉. Er is zelfs een PDO-versie, als je dat prettiger vindt.

  1. Refresh localhost op Safari en je zou moeten zien:

Geweldig! U heeft nu MySQL werkend, dus u kunt localhost gebruiken om informatie in databases op te slaan.

Maak SEO vriendelijke URL’s werkend

In plaats van naar localhost/profile.php?user=david te gaan, ziet het er mooier uit als u naar localhost/profile/david kunt gaan. Laten we dit laten werken door mod_rewrite in te schakelen zodat je RewriteRules kunt gebruiken.

  1. Ga naar Terminal en typ sudo nano /etc/apache2/httpd.conf gevolgd door enter
  2. Druk op Ctrl+W, typ rewrite, en druk op enter
  3. Verwijder de # in #LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  4. Druk op Ctrl+O gevolgd door Enter om op te slaan
  5. Druk op Ctrl+X om nano af te sluiten
  6. Type sudo apachectl restart

Nu kunt u friendly URL’s gebruiken wanneer u ontwikkelt met localhost.

Maak .htaccess Werk

Dit is niet noodzakelijk om vanity URLs te laten werken, maar persoonlijk geef ik de voorkeur aan het gebruik van een .htaccess bestand, omdat ik dan versiebeheer heb.

  1. Ga naar Terminal en typ sudo nano /etc/apache2/httpd.conf gevolgd door enter
  2. Druk op Ctrl+W, typ AllowOverride controls en druk op enter
  3. Verander AllowOverride None in AllowOverride All
  4. Druk op Ctrl+O gevolgd door Enter om op te slaan
  5. Druk op Ctrl+X om nano af te sluiten
  6. Type sudo apachectl restart

Nu kunt u een .htaccess bestand toevoegen in de Sites map en het zal goed werken.

SSL/HTTPS inschakelen

In plaats van uw website te benaderen via localhost, wilt u misschien uw website benaderen door naar https://localhost te gaan. Als u SSL inschakelt, ziet u een hangslotje naast localhost in de URL-balk.

  1. Ga naar Terminal en typ sudo nano /etc/apache2/httpd.conf gevolgd door enter
  2. Druk op Ctrl+W, typ socache_shmcb_module, en druk op enter
  3. Verwijder de # van #LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
  4. Druk op Ctrl+W, type mod_ssl, en druk op enter
  5. Verwijder de # van #LoadModule ssl_module libexec/apache2/mod_ssl.so
  6. Druk op Ctrl+W, type httpd-ssl, en druk op enter
  7. Verwijder het # uit #Include /private/etc/apache2/extra/httpd-ssl.conf
  8. Druk op Ctrl+O gevolgd door Enter om op te slaan
  9. Druk op Ctrl+X om nano af te sluiten
  10. Type sudo nano /etc/apache2/extra/httpd-ssl.conf en druk op enter
  11. Druk op Ctrl+W, type ServerName, en druk op enter
  12. Vervang www.example.com:443 door localhost
  13. Recht boven ziet u /Library/WebServer/Documents. Vervang dat door /Users/david/Sites. (Gebruik je naam in plaats van david zoals je eerder hebt gedaan)
  14. Recht onder <VirtualHost_default_:443> toevoegen (maar zorg ervoor dat je david vervangt door je naam):
<Directory "/Users/david/Sites"> Options All MultiviewsMatch Any AllowOverride All Require all granted</Directory>
  1. Je terminal zou er nu als volgt uit moeten zien:
  2. Druk op Ctrl+O gevolgd door Enter om op te slaan
  3. Druk op Ctrl+X om nano af te sluiten
  4. Type sudo nano /etc/ssl/openssl.cnf en druk op enter
  5. Onderaan openssl.cnf dit toe:
subjectAltName = DNS:localhost
  1. Uw terminal zou er als volgt uit moeten zien:
  2. Druk op Ctrl+O gevolgd door Enter om op te slaan
  3. Druk op Ctrl+X om nano af te sluiten
  4. Type
sudo openssl req -extensions san -config /etc/ssl/openssl.cnf -x509 -nodes -newkey rsa:4096 -keyout /private/etc/apache2/server.key -out /private/etc/apache2/server.crt -days 365 -subj "/C=US/ST=Florida/L=Boca Raton/O=WebsiteBeaver/CN=localhost"

en druk op enter. (U kunt uw eigen informatie gebruiken, maar verander de localhost niet)

  1. Type
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /private/etc/apache2/server.crt

en druk op enter

  1. Type sudo apachectl herstart
  2. Nu gaat u naar https://localhost in uw browser, en u zult een hangslotje zien naast de url wat betekent dat u klaar bent met het instellen van SSL!

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.