Установка Apache, PHP з suPHP на CentOS

suPHP – це інструмент для виконання скриптів PHP з правами їх власників, а не користувача Apache. За допомогою suPHP ви також можете використовувати PHP4 та PHP5. У цій темі «Установка Apache, PHP із suPHP на CentOS/RedHat/Fedora» показано, як встановити та використовувати suPHP з PHP4 та PHP5.
suPHP інтегрується в Apache2 як модуль.
У цій статті "Установка Apache, PHP з suPHP на CentOS/RedHat/Fedora" я розповім як виконати установку та налаштування:
- Apache.
- PHP та деяких потрібних пакетів.
- suPHP.
Крім того, я поясню, як:
- Налаштувати apache для запуску віртуальних хостів для обраних користувачів.
- Налаштувати PHP для роботи з користувачами віртуального хоста (suPHP).
Предустановка.
Якщо користувач і група не існує, ми можемо створити їх таким чином:
Далі, виставляємо права на файл index.php (пермішени та власника):
Встановлення Apache.
1) Встановлення веб-сервера - Apache (httpd):
Параметр "-у" пропускає питання на підтвердження установки.
2) Запускаємо сервер:
3) Тестуємо, чи працює веб-сервер HTTP (одним із методів):
Якщо ваш апач не на localhost, то змініть команду.
Налаштування конфігураційного файлу Apache
Я використовував конфігурацію за умовчанням, і нічого не правил там.
Встановлення PHP та його пакетів
Ось деякі основні PHP пакети, які ви, можливо, захочете встановити їх:
Потім встановіть mod_suphp, щоб мати можливість працювати PHP для кожного користувача, але для початку підключіть репозиторій RPMForge:
Виключимо (вимкнемо) репозиторій RPMForge зстандартного (якщо ви залишите його увімкненим, то він може пошкодити вашу систему).
Установка mod_suphp через yum з rpmforge репозиторію:
!! ДУЖЕ ВАЖЛИВО!! : Виправте PHP обробник:
Якщо ви не виконаєте команду що вище (заміну з "x-httpd-php=php:/usr/bin/php" на "x-httpd-php="php:/usr/bin/php-cgi")), то ви отримаєте такі помилки:
Переконайтеся, що PHP і завантажується за допомогою FastCGI, а не через «Apache 2.0 Handler». Ви можете побачити цю інформацію через сторінку phpinfo.
Після встановлення потрібно відредагувати конфігураційний файл suphp:
Наступним кроком варто внести зміни для обробки PHP і для цього потрібно відредагувати:
І закоментуйте або видаліть все, крім наступного тексту (потрібно додати саме його):
Також потрібно перевірити, щоб не були прописані наступні рядки:
Закоментуйте їх, як у мене.
Додайте наступні зміни до файлу /etc/php.ini:
І додаємо, якщо таких параметрів немає:
Додавання віртуального хоста в Apache
Ця конфігурація створює віртуальний хост для користувача suphp_admin з доменом linux-notes.org та www.linux-notes.org та його групою suphp_group. Налаштуйте імена користувача та домени на розсуд.
Відкриваємо/створюємо віртуальний хост:
І додаємо віртуальний хост:
Тестуємо PHP з suPHP
Відредагуємо файл, розташований у папці користувача, в даному прикладі, користувач invision:
Нарешті відкриваємо свою сторінку для якого створили віртуальний хост Apache, наприклад:
Сторінка має вивести ім'я користувача від якого запускається цей PHP скрипт:
Якщо він виводить Apache, то щось не так із конфігурацією suPHP.
Обробка помилок та лог-файли
Як правило, suPHP покаже таке:
На цьому, у мене все, тема «Установка Apache, PHP із suPHP на CentOS/RedHat/Fedora» завершена.