Как да настроите Apache в macOS Sierra 10.12

Първоначално публикувано на DigitalShore.io на 08 август 2016 г.

Това ръководство понастоящем отразява macOS Seirra 10.12.1

Забележка: Има няколко отговора за 403 грешки и проблеми с отказ за достъп. Моля, бъдете сигурни на 100%, за да замените действителното си потребителско име на вашия Mac, където винаги има случаи на код, използвайки заместителя на „потребителско име“. Тази стъпка е подчертана няколко пъти в цялото ръководство и е изключително важно да се спазва, за да работят нещата.

Ето защо, моля, прочетете и препрочетете внимателно и според нуждите.

По време на Световната конференция за разработчици на 13 юни 2015 г. Apple официално обяви, че следващата версия на OS X ще бъде брандирана като macOS. И с тази последна итерация на операционната система за десктоп Mac - наречена Sierra - калифорнийската конвенция за именуване на забележителности също продължава.

Нови функции и подобрения се предлагат за macOS Sierra, но като уеб разработчици знаем, че основните актуализации на ОС могат да оставят нещата малко странни в зависимост от нашите разработки. Например, по-рано работещият уеб сървър на Apache в Ел Капитан повече от вероятно ще трябва да бъде пренастроен за Сиера. Особено ако подготвите чиста инсталация, когато актуализирате вашата операционна система. И като се има предвид това понятие, това ръководство има за цел да помогне на потребителите на macOS Sierra да работят с Apache и да работят с минимален шум.

Забележка: понастоящем macOS Sierra се доставя с Apache 2.4.23.

Работа чрез това ръководство

Това ръководство използва нов подход в сравнение с предишните ми ръководства за Apache. Искам да осигуря на моите читатели няколко допълнителни възможности и гъвкавост, тъй като нуждите на всеки са различни.

Например, първоначалната конфигурация на Apache ще ви настрои с локален директория Sites в домашната ви папка, където ще живеят всички ваши местни сайтове. След това ще имате възможност да навигирате до http: // localhost / ~ потребителско име /, за да видите индекс на вашите местни сайтове (където „потребителското име“ в URL адреса е заменено с действителното ви потребителско име). Първият незадължителен елемент е да се използва персонализирането на виртуални хостове и имена на локални хостове. Вторият незадължителен елемент е да активирате PHP модула Apache.

Области и елементи, през които ще работите:

  1. Използване на терминал
  2. Създаване на сайтове и директории за проекти
  3. Конфигуриране на Apache

Незадължителни артикули

  • Конфигуриране на виртуални хостове и имена на хостове
  • Активиране на PHP модула Apache

1. Използване на терминал

Много опитни уеб разработчици знаят колко незаменим е инструментът, който Terminal може да бъде за завършване на работата им. Въпреки това, за потребители с неопитност, използващи Terminal или дори командния ред, като цяло, той може на пръв поглед да изглежда направо обезсърчително и неканен! Ето защо това ръководство има за цел да направи времето ви в Терминал възможно най-безболезнено, като по този начин ви преподава някои основни понятия.

1.1 Дума за предпазливост

Преди да влезете в Terminal и да започнете да изпълнявате команди, искам да добавя дума за предпазливост. Няколко команди, изброени в това ръководство, ще използват sudo, което позволява на потребителите да повишат своите привилегии за сигурност до тези на „root“ или „superuser“. С тази велика сила идва голяма отговорност. Бъдете сигурни, че всеки път, когато използвате sudo, не заблуждавате файлови пътища или не променяте файлове, които не трябва да се променят и т.н. Просто казано, продължете с повишено внимание, докато използвате sudo!

Алтернатива да се забърквате с родните macOS файлове и програми чрез Terminal е да стартирате виртуална машина с пясъчна Linux Linux директно на вашия Mac. Това всъщност е чудесен подход за всеки разработчик и е най-добрата практика, която силно препоръчвам, независимо от вашия набор от умения и ниво. Друга жизнеспособна алтернатива е Homebrew, но цялата тази настройка може да стане малко объркана.

В противен случай, ако ви е удобно с Terminal и просто искате вашата локална версия на Apache работи на macOS Sierra, без да се забърквате с виртуални машини или Homebrew, тогава четете нататък!

1.2 Терминал и това ръководство

За да започнете с Терминал, можете да намерите приложението, намиращо се на:

Приложения> Помощни програми> Terminal.app

