Kytke Apache päälle

  1. Avaa terminaali napsauttamalla näytön oikeassa yläkulmassa olevaa suurennuslasia ja etsimällä terminaali
  2. Kirjoita sudo apachectl start ja paina enteriä
  3. Avaa Safari (tai haluamasi selain), kirjoita osoiteriville localhost ja paina enteriä

Etkö usko, että se on niin helppoa? Se on! Sinun pitäisi nyt nähdä Se toimii! selaimessa.

Kytke PHP päälle

Macissa on jo valmiiksi PHP, joten sinun ei tarvitse asentaa sitä PHP.netistä. Ennen High Sierraa (versio 10.13) Macin mukana tuli PHP 5 asennettuna. Tämä sai käyttäjät ärsyyntymään, koska mukana ei tullut PHP 7:ää, joten sinun täytyi tehdä ylimääräistä työtä päivittääksesi PHP 5:stä PHP 7:ään. Onneksi High Sierran mukana tulee jo PHP 7.1!!!

  1. Avaa terminaali ja kirjoita sudo nano /etc/apache2/httpd.conf ja paina enteriä
  2. Paina Ctrl+W, joka tuo esiin haun
  3. Hae php ja paina enteriä. Näet seuraavaa:
  4. Poista # kohdasta #LoadModule php7_module libexec/apache2/libphp7.so
  5. Paina Ctrl+O ja sen jälkeen Enter tallentaaksesi juuri tekemäsi muutoksen
  6. Paina Ctrl+X poistuaksesi nanosta
  7. Kirjoita sudo apachectl restart ja paina enteriä

Kytkit äsken PHP 7:n päälle. Hyvää työtä tähän mennessä!

Luo Sivustot-kansio

  1. Klikkaa Finder-näppäintä ruudun vasemmassa alareunassa ja klikkaa Go > Home-navigointipalkin yläreunassa. Tämä vie sinut kotihakemistoosi, joka on myös mikä tahansa tietokoneesi nimi; tässä tapauksessa se on david.
  2. Luo uusi kansio ja nimeä se Sites (Alla näkyvä Safari-kuvake lisätään automaattisesti Sites-kansioon, kuten alla näkyy)
  3. Avaa suosikkitekstieditorisi ja luo tiedosto nimeltä index.php seuraavalla koodilla:
<?phpecho "Hello From Sites Folder!";phpinfo();?>
  1. Tallenna index.php luomaasi Sivustot-kansioon
  2. Mene takaisin terminaaliin ja kirjoita sudo nano /etc/apache2/httpd.conf
  3. Paina Ctrl+W tuodaksesi esiin haun
  4. Hae hakusanalla Kirjasto ja paina enter. Sinun pitäisi nähdä tämä:
  5. Korvaa molemmat /Library/WebServer/Documents-esiintymät /Users/david/Sites:lla (käytä davidin sijasta nimeäsi, joka löytyy päätelaitteen yläreunasta kotikuvakkeen vierestä)
  6. Paina Ctrl+O ja sen jälkeen Enter tallentaaksesi nämä muutokset
  7. Paina Ctrl+X poistuaksesi nanosta
  8. Kirjoita sudo apachectl restart ja paina enteriä

Palaa Safariin ja päivitä localhost-sivu ja näet Hello From Sites Folder! PHP-tiedoilla, jotka osoittavat, että PHP 7:ää käytetään.

