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.

admin

Lasă un răspuns

Adresa ta de email nu va fi publicată.

lg