Върви и отвори. Трябва да имате прозорец със съдържание, което изглежда подобно на това - името на вашия компютър, последвано от двоеточие, тилда и вашето потребителско име на Mac, завършващо със знак за долар:

Johns-Air: ~ Джон $
  • Командите ще бъдат въведени след $. Това ръководство ще включва $, указващи един ред или единична команда. Моля, обърнете внимание, че $ не трябва да се въвежда с всяка команда. Той е просто там, за да служи като водач.
  • Това ръководство ще открои някои от по-често срещаните команди, с които ще се сблъскате, докато използвате терминал, и не просто ще заглади тези команди, както повечето други ръководства. Вместо това ще има някои допълнителни пояснения и обяснения какво означава всяка команда и защо.
  • Освен това, това ръководство ще използва абсолютни пътища, когато е необходимо, тъй като понякога може да е малко трудно за новодошлите да намерят пътя си около файловата система в Terminal.

2. Създаване на сайтове и директории на проекти

Директорията „Сайтове“ ще служи като новият локален коренен документ за Apache, удобно разположен в домашната директория на потребителя ви. Както се оказва, тази директория всъщност е била домът на оригиналната настройка за „уеб споделяне“ на OS X, която изчезна в OS X 10.7 Lion. След като създадете директорията, можете да видите, че Finder все още отдава почит на тази функция от миналото, тъй като иконата на папката получава специално третиране, получавайки икона, която изглежда поразително подобна на тази на Safari.

След създаването на директория Сайтове ще добавим два „тестови уебсайта“ - Foo и Bar.

2.1 Създайте директория на сайтове в дома

Първо, ще създадем директория на сайтовете в домашната директория на вашия Mac, използвайки Terminal. За да направите това, ще използваме командата mkdir, съкратена за директория make, с текста след командата, представляваща пътя и името на директорията, които желаем да създадем. Тилдът е стенограма за домашната директория на текущия ви потребител, нещо, което е много удобно в системи, подобни на Unix.

Въведете следната команда в Terminal, за да създадете вашата директория Sites:

$ mkdir ~ / Сайтове

Ако сте нов в Terminal, вероятно се чудите дали горната команда действително е направила нещо. И тъй като повечето елементи в Terminal никога не дават никаква обратна връзка, удобна команда за изброяване на съдържанието на текущата ви директория е ls. За да изброите съдържанието на вашата домашна директория, въведете следното:

$ ls ~

Сайтовете вече ще бъдат посочени като един от елементите в домашната ви директория.

2.2 Създайте две директории на проекти в Сайтове

След това ще създадем две допълнителни директории в Сайтове. Тези две директории ще служат като „тестови уебсайтове“ за Apache.

За начало нека използваме командата mkdir отново. Командата по-долу ще създаде директория с име foo в Sites:

$ mkdir ~ / Сайтове / foo

Продължете и повторете това действие, този път, за да създадете лентова директория:

$ mkdir ~ / Сайтове / бар

За да се уверите, че тези директории съществуват, можете да проверите отново, като използвате:

$ ls ~ / Сайтове

Foo и bar ще бъдат отпечатани на Terminal.

2.3 Създайте HTML файл

Сега, когато са налице двете тестови директории, имаме нужда от няколко файла, за да могат да се обслужват Apache. За сега да запазим нещата основни и ясни с обикновен HTML файл. За да създадете този нов файл, използвайте командата за докосване. Тази команда ви позволява да създадете нов празен файл или дори да промените времева марка на файл или директория:

$ touch ~ / Сайтове / foo / index.html

След изпълнение на горната команда, празен файл index.html ще бъде добавен към ~ / Sites / foo.

2.4 Здравейте, Свят!

Празен файл index.html обаче не ни помага много! Нека добавим малко HTML към този файл, използвайки нано текстовия редактор, който е текстов редактор, създаден за интерфейси, подобни на Unix, като например терминал:

$ nano ~ / Сайтове / foo / index.html

След като изпълните горната команда, ще забележите, че прозорецът на терминала сега прилича повече на текстов редактор - с името на файла в горната част, курсор, посочващ къде може да се въведе текст, и няколко команди, изброени в долната част (забележка: между командите в долната част на nano, ^ представлява контролния ключ).

Добавете следното към ~ / Sites / foo / index.html:



  <Глава>
     Здравей, Свят! | Фу </ заглавието>
  </ Глава>
  <Тяло>
    <h1> Здравейте, свят! </h1>
    <p> Добре дошли в <strong> Foo </strong>. </p>
  </ Тяло>