Asenna MySQL

  1. Mene osoitteeseen https://dev.mysql.com/downloads/mysql
  2. Rullaa alaspäin, kunnes näet kolme latauspainiketta, ja napsauta DMG-arkiston vieressä olevaa painiketta
  3. Rullaa alaspäin ja napsauta Ei kiitos, käynnistä lataukseni
  4. Napsauta ladattua tiedostoa, kaksoisnapsauta pakettitiedostoa ja käy läpi asennuksen, jonka pitäisi näyttää tältä:
  5. Kun pääset asennuksen loppuun, näet ponnahdusikkunan, joka antaa sinulle MySQL-käyttäjätunnuksesi (root) ja salasanasi (8hxKsiIh?YMt). Salasanasi on erilainen. Kopioi salasana tekstitiedostoon (tai ota kuvakaappaus) ja paina ok. Tee tämä nyt, sillä salasanan palauttaminen on tuskallista, jos et tiedä sitä.
  6. Paina Apple-logoa näytön vasemmassa yläkulmassa ja siirry kohtaan Järjestelmäasetukset
  7. Klikkaa MySQL:ää ja näet, että se on pois päältä
  8. Paina Käynnistä MySQL-palvelin kytkeäksesi sen päälle ja näet:
  9. Palaa takaisin päätelaitteeseen ja näppäile: sudo /usr/local/mysql/bin/mysql -u root -p
  10. Kun painat enteriä, se kysyy salasanasi. Tätä salasanaa käytät, kun kirjaudut sisään Maciin
  11. Sitten se sanoo Enter Password: (Anna salasana), joka minulle on 8hxKsiIh?YMt (sinun pitäisi käyttää aiemmin kopioitua salasanaa 8hxKsiIh?YMt:n sijasta). Näet tämän näytön:
  12. Kirjoita ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; ja paina enteriä
  13. Mene osoitteeseen https://www.sequelpro.com ja lataa Sequel Pro. Tämä on kuin phpMyAdmin, mutta parempi, koska se on työpöytäsovellus.
  14. Mene asennuksen läpi, avaa Sequel Pro ja kirjoita hostiksi 127.0.0.1. Kirjoita käyttäjätunnukseksi root ja salasanaksi newpassword. Paina Connect
  15. Klikkaa vasemmassa yläkulmassa Choose Database… ja sen jälkeen Add Database…
  16. Anna sille nimi mydb ja paina enteriä
  17. Luo sitten uusi taulukko klikkaamalla vasemmassa alareunassa olevaa plusmerkkiä. Nimeä taulukko mytable ja paina add
  18. Klikkaa plusmerkkiä oikealla sanan INDEXES yläpuolella ja nimeä kenttä message. Aseta tyypiksi VARCHAR ja anna sen pituudeksi 200.
  19. Klikkaa ylhäällä olevaa Sisältöä.
  20. Klikkaa alhaalla olevaa plusmerkkiä (miinusmerkin vasemmalla puolella)
  21. Anna uudelle merkinnälle id:ksi 1 ja aseta viestiksi MySQL toimii täydellisesti!
  22. Avaa index.php Sivustot-kansiossasi ja muuta koodi muotoon

<?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();

Tämä esimerkki on ilmeisesti immuuni SQL-injektiolle, koska siinä ei ole käyttäjän syöttämiä arvoja. Jos et kuitenkaan ymmärrä MySQLi:n valmisteltuja lausekkeita niin hyvin kuin haluaisit, katso tästä postauksesta erinomainen opetusohjelma SQL-injektion estämisestä 😉. Siitä on jopa PDO-versio, jos pidät siitä enemmän.

  1. Virkistä localhost Safarilla ja sinun pitäisi nähdä:

Hienoa! Sinulla on nyt MySQL toiminnassa, joten voit käyttää localhostia tietojen tallentamiseen tietokantoihin.

Tehdä SEO-ystävällisistä URL-osoitteista toimivia

Sen sijaan, että menisit osoitteeseen localhost/profile.php?user=david, näyttää mukavammalta, kun voit mennä osoitteeseen localhost/profile/david. Laitetaan tämä toimimaan ottamalla mod_rewrite käyttöön, jotta voit käyttää RewriteRules-sääntöjä.

  1. Mene terminaaliin ja kirjoita sudo nano /etc/apache2/httpd.conf ja paina sen jälkeen enter
  2. Paina Ctrl+W, kirjoita rewrite, ja paina enteriä
  3. Poista # kohdasta #LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  4. Paina Ctrl+O ja sen jälkeen Enter tallentaaksesi
  5. Paina Ctrl+X poistuaksesi nanosta
  6. Kirjoita sudo apachectl restart

