Recomandă trecerea la Docker
În cele din urmă am trecut la utilizarea Docker pentru dezvoltarea locală pe macOS. Deși următorul tutorial funcționează pentru macOS Mojave, nu va funcționa și pentru versiunile viitoare de macOS. Vă recomand să urmați cel mai recent tutorial al meu despre instalarea Apache, MySQL și PHP pe macOS folosind Docker.
Nota: Această postare este pentru instalări noi. Dacă ați instalat Apache, PHP și MySQL pentru Mac OS Sierra, citiți postarea mea despre Actualizarea Apache, PHP și MySQL pentru macOS Mojave.
Sunt conștient de software-ul de server web disponibil pentru macOS, în special MAMP, precum și de managerii de pachete precum brew
. Acestea vă permit să începeți rapid. Dar ele renunță la experiența de învățare și, după cum raportează majoritatea dezvoltatorilor, pot deveni dificil de gestionat.
Ceea ce se întâmplă este că macOS rulează deasupra UNIX. Așa că majoritatea programelor UNIX se instalează cu ușurință pe macOS. Mai mult, Apache și PHP vin preinstalate cu macOS. Pentru a crea un server web local, tot ce trebuie să faceți este să configurați Apache și să instalați MySQL.
Executarea comenzilor
În primul rând, deschideți aplicația Terminal și treceți la utilizatorul root
, astfel încât să puteți executa comenzile din această postare fără probleme de permisiune:
sudo su -
Activați Apache pe macOS
apachectl start
Verificați Funcționează! accesând http://localhost
Enable PHP for Apache
În primul rând, faceți o copie de rezervă a configurației implicite Apache. Aceasta este o bună practică și servește ca o comparație față de viitoarele versiuni de macOS.
cd /etc/apache2/cp httpd.conf httpd.conf.mojave
Acum editați configurația Apache. Nu ezitați să folosiți un alt editor dacă nu sunteți familiarizat cu vi.
vi httpd.conf
Decomentați următoarea linie (eliminați #
):
LoadModule php7_module libexec/apache2/libphp7.so
Reporniți Apache:
apachectl restart
Puteți verifica dacă PHP este activat prin crearea unei pagini phpinfo()
în DocumentRoot
.
Pagina implicită DocumentRoot
pentru macOS Mojave este /Library/WebServer/Documents
. Puteți verifica acest lucru din configurația Apache.
grep DocumentRoot httpd.conf
Acum creați pagina phpinfo()
în DocumentRoot
:
echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php
Verificați PHP accesând http://localhost/phpinfo.php
Instalați MySQL pe macOS Mojave
Descărcați și instalați cea mai recentă versiune MySQL disponibilă în general DMG pentru macOS. Deși MySQL 8 este cea mai recentă versiune, multe dintre proiectele mele folosesc încă MySQL 5.7. Așa că prefer în continuare să instalez versiunea mai veche.
Când se termină instalarea, vă va oferi o parolă temporară. Copiați această parolă înainte de a închide programul de instalare. O veți folosi din nou în câțiva pași.
Lettrul README sugerează crearea de alias-uri pentru mysql
și mysqladmin
. Cu toate acestea, există și alte comenzi care sunt utile, cum ar fi mysqldump
. În schimb, vă puteți actualiza calea pentru a include /usr/local/mysql/bin
.
export PATH=/usr/local/mysql/bin:$PATH
Nota: Va trebui să deschideți o nouă fereastră Terminal sau să rulați comanda de mai sus pentru ca calea dvs. să se actualizeze.
În cele din urmă, ar trebui să rulați mysql_secure_installation
. Deși acest lucru nu este necesar, este o bună practică pentru a vă securiza baza de date. Acesta este, de asemenea, locul unde puteți schimba acea parolă temporară neplăcută în ceva mai ușor de gestionat pentru dezvoltarea locală.
Conectați PHP și MySQL
Trebuie să vă asigurați că PHP și MySQL pot comunica unul cu celălalt. Există mai multe opțiuni pentru a face acest lucru. Mie îmi place următoarea, deoarece nu necesită modificarea multor configurații:
mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock
Configurare suplimentară (opțională)
Configurația implicită pentru Apache 2.4 pe macOS părea destul de slabă. De exemplu, modulele comune precum mod_rewrite
erau dezactivate. Puteți lua în considerare activarea acestora acum pentru a evita să uitați că sunt dezactivate în viitor.
Am editat configurația Apache:
vi /etc/apache2/httpd.conf
Am decomentat următoarele linii (eliminați #
):
LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so
Dacă dezvoltați mai multe proiecte și doriți ca fiecare să aibă o adresă URL unică, puteți configura Apache VirtualHosts pentru macOS.
Dacă doriți să instalați PHPMyAdmin, reveniți la postarea mea originală despre instalarea Apache, PHP și MySQL pe macOS.
Vă pare interesant? Haideți să continuăm conversația pe Twitter.
.