</ HTML></pre><p>Затворете и запазете този файл, като използвате control + X, последван от Y, след това Enter. Тези команди казват на нано да излезе от файла и да запише до текущото име на файла (или, обратно, можете да натиснете N, когато искате да затворите, но не искате да запазите).</p><h3>Ами Бар?</h3><p>Страхотно, имаме файл index.html в ~ / Sites / foo, но какво ще кажете за ~ / Sites / bar? Вместо да манипулирате файлове чрез Finder, по-долу е чудесен пример за това, където Terminal може да ви позволи по-голяма гъвкавост. Без да е необходимо да щракнете през няколко папки и прозорци, за да копирате ~ / Sites / foo / index.html, можете да използвате командата cp, за да копирате файла и просто да замените копия на думата „foo“ за „bar“, използвайки nano:</p><pre>$ cp ~ / Sites / foo / index.html ~ / Sites / bar / index.html</pre><p>След това продължете и отворете файла с nano:</p><pre>$ nano ~ / Сайтове / bar / index.html</pre><p>Вашият краен резултат трябва да изглежда в ~ / Sites / bar / index.html така:</p><pre><! doctype html>
<HTML>
  <Глава>
    <title> Здравей, Свят! | Бар </ заглавие>
  </ Глава>
  <Тяло>
    <h1> Здравейте, свят! </h1>
    <p> Добре дошли в <strong> Бар </strong>. </p>
  </ Тяло>
</ HTML></pre><p>С две тестови директории е време да сменим предавките и да започнем да конфигурирате Apache за macOS Sierra.</p><h3>3. Конфигуриране на Apache</h3><p>Със зададени директории, нека започнем да редактираме няколко конфигурационни файла, за да може Apache да показва съдържание от директорията ~ / Sites.</p><p>Също така ще забележите, че в този раздел на ръководството, sudo ще се използва доста често. Това е така, защото повечето стандартни потребители на Mac не са достатъчно привилегировани да редактират тези файлове директно.</p><h3>3.1 Добавяне на файл Config</h3><p>Първата ни задача е да създадем нов конфигурационен файл, който да помогне на Apache откъде да се показва съдържание. Този конфигурационен файл всъщност е вашето потребителско име на вашия Mac и завършва с разширението .conf. Например, ще трябва да създам файл, озаглавен John.conf.</p><p>Ако не сте сигурни какво точно е вашето потребителско име (чувствителност към регистъра и всички), ще трябва да изпълните следната команда, за да отпечатате потребителското си име в прозореца на терминала:</p><pre>$ whoami</pre><p>След като знаете потребителското си име, отворете директорията, където трябва да поставим този нов файл. За целта ще трябва да променим директории с cdcommand. Това ни позволява да влизаме и излизаме от текущата ни работна директория до мястото, където трябва да отидем. За нашите цели просто трябва да въведем следната команда, за да използваме директорията / etc / apache2 / users:</p><pre>$ cd / etc / apache2 / потребители</pre><p>След това нека създадем файла username.conf (използвайки вашето потребителско име за Mac, а не думата „потребителско име“). Този път няма да се притесняваме с докосването, както направихме през стъпка 2. Всъщност има един малък пряк път, който можем да използваме вместо това, където просто посочваме името на новия файл, докато използваме nano. Ако файлът съществува, nano ще отвори съществуващия файл, в противен случай nano ще отвори празен текстов редактор и това ще ни позволи да запишем този файл в текущата ни работна директория като посоченото име на файла.</p><p>Също така за тази стъпка ще използваме командата sudo за първи път в това ръководство. Както бе посочено по-горе в стъпка 1, sudo е специална команда, която ако се използва неправилно или случайно, може да повреди и унищожи системните файлове. Моля, продължете с повишено внимание!</p><pre>$ sudo nano username.conf</pre><p>Не забравяйте да замените „потребителското име“ с действителното си потребителско име!</p><p>С този нов файл, отворен в nano, продължете напред и добавете следното съдържание, като не забравяйте да замените „потребителското име“ с действителното си потребителско име на вашия Mac:</p><pre><Директория / Потребители / потребителско име / Сайтове / ">
  Разрешаване на всички
  Опции Индекси MultiViews FollowSymLinks
  Изисквайте всички предоставени
