Установка з вихідних джерел та налаштування php-cgi () з Apache База знань - Онлайн Північ

Веб-сервіси

Устаткування

Установка з вихідних джерел та налаштування php-cgi (5.3.29) з Apache

#0. Синопсис

#1. Встановлення та налаштування php з вихідного коду

Складання здійснюється з-під користувача-власника віртуального хоста, наприклад: сайт example.com, користувач exampleus, група examplegr. Створюємо директорію - куди встановлюватимемо файли нового php-інтерпретатора. Завантажуємо вихідний код php 5.3.29 із «музею» php в окрему приватну директорію, розархівуємо архів.

Вихідний код є, тепер потрібно його налаштувати для компіляції та встановлення. Як подивитися всі доступні опції збирання:

Вивчаємо конфіг, порівнюємо з вимогами та створюємо команду для складання, у мене вийшло наступне (основний префікс /usr/local/www/vhosts/example.com/private/php - директорія, куди будуть встановлені бінарні файли, бібліотеки та мани):

Уважно стежимо за процесом конфігурації, у разі помилок уважно вивчаємо config.log, що формується у процесі configure. Після налаштування складання - запускаємо компіляцію!

Тепер копіюємо бінарник у cgi-bin, звідки він буде викликатися як CGI і виставляємо правильні права та користувача: групу.

І копіюємо серверний php.ini для php-cgi, обов'язково до папки, де сидить бінарник. Якщо серверний php і новостворений php різних версій (5.2 і 5.3), як у даному випадку, конфігураційний файл php.ini слід скопіювати з вихідних php-5.3.29, з яких ми збирали бінарні файли нової версії.

Після завершення складання та встановлення - перевіримо, чи зібрався php-cgi з усіма параметрами, які нам потрібні.

У налаштування віртуального хоста (httpd.conf) або в .htaccess додаємо інструкції для обробки php-файлів нашим зновузібраним php-cgi. Нижче - два варіанти, як це можна вказати, обидва робітники.

В обох варіантах бінарник розташовується в /cgi-bin/, тому для apache потрібно створити аліас /cgi-bin/, що вказує на абсолютний шлях до директорії з php-cgi.

Через файлик .htaccess зміни підхоплюються на льоту, але зміни вносилися також конфігураційний файл httpd.conf, тому потрібно перезапуск web-сервера.

Перевіряємо, чи працює наш php як cgi (через браузер) та видаляємо вихідний код php.