Suosittelen siirtymistä Dockeriin
Vaihdoin vihdoin käyttämään Dockeria paikalliseen kehittämiseen macOS:ssä. Vaikka seuraava ohje toimii macOS Mojavella, se ei toimi tulevissa macOS-versioissa. Suosittelen seuraamaan uusinta opetusohjelmaani Apachen, MySQL:n ja PHP:n asentamisesta macOS:lle Dockerin avulla.
Huomautus: Tämä viesti koskee uusia asennuksia. Jos olet asentanut Apachen, PHP:n ja MySQL:n Mac OS Sierralle, lue postaukseni Apachen, PHP:n ja MySQL:n päivittäminen macOS Mojavea varten.
Olen tietoinen macOS:lle saatavilla olevista web-palvelinohjelmistoista, erityisesti MAMP:sta, sekä paketinhallintaohjelmistoista kuten brew
. Näillä pääset nopeasti alkuun. Mutta ne luopuvat oppimiskokemuksesta, ja kuten useimmat kehittäjät raportoivat, niiden hallinnasta voi tulla vaikeaa.
Juttu on niin, että macOS toimii UNIXin päällä. Joten useimmat UNIX-ohjelmistot asentuvat helposti macOS:ään. Lisäksi Apache ja PHP tulevat valmiiksi asennettuina macOS:n mukana. Luodaksesi paikallisen web-palvelimen sinun tarvitsee vain konfiguroida Apache ja asentaa MySQL.
Komentojen suorittaminen
Avaa ensin Terminal-sovellus ja vaihda root
-käyttäjäksi, jotta voit suorittaa tässä postauksessa esitetyt komennot ilman oikeuksia koskevia ongelmia:
sudo su -
Apachen käyttöönotto macOS:ssä
apachectl start
Varmista, että se toimii! siirtymällä http://localhost
Enable PHP for Apache
Tee ensin varmuuskopio Apachen oletuskonfiguraatiosta. Tämä on hyvä käytäntö ja toimii vertailukohtana tulevia macOS-versioita vastaan.
cd /etc/apache2/cp httpd.conf httpd.conf.mojave
Muokkaa nyt Apache-konfiguraatiota. Voit vapaasti käyttää toista editoria, jos vi ei ole sinulle tuttu.
vi httpd.conf
Kommentoi seuraava rivi (poista #
):
LoadModule php7_module libexec/apache2/libphp7.so
Käynnistä Apache uudelleen:
apachectl restart
Voit tarkistaa, että PHP on käytössä luomalla DocumentRoot
-sivun DocumentRoot
.
Default-DocumentRoot
-asetus macOS Mojavessa on /Library/WebServer/Documents
. Voit tarkistaa tämän Apache-konfiguraatiostasi.
grep DocumentRoot httpd.conf
Luo nyt phpinfo()
-sivu DocumentRoot
:
echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php
Varmista PHP käyttämällä http://localhost/phpinfo.php
Asenna MySQL:n asennus macOS Mojave -käyttöjärjestelmään
Lataa ja asenna uusin MySQL:n yleisesti saatavilla oleva julkaisu DMG:n uusin julkaisuversio macOS:lle. Vaikka MySQL 8 on uusin versio, monet projektini käyttävät edelleen MySQL 5.7:ää. Asennan siis edelleen mieluummin vanhemman version.
Kun asennus on valmis, se antaa sinulle väliaikaisen salasanan. Kopioi tämä salasana ennen asennusohjelman sulkemista. Käytät sitä uudelleen muutaman askeleen kuluttua.
README kehottaa luomaan aliakset mysql
ja mysqladmin
. On kuitenkin muitakin komentoja, jotka ovat hyödyllisiä, kuten mysqldump
. Sen sijaan voit päivittää polkusi niin, että se sisältää /usr/local/mysql/bin
.
export PATH=/usr/local/mysql/bin:$PATH
Huomautus: Sinun on avattava uusi terminaali-ikkuna tai suoritettava yllä oleva komento, jotta polkusi päivittyy.
Viimeiseksi sinun tulisi suorittaa mysql_secure_installation
. Vaikka tämä ei ole välttämätöntä, se on hyvä käytäntö tietokantasi suojaamiseksi. Tässä vaiheessa voit myös vaihtaa tuon ikävän väliaikaisen salasanan johonkin helpommin hallittavaan paikallista kehitystä varten.
Yhteyden muodostaminen PHP:n ja MySQL:n välille
Varmista, että PHP ja MySQL voivat kommunikoida keskenään. Tähän on useita vaihtoehtoja. Pidän seuraavasta, koska se ei vaadi monien konfiguraatioiden muuttamista:
mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock
Lisäkonfiguraatio (valinnainen)
Apache 2.4:n oletuskonfiguraatio macOS:ssä vaikutti melko laihalta. Esimerkiksi yleiset moduulit, kuten mod_rewrite
, oli poistettu käytöstä. Voit harkita tämän ottamista käyttöön nyt, jotta et unohda, että ne on poistettu käytöstä tulevaisuudessa.
Muokkasin Apache-konfiguraatiotani:
vi /etc/apache2/httpd.conf
Poista seuraavat rivit (poista #
):
LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so
Jos kehität useita projekteja ja haluat jokaiselle niistä yksilöllisen url-osoitteen, voit konfiguroida Apachen virtuaaliset isäntäkoneet (Apache VirtualHosts) macOS:lle.
Jos haluat asentaa PHPMyAdminin, palaa alkuperäiseen postaukseeni Apachen, PHP:n ja MySQL:n asentamisesta macOS:lle.
Kiinnostaako tämä? Jatketaan keskustelua Twitterissä.