</ Directory></pre><p>След като горното е настроено, затворете нано с контрол + X, последвано от Y, след това Enter.</p><p>След това нека коригираме разрешенията малко, така че Apache да може да чете този нов файл. Въведете следното в Terminal, като отново замените „потребителското име“ с действителното си потребителско име:</p><pre>$ sudo chmod 644 username.conf</pre><p>Без да навлизам в прекалено много подробности относно разрешенията за Linux, трите числа за 644, изброени по-горе, представляват следното:</p><p>Група собственик Други</p><p>„6“ в „собственик“ означава, че собственикът може да чете / пише. „4“ и второ „4“ ограничава „Group“ и „Other“ само за четене.</p><p>Сега, когато потребителският конфигурационен файл е създаден и има правилните разрешения, нека преминем към няколко основни модула на Apache.</p><h3>3.2 Включване на модули в httpd.conf</h3><p>Следващата ни стъпка е да се преместим „назад“ или „нагоре“ на едно ниво, към / etc / apache2. В момента трябва да сте в / etc / apache2 / потребители от предишната стъпка. За да промените директории на едно ниво, просто трябва да използвате тази обща стенограма, съчетана с командата cd: два периода, вместо действителното име на директория:</p><pre>$ cd ..</pre><p>Това може да изглежда познато на някои разработчици, които са виждали това, използвано в пътища за CSS или JavaScript файлове. Тези две точки са стенограма за родителската директория на текущата ви директория. Но какво ще стане, ако искате да проверите два пъти точния път към файла къде се намирате в момента? Има и команда за това, pwd, която ще отпечата работната директория за вас, като посочи точно къде се намирате:</p><pre>$ pwd</pre><p>Когато изпълня тази команда, получавам: / etc / apache2.</p><p>В / etc / apache2, нека първо направим резервно копие на съществуващия httpd.conf файл. За начало използвайте командата cp, за да копирате и след това добавете .bak като разширение на файла на копираната версия:</p><pre>$ sudo cp httpd.conf httpd.conf.bak</pre><p>Смятам за полезно да съхранявате копие на тези конфигурационни файлове по подразбиране под ръка, в случай, че е необходимо някога да се върнете обратно към оригинала или най-малкото да посочите оригинала.</p><p>Със запазеното архивиране сега можем да съсредоточим усилията си върху редактирането на httpd.conf. Отворете този файл с nano:</p><pre>$ sudo nano httpd.conf</pre><p>В този файл ще трябва да „включим“ няколко модула. За целта е въпрос на премахване на символа #, който действа като начин за коментиране на цялата линия навън, ефективно „изключвайки я“.</p><p>Nano предлага възможност за търсене, което прави намирането на всеки ред малко по-лесно, тъй като този файл е доста дълъг. За да го използвате, натиснете control + W (той се държи подобно на команда + F във вашия уеб браузър).</p><p>По-долу са изброени модулите за декомментиране / активиране:</p><pre>LoadModule authz_host_module libexec / apache2 / mod_authz_host.so
LoadModule authz_core_module libexec / apache2 / mod_authz_core.so
LoadModule userdir_module libexec / apache2 / mod_userdir.so
LoadModule vhost_alias_module libexec / apache2 / mod_vhost_alias.so</pre><pre>Включете /private/etc/apache2/extra/httpd-userdir.conf
Включете /private/etc/apache2/extra/httpd-vhosts.conf</pre><p>След като потърсите всеки ред по-горе и премахнете предстоящия #, запазете и затворете httpd.conf.</p><h3>3.3 Редактиране на httpd-userdir.conf</h3><p>С обновен файл httpd.conf, следващият файл за редактиране е httpd-userdir.conflocation в допълнителната директория:</p><pre>$ cd / etc / apache2 / допълнително</pre><p>Както преди, добра практика е да запазите резервно копие на конфигурационния файл по подразбиране - само за да сте сигурни:</p><pre>$ sudo cp httpd-userdir.conf httpd-userdir.conf.bak</pre><p>С резервното копие на всички, отворете и редактирайте httpd-userdir.conf:</p><p>$ sudo nano httpd-userdir.conf</p><p>Декомментирайте следния ред, премахвайки #:</p><pre>Включете /private/etc/apache2/users/*.conf</pre><p>Забележка: ако се интересувате от PHP модула, той ще бъде проучен в изброените по-долу „незадължителни стъпки“:</p><h3>3.4 Рестартиране на Apache</h3><p>Като имаме всички наши настройки и промени, време е да рестартираме Apache и да изпробваме нашата настройка:</p><pre>sudo apachectl рестартиране</pre><h3>Преглед на вашите местни сайтове</h3><p>Придвижете се до http: // localhost / ~ потребителско име, заменяйки потребителското име с вашето потребителско име. Ако всичко е успешно, ще видите индекс на вашата директория Sites - изброявайки всички под-директории, като са посочени както папките ~ / Sites / foo, така и ~ / Sites / bar. След като щракне върху една от тези папки, Apache след това сървър на съдържанието на тази папка, точно като обикновен уеб сървър.</p><p>Поздравления, сега имате локален уеб сървър Apache на вашия Mac, работещ под macOS Sierra 10.12!</p><h3>Незадължителни стъпки</h3><p>По-долу са някои незадължителни стъпки за допълнително подобряване на вашата локална среда за уеб разработка. Някои разработчици всъщност могат да предпочетат да имат локално име на хост на проект, вместо да се занимават с localhost. Това ще ни позволи да създадем локални сайтове като foo.localhost и bar.localhost за ~ / Sites / foo и ~ / Sites / bardirectories.</p><h3>Незадължителна стъпка 1: Виртуални хостове</h3><p>Използването на виртуални хостове ви позволява да кажете точно на Apache къде да търсите конкретното съдържание в зависимост от директивата „serverName“, посочена в блока VirtualHost, като например foo.localhost да обслужва съдържанието на ~ / Sites / foo.</p><p>Забележка: Използвайки виртуални хостове, ще се откажем от индексирания си изглед в localhost и ще трябва да редактираме файла на хоста на Mac, за да добавим нашите уникални имена на хост на проект.</p><h3>1.1 Конфигуриране на виртуални хостове</h3><p>Първо, създайте резервно копие на файла по подразбиране httpd-vhosts.conf. Този файл се намира на / etc / apache2 / extra:</p><pre>$ sudo cp httpd-vhosts.conf httpd-vhosts.conf.bak</pre><p>След като резервно копие е удобно, изчистете съдържанието на httpd-vhosts.conf и добавете прост набор от инструкции <VirtualHost> за всеки от нашите уебсайтове за разработчици, foo.localhost и bar.localhost, както е показано по-долу:</p><pre># Виртуален запис на домакин за foo.localhost
<VirtualHost *: 80>
  DocumentRoot "/ Потребители / john / Сайтове / foo"
  ServerName foo.localhost
  ErrorLog "/ private / var / log / apache2 / foo-error_log"
  CustomLog "/ частен / var / log / apache2 / foo-access_log" общ </VirtualHost></pre><pre># Виртуален запис на домакин за bar.localhost
