- Partea întâi dintr-o serie de două părți pentru a configura un mediu de dezvoltare Apache/PHP pe macOS
- Obțineți cele mai recente actualizări ale sistemului de operare
- Instalează Xcode
- Install Homebrew
- Crearea directoarelor de fișiere de jurnal Apache
- Instalați și configurați Apache
- Schimbă portul de ascultare
- Activați modulele Apache utile
- Schimbarea setărilor de utilizator și grup Apache
- Set Apache Server Admin and Server Name
- Change the Document Root, Directory and Overrides
- Set Apache Error Log Location
- Create a Sites Folder
- Reporniți Apache
Partea întâi dintr-o serie de două părți pentru a configura un mediu de dezvoltare Apache/PHP pe macOS
Acest articol se adresează dezvoltatorilor web care doresc să instaleze un server web Apache ca parte a configurației mediului lor de dezvoltare pe Mac.
Dacă sunteți un dezvoltator PHP, atunci acest articol este o precondiție pentru următorul articol care vă va ghida prin instalarea PHP folosind Homebrew și PECL. Un link către acel articol poate fi găsit în partea de jos a acestei pagini.
În calitate de dezvoltator, obișnuiam să mă bazez pe versiunea de Apache care venea preîncărcată cu sistemul de operare pe MacBook Pro. Având în vedere regulile de securitate în continuă schimbare în macOS, am decis să-mi schimb întreaga abordare și, în schimb, să dezactivez versiunea distribuită de Apache și să folosesc o configurație în întregime din Homebrew. Această nouă abordare permite o mai mare flexibilitate pentru versiuni și va continua să funcționeze în toate versiunile macOS.
Aceste instrucțiuni funcționează la fel pentru macOS 10.13 High Sierra și 10.14 Mojave. Nu am testat pe versiunile anterioare de macOS, dar ar trebui să funcționeze în mod similar. De asemenea, nu trebuie să începeți cu o instalare nouă a sistemului de operare pentru a utiliza acest articol, dar am văzut că se întâmplă unele lucruri ciudate la actualizarea la Mojave față de o instalare nouă (de exemplu, lipsește complet fișierul de extensie a modulului mod_deflate.so în întregime după actualizare). Vă recomand o instalare proaspătă, dar dacă în schimb îndrăzniți o actualizare, fiți pregătit să urmăriți unele fișiere și căi.
Să începem!
Obțineți cele mai recente actualizări ale sistemului de operare
Dacă tocmai ați făcut o instalare proaspătă a sistemului de operare, probabil că nu va fi nevoie să faceți acest lucru.
Instalează Xcode
Dacă nu vă interesează să instalați întreaga aplicație Xcode este în regulă, comanda de instalare Homebrew va instala instrumentele de bază Xcode Command Line Tools de care are nevoie. Totuși, vă recomand instalarea completă, mai ales dacă folosiți Mojave. Pentru a face acest lucru, puteți rula următoarea comandă din terminal.
xcode-select --install
Install Homebrew
Comanda următoare va instala Homebrew.
(Vă rugăm să rețineți că următoarea comandă este o singură linie care a fost înfășurată din cauza constrângerilor de lățime a paginii în Medium. Asigurați-vă că copiați întreaga linie).
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Crearea directoarelor de fișiere de jurnal Apache
Apache vine pre-configurat cu propriile directoare de jurnal, dar vom crea propriul nostru folder „/usr/local/log/”, astfel încât acestea să fie ușor de găsit atunci când vom avea nevoie. Dacă aveți de gând să treceți la următorul articol pentru a instala PHP, vom folosi aceeași locație a fișierului de jurnal și pentru jurnalele PHP și vom avea toate jurnalele într-un singur loc.
Să urmați acești pași pentru a crea directoarele corespunzătoare și a seta permisiunile acestora. Nu țineți cont de mesajele „există deja” pe care le puteți primi.
$ sudo mkdir /usr/local/log$ sudo mkdir /usr/local/log/httpd$ sudo chgrp -R staff /usr/local/log/httpd$ sudo chmod -R ug+w /usr/local/log/httpd/
Instalați și configurați Apache
macOS 10.13 High Sierra și 10.14 Mojave vin cu Apache preinstalat. Cu toate acestea, în loc să folosim versiunea livrată, vom instala Apache prin Homebrew și apoi îl vom configura pentru a rula pe portul 80.
Dacă aveți deja Apache preinstalat care rulează, acesta va trebui mai întâi să fie oprit și orice script de încărcare automată va trebui eliminat. Nu strică să rulați ambele comenzi de mai jos, chiar și la o instalare proaspătă.
(Vă rugăm să rețineți că a doua comandă este o singură linie care a fost înfășurată din cauza constrângerilor de lățime a paginii în Medium. Asigurați-vă că copiați întreaga linie).
$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
Acum instalați noua versiune de Apache furnizată de Homebrew.
$ brew install httpd
După ce aceasta este completă, rulați următoarea comandă pentru a porni serviciul Apache și asigurați-vă că acesta repornește automat la logare.
$ brew services start httpd
Acum ați instalat versiunea de Apache de la Homebrew și ați configurat-o pentru a porni automat la repornire. Ar trebui să funcționeze deja, așa că ar trebui să puteți să vă îndreptați browserul către http://localhost:8080 și să vedeți un antet simplu care spune: „Funcționează!”.
Rețineți, în prezent suntem îndreptați către portul 8080. Vom schimba acest lucru în următorii pași. Acum că avem un server web funcțional, vom dori să facem câteva modificări de configurare pentru ca acesta să funcționeze mai pe placul nostru … sau de fapt doar pe placul meu ;-).
Să deschidem fișierul de configurare Apache:
$ open -e /usr/local/etc/httpd/httpd.conf
Schimbă portul de ascultare
Derulați în jos și găsiți linia care spune, „Listen 8080” și schimbați-o în;
Listen 80
Activați modulele Apache utile
În continuare puteți activa următoarele două module Apache utile. Puteți să căutați următoarele două linii și să le decomentați eliminând hashtag-ul de început „#”.
Sugestie: linia deflate se află în mijlocul secțiunii LoadModule, iar linia rewrite se află chiar în partea de jos a secțiunii LoadModule.
LoadModule deflate_module lib/httpd/modules/mod_deflate.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
Schimbarea setărilor de utilizator și grup Apache
În mod implicit, Apache rulează ca utilizator _www și grup _www. Peste puțin timp vom seta directorul nostru implicit de documente într-un director „Sites” din dosarul Home, iar aceste setări de utilizator și grup vă vor cauza probleme de permisiune atunci când veți încerca să accesați fișierele din directorul home.
Descoperiți aproximativ o treime din fișierul httpd.conf și veți găsi două linii care stabilesc utilizatorul și grupul sub care va rula Apache. Modificați-le pentru a se potrivi cu contul dumneavoastră de utilizator. Înlocuiți your_username cu numele de utilizator al MacBook-ului dvs. și utilizați un nume de grup de personal.
User your_username
Group staff
Set Apache Server Admin and Server Name
Căutați linia „ServerAdmin” și activați-o eliminând hashtag-ul de început „#” (dacă este necesar) și apoi schimbați adresa de e-mail cu a dumneavoastră:
ServerAdmin [email protected]
Activați numele serverului Apache în configurare eliminând hashtag-ul de început „#” și schimbându-l în localhost:
ServerName localhost
Change the Document Root, Directory and Overrides
În continuare vom schimba rădăcina documentului pentru Apache. Acesta este folderul din care Apache caută să servească fișiere. În mod implicit, rădăcina documentului este configurată ca fiind /usr/local/var/www. Deoarece creăm un mediu de dezvoltare și dorim să evităm cât mai multe probleme de permisiune a dosarelor, vom schimba rădăcina documentului într-un dosar din directorul nostru Home (pe care îl vom crea în scurt timp).
Continuați să derulați în jos și găsiți linia DocumentRoot. Schimbați-o pentru a se citi:
DocumentRoot "/Users/your_username/Sites"
În continuare, trebuie să schimbați, de asemenea, referința tag-ului chiar sub linia DocumentRoot. Aceasta ar trebui să fie schimbată pentru a indica noua rădăcină a documentului dvs. de asemenea:
<Directory "/Users/your_username/Sites">;
În același bloc veți găsi o setare AllowOverride. Aceasta ar trebui să fie schimbată de la None pentru a permite „All” overrides:
AllowOverride All
Set Apache Error Log Location
În cele din urmă, vom seta locația jurnalului de erori Apache la folderul pe care l-am creat mai devreme. Derulați puțin mai jos și găsiți linia pentru „ErrorLog” și modificați-o astfel:
ErrorLog "/usr/local/log/httpd/error_log"
Salvați și ieșiți din editorul de text.
Create a Sites Folder
Utilizați următoarele două linii pentru a crea un dosar „Sites” și pentru a adăuga un index.html pentru a începe:
(Vă rugăm să rețineți că a doua comandă este o singură linie care a fost înfășurată din cauza constrângerilor de lățime a paginii în Medium. Asigurați-vă că copiați întreaga linie).
$ mkdir ~/Sites
$ echo "<h1>It Works in my Sites Folder</h1>;" > ~/Sites/index.html
Reporniți Apache
Acum vom reporni pentru a ne asigura că setările noastre de configurare sunt corecte:
$ sudo apachectl -k restart
Încercați să navigați la localhost-ul dvs. în noua locație: http://localhost
Dacă acest lucru funcționează și vedeți mesajul: „It Works in my Sites Folder” atunci felicitări! Aveți o nouă instanță de server web care rulează pe portul 80.
Dacă primiți o eroare, o cauză probabilă ar putea fi ghilimelele duble folosite în jurul intrărilor de directoare din fișierul httpd.conf. Uneori, editorii de text le vor converti în ghilimele de tip caractere latine. Aceste ghilimele sunt opționale și pot fi eliminate. Încercați să eliminați ghilimelele duble și să reporniți din nou Apache.