Activați Apache
- Deschideți Terminalul făcând clic pe lupa din colțul din dreapta sus al ecranului și căutând Terminal
- Tastați
sudo apachectl start
și apăsați enter - Deschideți Safari (sau browserul ales de dumneavoastră), tastați localhost în bara de adrese și apăsați enter
Nu vă vine să credeți că este atât de ușor? Așa este! Acum ar trebui să vedeți It works! în browser.
Activați PHP
Mac vine deja cu PHP, așa că nu trebuie să-l instalați de pe PHP.net. Înainte de High Sierra (versiunea 10.13), Mac venea cu PHP 5 instalat. Acest lucru a făcut ca utilizatorii să se enerveze pentru că nu venea cu PHP 7, așa că trebuia să faceți o muncă suplimentară pentru a trece de la PHP 5 la PHP 7. Din fericire, High Sierra vine deja cu PHP 7.1!!!
- Deschideți Terminalul și tastați
sudo nano /etc/apache2/httpd.conf
și apăsați enter - Presați Ctrl+W care va aduce o căutare
- Căutați php și apăsați enter. Veți vedea următoarele:
- Ștergeți # din
#LoadModule php7_module libexec/apache2/libphp7.so
- Presați Ctrl+O urmat de Enter pentru a salva modificarea pe care tocmai ați făcut-o
- Presați Ctrl+X pentru a ieși din nano
- Tastați
sudo apachectl restart
și apăsați enter
Tocmai ați pornit PHP 7. Bună treabă până acum!
Create Sites Folder
- Click pe Finder în colțul din stânga jos al ecranului și click pe Go > Acasă în bara de navigare de sus. Acest lucru vă va duce la directorul dvs. de acasă, care va fi, de asemenea, indiferent de numele computerului dvs.; în acest caz este david.
- Crearea unui nou dosar și numiți-l Sites (Pictograma Safari prezentată mai jos se adaugă automat la dosarul Sites, așa cum se arată mai jos)
- Deschideți editorul dvs. de text preferat și creați un fișier numit index.php cu următorul cod:
<?phpecho "Hello From Sites Folder!";phpinfo();?>
- Salvați index.php în folderul Sites pe care l-ați creat
- Întoarceți-vă la Terminal și introduceți
sudo nano /etc/apache2/httpd.conf
- Presați Ctrl+W pentru a aduce căutarea
- Căutați Library și apăsați enter. Ar trebui să vedeți acest lucru:
- Înlocuiți ambele apariții ale lui
/Library/WebServer/Documents
cu/Users/david/Sites
(în loc de david folosiți numele dvs. care poate fi găsit în partea de sus a terminalului dvs. lângă pictograma home) - Presați Ctrl+O urmat de Enter pentru a salva aceste modificări
- Presați Ctrl+X pentru a ieși din nano
- Tastați
sudo apachectl restart
și apăsați enter
Reveniți la Safari și reîmprospătați pagina localhost și veți vedea Hello From Sites Folder! cu informații despre PHP care arată că se utilizează PHP 7.
Instalează MySQL
- Dute la https://dev.mysql.com/downloads/mysql
- Derulează în jos până când vezi trei butoane de descărcare și fă clic pe cel de lângă DMG Archive
- Derulează în jos și fă clic pe No thanks, just start my download
- Fă clic pe fișierul descărcat, fă dublu clic pe fișierul pkg și parcurge instalarea care ar trebui să arate așa:
- După ce ajungeți la sfârșitul instalării, veți vedea o fereastră pop-up care vă va da numele de utilizator MySQL (root) și parola (8hxKsiIh?YMt). Parola dvs. va fi diferită. Copiați parola într-un fișier text (sau faceți o captură de ecran) și apăsați OK. Faceți acest lucru acum, deoarece va fi dureros să resetați parola dacă nu o cunoașteți.
- Presați logo-ul Apple din stânga sus a ecranului și mergeți la System Preferences
- Click pe MySQL și veți vedea că este dezactivat
- Presați Start MySQL Server pentru a-l porni și veți vedea:
- Întoarceți-vă la Terminal și tastați
sudo /usr/local/mysql/bin/mysql -u root -p
- Când apăsați enter, vă va cere parola. Aceasta este parola pe care o folosiți atunci când vă conectați la Mac
- Apoi vă spune Enter Password: care pentru mine este 8hxKsiIh?YMt (ar trebui să folosiți parola pe care ați copiat-o mai devreme în loc de 8hxKsiIh?YMt). Veți vedea acest ecran:
- Tastați
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
și apăsați enter - Veți la https://www.sequelpro.com și descărcați Sequel Pro. Acesta este ca phpMyAdmin, dar mai bun pentru că este o aplicație pentru desktop.
- Pe parcursul instalării, deschideți Sequel Pro și introduceți 127.0.0.1 pentru gazdă. Introduceți root pentru numele de utilizator și newpassword pentru parolă. Apăsați Connect
- Clic pe Choose Database… în stânga sus, urmat de Add Database…
- Dați-i numele mydb și apăsați enter
- Apoi faceți clic pe semnul plus în stânga jos pentru a crea un tabel nou. Numiți tabelul mytable și apăsați add
- Click pe semnul plus chiar deasupra cuvântului INDEXES și numiți câmpul mesaj. Setați tipul la VARCHAR și dați-i o lungime de 200.
- Click pe Content în partea de sus.
- Click pe semnul plus din partea de jos (cel din stânga semnului minus)
- Dați noii intrări un id de 1 și setați mesajul la MySQL funcționează perfect!
- Deschideți index.php din folderul Sites și schimbați codul în
<?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();
Evident, acest exemplu este imun la injecția SQL, deoarece nu există valori introduse de utilizator. Cu toate acestea, dacă nu înțelegeți declarațiile pregătite MySQLi atât de bine pe cât ați dori, consultați această postare pentru un tutorial excelent despre cum să preveniți injecția SQL 😉. Există chiar și o versiune PDO, dacă preferați asta mai mult.
- Refresh localhost pe Safari și ar trebui să vedeți:
Great! Acum aveți MySQL funcțional, deci puteți folosi localhost pentru a stoca informații în bazele de date.
Faceți ca URL-urile SEO Friendly să funcționeze
În loc să mergeți la localhost/profile.php?user=david, arată mai bine când puteți merge la localhost/profile/david. Să facem acest lucru să funcționeze prin activarea mod_rewrite, astfel încât să puteți folosi RewriteRules.
- Du-te la Terminal și tastează
sudo nano /etc/apache2/httpd.conf
urmat de apăsarea enter - Pasă Ctrl+W, tastează rewrite, și apăsați enter
- Îndepărtați # din
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
- Presați Ctrl+O urmat de Enter pentru a salva
- Presați Ctrl+X pentru a ieși din nano
- Tastați
sudo apachectl restart
Acum puteți folosi URL-uri prietenoase atunci când dezvoltați folosind localhost.
Faceți ca .htaccess să funcționeze
Acest lucru nu este necesar pentru a face să funcționeze URL-urile vanitoase, dar eu personal prefer să folosesc un fișier .htaccess, deoarece îmi permite să îl controlez prin versiune.
- Intrați în Terminal și tastați
sudo nano /etc/apache2/httpd.conf
urmat de apăsarea enter - Presați Ctrl+W, tastați
AllowOverride controls
, și apăsați enter - Schimbați
AllowOverride None
înAllowOverride All
- Presați Ctrl+O urmat de Enter pentru a salva
- Presați Ctrl+X pentru a ieși din nano
- Tastați
sudo apachectl restart
Acum puteți adăuga un fișier .htaccess în folderul Sites și va funcționa bine.
Activați SSL/HTTPS
În loc să vă accesați site-ul web prin localhost, poate doriți să vă accesați site-ul web mergând la https://localhost. Dacă activați SSL, veți vedea un lacăt lângă localhost în bara URL.
- Direcționați-vă la Terminal și tastați
sudo nano /etc/apache2/httpd.conf
urmat de apăsarea enter - Presați Ctrl+W, tastați socache_shmcb_module, și apăsați enter
- Eliminați # din
#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
- Presați Ctrl+W, tastați mod_ssl și apăsați enter
- Eliminați # din
#LoadModule ssl_module libexec/apache2/mod_ssl.so
- Presați Ctrl+W, tastați httpd-ssl și apăsați enter
- Eliminați # din
#Include /private/etc/apache2/extra/httpd-ssl.conf
- Presați Ctrl+O urmat de Enter pentru a salva
- Presați Ctrl+X pentru a ieși din nano
- Tastați
sudo nano /etc/apache2/extra/httpd-ssl.conf
și apăsați enter - Presați Ctrl+W, tastați ServerName și apăsați enter
- Înlocuiți www.example.com:443 cu localhost
- Drept deasupra veți vedea
/Library/WebServer/Documents
. Înlocuiți-l cu/Users/david/Sites
. (Folosiți numele dvs. în loc de david așa cum ați făcut mai devreme) - Dreapta sub
<VirtualHost_default_:443>
adăugați (dar asigurați-vă că înlocuiți david cu numele dvs.):
<Directory "/Users/david/Sites"> Options All MultiviewsMatch Any AllowOverride All Require all granted</Directory>
- Terminalul dvs. ar trebui să arate acum așa:
- Presați Ctrl+O urmat de Enter pentru a salva
- Presați Ctrl+X pentru a ieși din nano
- Tastați
sudo nano /etc/ssl/openssl.cnf
și apăsați enter - În partea de jos a openssl.cnf adăugați acest lucru:
subjectAltName = DNS:localhost
- Terminalul dvs. ar trebui să arate astfel:
- Presați Ctrl+O urmat de Enter pentru a salva
- Presați Ctrl+X pentru a ieși din nano
- 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"
și apăsați enter. (Puteți folosi informațiile dvs. în loc, dar nu schimbați localhost)
- Type
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /private/etc/apache2/server.crt
și apăsați enter
- Type
sudo apachectl
restart - Acum mergeți la https://localhost în browserul dvs. și veți vedea un lacăt lângă url, ceea ce înseamnă că ați terminat de configurat SSL!
.