<VirtualHost *: 80>
  DocumentRoot "/ Потребители / john / Sites / bar"
  ServerName bar.localhost
  ErrorLog "/ private / var / log / apache2 / bar-error_log"
  CustomLog "/ частен / var / log / apache2 / bar-access_log" общ </VirtualHost></pre><h3>1.2 Редактиране на вашия хост файл</h3><p>След като запазите и затворите файла httpd-vhost.conf, ще трябва да редактираме хост файла, за да създадем имена на хостове за Foo и Bar:</p><pre>$ sudo nano / etc / hosts</pre><p>Забележка: бъдете внимателни при работа с този файл. Добавете промените си в долната част и не променяйте първите 3 реда!</p><p>Вашият хост файл трябва да изглежда подобен на този, когато го отворите за първи път:</p><pre>##
# Основна база данни
#
# localhost се използва за конфигуриране на обратния интерфейс
# когато системата се зарежда. Не променяйте този запис.
##
127.0.0.1 localhost
255.255.255.255 излъчващ гост
:: 1 localhost</pre><p>За да запазите нещата документирани, добавете коментар, идентифициращ промените в този файл, точно над записите в името на хоста за foo.localhost и bar.localhost:</p><pre>##
# Основна база данни
#
# localhost се използва за конфигуриране на обратния интерфейс
# когато системата се зарежда. Не променяйте този запис.
##
127.0.0.1 localhost
255.255.255.255 излъчващ гост
:: 1 localhost</pre><pre># Локални сайтове
127.0.0.1 foo.localhost
127.0.0.1 bar.localhost</pre><p>След като го добавите, запазете и затворете този файл.</p><h3>1.3 Рестартирайте Apache</h3><p>Преди да можем да тестваме foo.localhost и bar.localhost, Apache трябва да се рестартира, така че директивите за виртуалния хост да влязат в сила:</p><pre>sudo apachectl рестартиране</pre><p>Сега продължете напред и тествайте както foo.localhost, така и bar.localhost във вашия уеб браузър. И двата сайта трябва да се заредят и да покажат съответните им index.html файлове!</p><p>С този работен пример вече можете да видите колко мощни и гъвкави локални виртуални хостове и имена на местни хостове могат да бъдат за вашите усилия за развитие.</p><h3>Незадължителна стъпка 2: Конфигуриране на PHP</h3><p>Друга приятна функция, която прави комплимент на вградения уеб сървър Apache в macOS Sierra, е вграденият PHP интерпретатор! PHP е скриптовият език от страна на сървъра, който се свързва доста добре с Apache. За да дадем възможност на Apache да борави с PHP, можем да използваме PHP модула, който по същество изпълнява PHP процеса вътре в процеса Apache, свързвайки двете добре.</p><p>Забележка: macOS Sierra включва PHP версия 5.6.3.</p><h3>2.1 Активирайте PHP модула</h3><p>Първо, нека да посетим httpd.conf:</p><pre>$ sudo nano /etc/apache2/httpd.conf</pre><p>В този файл просто трябва да коментираме един ред, като премахваме #:</p><pre>LoadModule php5_module libexec / apache2 / libphp5.so</pre><p>С този модул активиран (след като Apache се рестартира), сега можете да обслужвате всички файлове с разширение .php. Сега Apache може основно да предаде този файл на PHP интерпретатора и след това да получи крайния резултат за изпращане обратно като HTTP отговор.</p><h3>2.2 Интерпретация на PHP в HTML файлове</h3><p>Какво става, ако искаме да изпълним PHP код, който съществува в нашите HTML файлове? За целта трябва да направим промяна във файла httpd-vhosts.conf:</p><pre>$ sudo nano /etc/apache2/extra/httpd-vhosts.conf</pre><p>Добавете този блок код в самия връх на файла:</p><pre><FilesMatch ". + \. Html $">
  Приложение SetHandler / x-httpd-php
