Apache 2.x на Unix системах
 
 
  Цей розділ містить замітки та підказки щодо встановлення Apache 2.x з PHP в
  системи Unix.
 
 УвагаМи не рекомендуємо
використовувати потоковий MPM у виробничому середовищі з Apache 2.
Замість нього краще обрати prefork MPM, який початково йде з Apache 2.0 та 2.2.
Докладніше — у розділі Apache 2 з
потоковим MPM
 
     
 
  » Документація на сайті Apache
  є найбільш авторитетним джерелом інформації про сервер Apache 2.x.
  Там можна знайти більше інформації про параметри його інсталяції.
 
 
 
  Найновішу версію HTTP-сервера Apache можна отримати на
  » сторінці завантаження Apache.
  Також треба завантажити потрібну версію PHP (див. навігаційну панель вгорі).
  Тут є лише короткий опис базового встановлення Apache 2.x та PHP. Детальнішу
  інформацію можна прочитати в
  » Документації Apache.
  Зазначення конкретного номера версії навмисно оминається, щоб не плутати
  користувачів наведених тут інструкцій. Внизу в прикладах, 'NN' потрібно
  замінити версією Apache, яка буде використовуватись.
 
 
 
  На даний момент є дві версії Apache 2.x - це 2.2 та 2.4.
  Хоча є певні причини для вибору однієї чи іншої версії, але 2.4 є зараз
  найновішою та рекомендованою. Тим не менш, наведені тут інструкції мають
  працювати для обох версій. Варто зазначити, що Apache httpd 2.2 офіційно не
  підтримується і для нього не випускаються нові розробки чи виправлення.
 
 
 
  - 
   
    Завантаживши HTTP-сервер Apache за посиланням вище, його необхідно
    розпакувати:
    
- 
   
    Таким же способом необхідно розпакувати файли з початковим кодом PHP:
    
- 
   
    Далі потрібно зібрати та встановити Apache. Докладніші рекомендації є в
    документації щодо встановлення Apache.
    
- 
   
    Тепер Apache 2.x.NN доступний за адресою /usr/local/apache2, зі
    встановленим стандартним модулем MPM prefork та конфігурацією, яка дозволяє
    додавати інші потрібні модулі. Для перевірки інсталяції використовується
    звичайна процедура запуску сервера Apache, наприклад:
     далі треба зупинити сервер, щоб перейти до налаштування PHP:
- 
   
    Тепер треба налаштувати та зібрати PHP. Наприклад, визначити, які саме
    розширення будуть включені в PHP. Для перегляду списку доступних
    параметрів необхідно запустити ./configure --help. В
    цьому прикладі виконується проста конфігурація Apache 2 з підтримкою MySQL.
    
    Якщо Apache було зібрано вручну, як описано вище, в наступному прикладі
    шлях буде відповідати розташуванню apxs, але якщо Apache
    встановлено по-іншому, то потрібно змінити шлях до apxs.
    Варто зауважити, що деякі дистрибутиви можуть перейменувати
    apxs на apxs2.
    
    Для зміни конфігурації після інсталяції, потрібно заново виконати кроки:
    configure, make та make
    install. Після цього перезапустити Apache, щоб зміни були
    застосовані. Перекомпільовувати Apache не потрібно.
    
    Варто зауважити, що якщо не сказано іншого, то команда make
    install також встановлює
    » PEAR, різноманітні інструменти
    PHP, як от phpize, PHP CLI та
    інші.
    
- 
   
    Налаштування php.ini.
    
    Можна редагувати файл .ini, додаючи потрібні опції PHP.
    Для розміщення php.ini в іншому місці
    використовується опція--with-config-file-path=/some/pathна 5-му кроці.
 
    Якщо буде обрано php.ini-production, краще прочитати
    список відмінностей між файлами .ini, щоб розуміти як це
    вплине на поведінку PHP.
 
- 
   
    Відредагуємо httpd.conf, щоб завантажувався модуль
    PHP. Шлях, який зазначено праворуч від оператора
    LoadModule, повинен вказувати на розташування модуля PHP
    у системі. Згадана раніше команда make install повинна
    це робити, але краще перевірити.
 
- 
   
    Скажемо Apache обробляти файли з певним закінченням через PHP. Наприклад, з
    .php. Замість того, щоб використати лише директиву
    ApacheAddType, краще не дати обробити через PHP
    потенційно небезпечні завантаження та створені файли на кшталт
    exploit.php.jpg. Використовуючи наступний приклад,
    можна додати будь-яке (і не одне) закінчення, яке потрібно обробляти через
    PHP. Тут.phpвказано суто для прикладу.
 
    Або ж, якщо треба дозволити PHP обробляти файли .php,.php2,.php3,.php4,.php5,.php6та.phtml, але ніякі інші,
    то можна використати такий код:
 
    Для обробки .phpsчерез "php source filter" з метою
    показувати їх вміст з підсвічуванням синтаксису, використовується таке:
 
    Можна використовувати модуль mod_rewrite, щоб дозволити
    показувати початковий код з підсвічуванням синтаксису в файлах із
    закінченням.phpбез необхідності переназивати їх чи
    копіювати їхній код до файлів.phps:
 
    Не слід вмикати "php source filter" у виробничому середовищі, де він може
    розкрити конфіденційну або іншу важливу інформацію, розміщену в коді.
    
- 
   
    Краще застосовувати стандартну процедуру запуску сервера Apache:
    АБО: 
  Дотримуючись зазначених вище кроків можна запустити вебсервер Apache2 з
  підтримкою PHP як модуля SAPI. Звичайно, є значно більше
  параметрів, доступних для Apache та PHP. Більше інформації можна отримати,
  ввівши в консолі ./configure --help в кореневих теках
  початкових файлів.
 
 
  Apache можна зробити багатопотоковим, вибравши worker
  MPM замість стандартного prefork MPM під час збирання
  Apache, додавши наступний параметр до ./configure на 3-му
  кроці:
 
 
 
  Не варто бездумно використовувати цю опцію, а тільки, якщо відомо про всі
  наслідки такого рішення. В документації для Apache стосовно
  » модулів MPM значно детальніше
  розкрита ця тема.
 
 Зауваження: 
  
   У розділі ЧаПи про Apache
   MultiViews обговорено використання цієї опції разом з PHP.
  
 
 Зауваження: 
  
   Щоб зібрати версію багатопотокового Apache, цільова система повинна мати
   підтримку потоків. В такому разі PHP потрібно також збирати з Zend Thread
   Safety (ZTS). Цю конфігурацію підтримують не всі розширення. Рекомендовано
   встановлювати Apache зі стандартним модулем prefork MPM.