Сървър Apache и PHP в macOS v11.6 Big Sur и v12.0.1 Monterey

Страницата е създадена на:26 септември 2021 и редактирана на: 8 ноември 2021

Съдържание

Интернет сървър Apache Някои настройки Потребителя на сървъра Директория DocumentRoot Виртуален хостинг Скриптов език за програмиране PHP

Интернет сървър Apache

Apache(колекция връзки)

В macOS Big Sur и Monterey има системно вграден сървър Apache. Направени промени в конфигурацията на сървъра при надграждане към нова версия на macOS се заличават, така че преди надграждане е добре да се предприемат мерки за запазване на променените конфигурационни файлове.

Стартиране, спиране или рестартиране на Apache се извършва с команди от терминал, съответно:

sudo apachectl start
sudo apachectl stop
sudo apachectl restart

Къде се намират някои конфигурационни файлове се вижда с команда:

httpd -V

След промени в някои от конфигурационните файлове, тяхната коректност се проверява с команда:

httpd -t

а за да влязат в сила промените сървърът се рестартира.

Къде Apache записва своите log файлове се разбира от настройката ErrorLog, дефинирана във файл httpd.conf.

Някои настройки

Потребителя на сървъра

По подразбиране, настройката на потребителя, в ролята на който функционира Apache, e:

User _www
Group _www

В много случаи би било по-подходящо сървърът да работи в ролята на текущия потребител и посочените два реда да се променят на:

User имеНаПотребител
Group staff

Директория DocumentRoot

По подразбиране настройката е:

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">

но посочената директория се намира в системната част от файловата система на комютъра и не е удобна за отваряне и редактиране. Промяна на директория /Library/WebServer/Documents с достъпна за редактиране от текущия потребител директория (например: /Users/имеНаПотребител/Sites) може да е за предпочитане.

Виртуален хостинг

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

За да се активира тази възможност във файл: httpd.conf се премахва знака # пред реда:

#Include /private/etc/apache2/extra/httpd-vhosts.conf

което означава, че при стартиране, сървърът ще чете настройки и от посочения файл httpd-vhosts.conf. Такъв файл съществува и в него има настройки за един примерен сайт. Тези настройки непременно трябва да се редактират, за да съответстват на ситуацията на конкретния компютър и сайтове. Освен това, за да може да се отворят хостваните на локалната машина сайтове трябва да се посочи техния IP адрес 127.0.0.1 във файл /etc/hosts. За домейни на такива сайтове може да се задават кратки низове, като na, oa, dp и др., за да може бързо да се изписват в адресната лента на браузъра и да се изпробват. Трябва да се има предвид, че браузърите възприемат такива низове, като думи по които трябва да извършат търсене и ако не се допълнят с наклонена черта (na/, oa/, dp/) вместо хоствания сайт ще се покаже резултат от търсене в Интернет на съответната дума.

Скриптов език за програмиране PHP

В macOS Big Sur има инсталирана и версия на php 7.3. Нейното наличие се установява с команда от Terminal:

php -v

която извежда съобщение, че php в момента има само с цел осигуряване на съвместимост с по-стар софтуер, но в бъдещи версии на macOS ще бъде премахнат. Под съобщението се показва и номера на версията.

За да се ползва наличната версия на php от Apache сървъра трябва във файл httpd.conf да е откоментиран реда:

LoadModule php7_module libexec/apache2/libphp7.so

Във версия 12.x.x Monterey на macOS на мястото на този ред стои коментар:

#PHP was deprecated in macOS 11 and removed from macOS 12

Така че в тази система, ще трябва да се инсталира PHP.

Различни версии на PHP могат да се инсталират с Homebrew, съответно с команди:

brew install php   - инсталира текущо най-новата версия, поддържана от homebrew
brew install shivammathur/php/php@5.6
brew install shivammathur/php/php@7.0
brew install shivammathur/php/php@7.1
brew install shivammathur/php/php@7.2
brew install shivammathur/php/php@7.3
brew install shivammathur/php/php@7.4
brew install shivammathur/php/php@8.0

Коя версия е активна на системно ниво се вижда с команда:

php -v

Ползване на една от инсталираните версии на системно ниво се задава с команда, например:

brew unlink php && brew link --overwrite --force php@5.6

За да се ползва от Apache конкретна версия на PHP трябва да се активира съответния модул чрез добавяне на ред текст в конфигурационния файл httpd.config, например:

LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so

а за да се изпълни файл index.php в директориите, в които има такъв, това име на файл трябва да се добави в частта:

<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

Също така, трябва да се укаже, че .php файловете са файлове от MIME тип(колекция връзки) приложения на език PHP, чрез добавяне на редове:

<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>

 

Copyright CC BY-ND 4.0.
Посещения на страницата: общо 62 днес 0
Направено с MyCMS.