</ FilesMatch></pre><p>Вашият файл httpd-vhosts.conf сега трябва да изглежда така:</p><pre># Разрешаване на PHP интерпретация в HTML файлове
<FilesMatch ". + \. Html $">
  Приложение SetHandler / x-httpd-php
</ FilesMatch></pre><pre># Виртуален запис на домакин за foo.localhost
<VirtualHost *: 80>
  DocumentRoot "/ Потребители / john / Сайтове / foo"
  ServerName foo.localhost
  ErrorLog "/ private / var / log / apache2 / foo-error_log"
  CustomLog "/ частен / var / log / apache2 / foo-access_log" общ </VirtualHost></pre><pre># Виртуален запис на домакин за bar.localhost
<VirtualHost *: 80>
  DocumentRoot "/ Потребители / john / Sites / bar"
  ServerName bar.localhost
  ErrorLog "/ private / var / log / apache2 / bar-error_log"
  CustomLog "/ частен / var / log / apache2 / bar-access_log" общ </VirtualHost></pre><p>След като направите тези промени, рестартирайте Apache:</p><pre>sudo apachectl рестартиране</pre><h3>3.3 Тествайте PHP файлове</h3><p>Нека тестваме действителен .php файл, а също и някакъв PHP код в HTML файл. foo.localhost изглежда като перфектен кандидат за тест:</p><pre>$ nano ~ / Сайтове / foo / example.php</pre><p>В нано въведете следната основна променлива на PHP и оператор:</p><pre><? PHP
  $ поздрав = 'Здравейте, PHP свят!';
  ехо '<h1>'. $ поздрав. '</ H1>';
?></pre><p>Запазете и затворете файла. След това посетете foo.localhost / example.php. Ще бъдете посрещнати от „Здравей, PHP свят!“ Като H1 таг.</p><p>След това нека изпробваме интерпретирането на PHP код, който съществува в HTML файл:</p><pre>$ nano ~ / Сайтове / foo / index.html</pre><p>Добавете няколко реда PHP код, които могат да ви помогнат да зададете променлива „ден“, така че да можем да кажем на посетителите какъв е текущият ден от седмицата:</p><pre><? PHP
  date_default_timezone_set ( "UTC");
  $ day = дата ('l');
