Установка з вихідних джерел та налаштування 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.