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

centos

suPHP – це інструмент для виконання скриптів PHP з правами їх власників, а не користувача Apache. За допомогою suPHP ви також можете використовувати PHP4 та PHP5. У цій темі «Установка Apache, PHP із suPHP на CentOS/RedHat/Fedora» показано, як встановити та використовувати suPHP з PHP4 та PHP5.

suPHP інтегрується в Apache2 як модуль.

У цій статті "Установка Apache, PHP з suPHP на CentOS/RedHat/Fedora" я розповім як виконати установку та налаштування:

  1. Apache.
  2. PHP та деяких потрібних пакетів.
  3. 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» завершена.