Nyt voit käyttää ystävällismielisiä URL-osoitteita kehittäessäsi localhostia käyttäen.

Make .htaccess Work

Tämä ei ole välttämätöntä, jotta turhamaiset URL-osoitteet toimisivat, mutta itse käytän mieluummin .htaccess-tiedostoa, koska sen avulla voin hallita sen versiota.

  1. Mene terminaaliin ja kirjoita sudo nano /etc/apache2/httpd.conf ja paina sen jälkeen enteriä
  2. Paina Ctrl+W, kirjoita AllowOverride controls, ja paina enteriä
  3. Vaihda AllowOverride None muotoon AllowOverride All
  4. Paina Ctrl+O ja sen jälkeen enter tallentaaksesi
  5. Paina Ctrl+X poistuaksesi nanosta
  6. Kirjoita sudo apachectl restart

Nyt voit lisätä .htaccess-tiedoston Sivustot-kansioon ja se toimii hyvin.

Kytke SSL/HTTPS päälle

Sivuston käyttämisen sijasta localhostin kautta, saatat haluta päästä verkkosivustollesi menemällä https://localhost. Jos otat SSL:n käyttöön, näet URL-palkissa localhostin vieressä riippulukon.

  1. Mene terminaaliin ja kirjoita sudo nano /etc/apache2/httpd.conf ja paina sen jälkeen enter
  2. Paina Ctrl+W, kirjoita socache_shmcb_module, ja paina enter
  3. Poista # kohdasta #LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
  4. Paina Ctrl+W, kirjoita mod_ssl ja paina enter
  5. Poista # kohdasta #LoadModule ssl_module libexec/apache2/mod_ssl.so
  6. Paina Ctrl+W, kirjoita httpd-ssl ja paina enter
  7. Poista # kohdasta #Include /private/etc/apache2/extra/httpd-ssl.conf
  8. Paina Ctrl+O ja sen jälkeen Enter tallentaaksesi
  9. Paina Ctrl+X poistuaksesi nanosta
  10. Kirjoita sudo nano /etc/apache2/extra/httpd-ssl.conf ja paina enteriä
  11. Paina Ctrl+W-painiketta, kirjoita ServerName ja paina enteriä
  12. Korvaa www.example.com:443:lla localhost
  13. Ympärilläsi näkyy /Library/WebServer/Documents. Korvaa se /Users/david/Sites:llä. (Käytä nimeäsi davidin sijasta, kuten teit aiemmin)
  14. Oikealle <VirtualHost_default_:443> alapuolelle lisää (mutta muista korvata david nimelläsi):
<Directory "/Users/david/Sites"> Options All MultiviewsMatch Any AllowOverride All Require all granted</Directory>
  1. Päätteesi pitäisi nyt näyttää tältä:
  2. Paina Ctrl+O ja sen jälkeen Enter tallentaaksesi
  3. Paina Ctrl+X poistuaksesi nanosta
  4. Kirjoita sudo nano /etc/ssl/openssl.cnf ja paina enteriä
  5. Alhaalla openssl.cnf lisätään tämä:
subjectAltName = DNS:localhost
  1. Päätteesi pitäisi näyttää tältä:
  2. Paina Ctrl+O ja sen jälkeen Enter tallentaaksesi
  3. Paina Ctrl+X poistuaksesi nanosta
  4. Kirjoita
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"

ja paina enter. (Voit sen sijaan käyttää omia tietojasi, mutta älä muuta localhostia)

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

ja paina enteriä

  1. Type sudo apachectl restart
  2. Mene nyt selaimessasi osoitteeseen https://localhost, ja näet url:n vieressä riippulukon, mikä tarkoittaa, että SSL:n määritys on valmis!

Hyväksyttävää!

Vastaa

Sähköpostiosoitettasi ei julkaista.