Az Apache bekapcsolása
- A Terminál megnyitása a képernyő jobb felső sarkában lévő nagyítóra kattintva és a Terminal
- Type
sudo apachectl start
and press enter - Open Safari (vagy a választott böngésző), írja be a localhost-ot a címsorba, és nyomja meg az Entert
Nem hiszi el, hogy ilyen egyszerű? Pedig az! Most már látnod kell, hogy működik! a böngészőben.
Kapcsold be a PHP-t
A Mac már tartalmazza a PHP-t, így nem kell telepítened a PHP.net-ről. A High Sierra (10.13-as verzió) előtt a Mac a PHP 5-tel volt telepítve. Ez bosszúságot okozott a felhasználóknak, mert nem jött a PHP 7, így extra munkát kellett végeznie ahhoz, hogy a PHP 5-ről PHP 7-re frissítsen. Szerencsére a High Sierra már PHP 7.1-gyel érkezik!!!
- Nyissa meg a Terminált és írja be a
sudo nano /etc/apache2/httpd.conf
és nyomja meg az Entert - Nyomja meg a Ctrl+W billentyűkombinációt, ami megjeleníti a keresést
- Keresd meg a php-t és nyomd meg az Entert. A következőket fogod látni:
- Töröld ki a #-t a
#LoadModule php7_module libexec/apache2/libphp7.so
- Nyomd meg a Ctrl+O-t, majd az Entert, hogy elmentsd az imént elvégzett módosítást
- Nyomd meg a Ctrl+X-et a nano elhagyásához
- Típust
sudo apachectl restart
és nyomd meg az Entert
A PHP 7-et most kapcsoltad be. Eddig nagyszerű munka!
Sites mappa létrehozása
- Kattintson a képernyő bal alsó sarkában a Finderre, és kattintson a Go > Home gombra a felső navigációs sávban. Ez elviszi Önt az otthoni könyvtárába, amelynek szintén az lesz a neve, ahogyan a számítógépét elnevezték; ebben az esetben david.
- Hozzon létre egy új mappát, és nevezze el Sites-nek (Az alább látható Safari ikon automatikusan hozzáadódik a Sites mappához, ahogyan az alább látható)
- Nyissa meg a kedvenc szövegszerkesztőjét, és hozzon létre egy index nevű fájlt.php fájlt a következő kóddal:
<?phpecho "Hello From Sites Folder!";phpinfo();?>
- Mentse az index.php-t a létrehozott Sites mappába
- Menjen vissza a Terminálba, és írja be a
sudo nano /etc/apache2/httpd.conf
- Nyomja meg a Ctrl+W billentyűkombinációt a keresés megjelenítéséhez
- Keresze meg a Library-t, és nyomja meg az Entert. Ezt kell látnia:
- A
/Library/WebServer/Documents
mindkét előfordulását cserélje ki/Users/david/Sites
-ra (a david helyett használja a nevét, amely a terminál tetején található a home ikon mellett) - Nyomja meg a Ctrl+O billentyűkombinációt, majd a következőt Enter a módosítások mentéséhez
- Nyomja meg a Ctrl+X billentyűkombinációt a nano elhagyásához
- Típust
sudo apachectl restart
és nyomja meg az Entert
Menjen vissza a Safariba és frissítse a localhost oldalt, és látni fogja a Hello From Sites Folder! PHP-információval, amely azt mutatja, hogy PHP 7-et használ.
Install MySQL
- Menj a https://dev.mysql.com/downloads/mysql
- Görgess lefelé, amíg nem látsz három letöltés gombot, és kattints a DMG Archive mellett lévőre
- Görgess lefelé, és kattints a Nem köszönöm, csak indítsd el a letöltésemet
- Kattints a letöltött fájlra, kattints duplán a pkg fájlra, és menj végig a telepítésen, amelynek így kell kinéznie:
- Amikor a telepítés végére érsz, megjelenik egy felugró ablak, amely megadja a MySQL felhasználónevedet (root) és jelszavadat (8hxKsiIh?YMt). A jelszavad más lesz. Másolja a jelszót szöveges fájlba (vagy készítsen képernyőképet), és nyomja meg az oké gombot. Ezt most tedd meg, mert fájdalmas lesz visszaállítani a jelszót, ha nem tudod.
- Nyomd meg az Apple logót a képernyő bal felső részén és menj a Rendszerbeállításokba
- Kattints a MySQL-re és látni fogod, hogy ki van kapcsolva
- Nyomd meg a MySQL szerver elindítását, hogy bekapcsold és látni fogod:
- Menj vissza a Terminálba és írd be
sudo /usr/local/mysql/bin/mysql -u root -p
- Amikor megnyomod az Entert, kérni fogja a jelszavadat. Ezt a jelszót használod, amikor bejelentkezel a Macre
- Ezután azt írja, hogy Enter Password: (Jelszó megadása), ami nekem 8hxKsiIh?YMt (a 8hxKsiIh?YMt helyett a korábban lemásolt jelszót kell használnod). Ez a képernyő fog megjelenni:
- Írd be
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
és nyomd meg az Entert - Menj a https://www.sequelpro.com-ra és töltsd le a Sequel Pro-t. Ez olyan, mint a phpMyAdmin, de jobb, mert ez egy asztali alkalmazás.
- Menj végig a telepítésen, nyisd meg a Sequel Pro-t, és írd be a 127.0.0.1-t a Hostnak. A Felhasználónévnek adja meg a root-ot, a Jelszónak pedig a newpassword-ot. Nyomja meg a Connect
- Kattintson a Choose Database… gombra a bal felső sarokban, majd az Add Database…
- Adja meg a mydb nevet, és nyomja meg az Entert
- Az új táblázat létrehozásához kattintson a bal alsó sarokban lévő plusz jelre. Nevezze el a táblát mytable-nek, és nyomja meg az add
- Kattintson a plusz jelre közvetlenül az INDEXES szó felett, és nevezze el a mezőt message-nek. Állítsa be a típusát VARCHAR-ra, és adjon neki 200-as hosszúságot.
- Kattintson a Tartalomra a tetején.
- Kattintson a plusz jelre alul (a mínusz jeltől balra)
- Adjon az új bejegyzésnek 1-es azonosítót, és állítsa be az üzenetet MySQL tökéletesen működik!
- Nyissa meg az index.php-t a Sites mappában, és módosítsa a kódot a következőre
<?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();
Ez a példa nyilvánvalóan immunis az SQL injekcióra, mivel nincsenek felhasználói bevitelű értékek. Ha azonban nem érted annyira a MySQLi előkészített utasításokat, amennyire szeretnéd, nézd meg ezt a bejegyzést, ahol egy kiváló bemutatót találsz az SQL injektálás megelőzéséről 😉. Van még egy PDO verzió is, ha azt jobban szereted.
- frissítsd a localhostot a Safariban, és látnod kell:
Nagyszerű! Most már működik a MySQL, így használhatod a localhostot az adatok adatbázisokban való tárolására.
Make SEO Friendly URLs Work
Ahelyett, hogy a localhost/profile.php?user=david címre mész, szebben néz ki, ha a localhost/profile/david címre tudsz menni. Tegyük ezt működőképessé a mod_rewrite engedélyezésével, hogy használhassuk a RewriteRules-t.
- Menjünk a Terminálba, és írjuk be a
sudo nano /etc/apache2/httpd.conf
, majd nyomjuk le az Entert - Lenyomjuk a Ctrl+W billentyűkombinációt, majd írjuk be a rewrite-t, és nyomja meg az Entert
- Eltávolítsa a #-t a
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
- A mentéshez nyomja meg a Ctrl+O, majd az Entert
- A nano elhagyásához nyomja meg a Ctrl+X-et
- Típust
sudo apachectl restart
Most már használhat barátságos URL-eket, amikor a localhost használatával fejleszt.
Make .htaccess Work
Ez nem szükséges ahhoz, hogy a hiú URL-ek működjenek, de én személy szerint jobban szeretem a .htaccess fájlt, mivel ez lehetővé teszi számomra a verzióvezérlést.
- Menj a Terminálba, és írd be a
sudo nano /etc/apache2/httpd.conf
, majd nyomd meg az Entert - Nyomd meg a Ctrl+W billentyűkombinációt, majd írd be a
AllowOverride controls
, és nyomja meg az Entert - Változtassa meg a
AllowOverride None
-tAllowOverride All
-ra - A mentéshez nyomja meg a Ctrl+O, majd az Entert
- A nano
- Típust
sudo apachectl restart
Most már hozzáadhat egy .htaccess fájlt a Sites mappába, és jól fog működni.
Sz SSL/HTTPS bekapcsolása
Ahelyett, hogy a localhoston keresztül érné el a weboldalát, érdemes a https://localhost címen keresztül elérni a weboldalát. Ha bekapcsolja az SSL-t, akkor a localhost mellett egy lakat jelenik meg az URL-sávban.
- Menj a Terminálba, és írd be a
sudo nano /etc/apache2/httpd.conf
parancsot, majd nyomd meg az Entert - Nyomd meg a Ctrl+W billentyűkombinációt, majd írd be a socache_shmcb_module parancsot, és nyomja meg az Entert
- Törölje ki a #-t a
#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
- Nyomja meg a Ctrl+W billentyűkombinációt, írja be a mod_ssl-t, és nyomja meg az Entert
- Törölje ki a #-t a
#LoadModule ssl_module libexec/apache2/mod_ssl.so
- Nyomja meg a Ctrl+W billentyűkombinációt, írja be a httpd-ssl-t, és nyomja meg az Entert
- Törölje ki a #-t a
#Include /private/etc/apache2/extra/httpd-ssl.conf
- A mentéshez nyomja meg a Ctrl+O, majd az Entert
- A nano
- Írd be a
sudo nano /etc/apache2/extra/httpd-ssl.conf
, és nyomd meg az Entert - A Ctrl+W billentyűt, írd be a ServerName-t, és nyomd meg az Entert
- Helyettesítsd a www.example.com:443-at a localhostra
- Jobbra fentebb a
/Library/WebServer/Documents
fog megjelenni. Ezt cserélje ki/Users/david/Sites
-ra. (Használd a neved a david helyett, ahogy korábban tetted) - Jobbra a
<VirtualHost_default_:443>
alatt add hozzá (de győződj meg róla, hogy a david helyett a neved szerepel):
ból való kilépéshez nyomja meg a Ctrl+X billentyűt
<Directory "/Users/david/Sites"> Options All MultiviewsMatch Any AllowOverride All Require all granted</Directory>
- A terminálodnak most így kell kinéznie:
- Nyomja meg a Ctrl+O-t, majd az Entert a mentéshez
- Nyomja meg a Ctrl+X-et a nano elhagyásához
- Típust
sudo nano /etc/ssl/openssl.cnf
és nyomja meg az Entert - Az openssl alján.cnf hozzáadjuk ezt:
subjectAltName = DNS:localhost
- A terminálunknak így kell kinéznie:
- A mentéshez nyomjuk meg a Ctrl+O, majd az Entert
- A nano elhagyásához nyomjuk meg a Ctrl+X billentyűket
- 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"
és nyomjuk meg az Entert. (Használhatja helyette a saját adatait, de ne változtassa meg a localhostot)
- Type
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /private/etc/apache2/server.crt
és nyomja meg az Entert
- Type
sudo apachectl
restart - Most menjen a https://localhost-ra a böngészőben, és látni fog egy lakatot az url mellett, ami azt jelenti, hogy az SSL beállítása befejeződött!