?>
<! doctype html>
<HTML>
  <Глава>
    <title> Здравей, Свят! | Фу </ заглавието>
  </ Глава>
  <Тяло>
    <h1> Здравейте, свят! </h1>
    <p> Добре дошли в <strong> Foo </strong>. </p>
    <p> Днес е <? php echo $ day; ?>. </ P>
  </ Тяло>
</ HTML></pre><p>Сега, когато посетите foo.localhost, ще бъдете информирани какъв е текущият ден от седмицата въз основа на часовата зона на UTC!</p><h3>Къде да отида Напред</h3><p>Сега, когато имате Apache, работещ в macOS Sierra 10.12, светът на уеб разработките е вашата стрида!</p><p>Можете лесно да стартирате вашите уебсайтове локално, независимо дали за вътрешен уебсайт сред вашата локална мрежа или за целите на развитието, където трябва да имитирате производствена версия на вашия уеб сървър направо на вашата локална машина. След това, за да изведете нещата на следващо ниво, можете дори да помислите за наслояване в предимствата на Git и никога повече няма да се налага да се суетете с FTP или CPanel (хората все още използват тези реликви?).</p><p>Тъй като сега сте професионален команден ред, може би е време да се отдалечите от стартирането на вградените в Mac версии на елементи като Apache, PHP, Git и т.н., и да започнете да изследвате силата и гъвкавостта, която локалната Linux среда управлява с Vagrant може да предложи за вас. С него ще можете да настройвате и конфигурирате родните програми на Linux без риск за критични системни файлове на вашия Mac, нито ще ви се налага да се сблъсквате с Homebrew или други подобни.</p><p>Продължавайте кодирането! </p><p>Наслаждавате се на това, което сте чели?</p><p>Не забравяйте да харесате и да споделите по-долу, или дори да ми купите кафе ️!</p><p>Джон Фодераро е фанатик на JavaScript, разположен в Ню Джърси.</p></div><ins class="adsbygoogle" style="display:inline-block;width:580px;height:400px" data-ad-client="ca-pub-3845662922897763" data-ad-slot="2704103789"></ins><script>
        (adsbygoogle = window.adsbygoogle || []).push({});
      </script><div class="neighbor-articles"><h4 class="ui header">Вижте също</h4><a href="/page/value-of-criticism-and-how-to-take-it-b53e26/" title="Стойност на критиката и как да я приемем">Стойност на критиката и как да я приемем</a><a href="/page/how-to-make-your-application-more-secure-b848a3/" title="Как да направите приложението си по-сигурно?">Как да направите приложението си по-сигурно?</a><a href="/page/how-to-reverse-engineer-the-career-of-your-dreams-3de0e0/" title="Как да обърнете инженер на кариерата на вашите мечти">Как да обърнете инженер на кариерата на вашите мечти</a><a href="/page/how-to-build-a-node-js-api-with-fastify-mongodb-docker-and-postman-2771cd/" title="Как да създадете Node.js API с Fastify, MongoDB, Docker и POSTMAN">Как да създадете Node.js API с Fastify, MongoDB, Docker и POSTMAN</a><a href="/page/how-to-transparently-use-a-proxy-with-any-application-docker-using-iptables-and-redsocks-6d88d4/" title="Как да използвате прозрачно прокси с всяко приложение (Docker), използвайки Iptables и RedSocks">Как да използвате прозрачно прокси с всяко приложение (Docker), използвайки Iptables и RedSocks</a></div></main><div class="push"></div></div><footer style="height:50px">raw3h.net<!-- --> © <!-- -->2019<!-- --> <a href="https://cs.raw3h.net/page/how-to-set-up-apache-in-macos-sierra-10-12-df7638" title="https://raw3h.net">raw3h.net</a></footer></div></div></div><script src="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js"></script><script>
                  window.cookieconsent.initialise({
                    "palette": {
                      "popup": {
                        "background": "#eaf7f7",
                        "text": "#5c7291"
                      },
                      "button": {
                        "background": "#56cbdb",
                        "text": "#ffffff"
                      }
                    },
                    "showLink": false
                  });
              </script><script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script>
                (adsbygoogle = window.adsbygoogle || []).push({
                  google_ad_client: "ca-pub-3845662922897763",
                  enable_page_level_ads: true
                });
              </script></body></html>