Як правильно встановити PHP на CentOS VPS
Динамічні сайти та програмне забезпечення, написані мовою PHP, вимагають встановлення на сервер відповідних пакетів та бібліотек. У цій статті ми розповімо, як встановити PHP на VPS під керуванням операційної системи CentOS 7. Розглянемо автоматичний та ручний способи, а також поділимося корисною інформацією з первинного налаштування вже після завершення встановлення.
Встановлення PHP на VPS автоматично
На багатьох популярних панелях управління є вбудована можливість автоматичного встановлення всіх ключових компонентів LAMP:
- веб-сервера Apache;
- системи управління базами даних MariaDB/MySQL;
- мови програмування PHP.
Інтерфейс і розташування різних меню на всіх ПУ відрізняються, а на деяких передбачений тільки ручний спосіб установки через консоль, так що все індивідуально. Як правило, на етапі створення сервера через панель управління ви зможете вибрати додаткове програмне забезпечення – у тому числі PHP.
Якщо панель керування дозволяє автоматично встановити PHP на CentOS 7 без зайвих танців з бубном, то обов'язково скористайтеся цією можливістю, тому що при ручному способі можуть виникнути складності.
Встановлення PHP на VPS з CentOS 7 вручну
Основна складність полягатиме в тому, що на офіційних репозиторіях містяться лише старі версії мови PHP. Ці версії часто необхідні для забезпечення роботи іншого ПЗ. Як наслідок, оновившись до найактуальнішої версії PHP 7.4, що вийшла в реліз у 2019 році, ви можете зіткнутися із проблемними оновленнями. Наприклад, кілька років тому подібні нюанси виникали під час оновлення PhpMyAdmin. На сьогоднішній день проблема усунута, і все популярне програмне забезпечення працює стабільно, тому що з моменту релізу версії 7.4 пройшло вже більше 3-х років.
Для ручної установки можна використовувати будь-які зручні репозиторії, але ми рекомендуємо Epel, Remi або Webtatic. За замовчуванням у вас вже можуть бути підключені деякі з них, тому спочатку перевіримо їх список:
yum repolist
Консоль виведе вам інформацію про всі підключені репозиторії, а при необхідності ви зможете підключити нові.додати Remi, вводимо:
yum install epel-release
І потім:
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Однак цього недостатньо, щоби репозиторій почав працювати, потрібно ще відредагувати його конфіг через редактор nano, знайти рядок «enabled=0» і змінити значення на 1. Не забудьте зберегти зміни. Після цих маніпуляцій установка PHP робиться елементарною командою:
yum --enablerepo=remi-php74 install php
В результаті цих дій ви встановите на VPS/VDS пакети та програмне забезпечення для роботи з PHP. Також підійде команда:
yum install -y php
Слідом встановлюємо пакет популярних модулів для PHP, тому що вони можуть бути необхідні для деякого софту:
yum install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd
Після цього перезавантажуємо сервер командою:
systemctl restart httpd
Коли сервер назад завантажиться, ви зможете розпочати подальше налаштування програмного забезпечення.
Налаштування ПЗ на VPS з CentOS
При первинному налаштуванні потрібно запустити скрипт для MySQL:
sudo mysql_secure_installation
Перед вами з'явиться меню з налаштуваннями у форматі запитань та відповідей. Програма запитає, чи є у вас пароль доступу до рівня root, але цей крок можна сміливо пропускати, оскільки поки що у нас його немає. Ви повинні вказати новий пароль для MySQL MySQL, а потім оновити привілеї.
Після цього приступаємо до налаштування сервера на CentOS з PHP. Відкриваємо конфігураційний файл за допомогою редактора nano: sudo nano/etc/php.ini. Тут потрібно змінити задані за умовчанням ліміти, щоб забезпечити можливість роботи з даними великого обсягу. Ось потрібні нам параметри:
memory_limit = 128M post_max_size = 64M upload_max_filesize = 64M
Якщо для ваших завдань цього недостатньо, встановлюйте стільки, скільки потрібно. Після внесення змін зберігаємо та закриваємо файл.
Тепер переходимо в файл конфігурації веб-сервера Apache, він знаходиться в директорії sudo nano /etc/httpd/conf/httpd.conf. Тут необхідно змінити деякі індекси:
<IfModule dir_module> DirectoryIndex index.html index.htm index.php </IfModule>
Знайдіть модуль і встановіть для параметра AllowOverride значення «All». Тепер ваш сервер зможе виконувати директиву .htaccess для тих процесів, які необхідні для безпечної роботи веб-сайтів.
Далі вирушаємо в директорію sudo nano /etc/httpd/conf.d/welcome.conf, в цій конфізі необхідно відключити тестовий віртуальний хост – для цього коментуємо всі рядки, ставлячи перед кожною з них мітку #.
Приступаємо до створення віртуального хоста. Для цього створюємо конфіг:
sudo nano /etc/httpd/conf.d/name.conf
«Name» ви можете замінити будь-якою іншою відповідною назвою, важливо лише, щоб файл мав вказане розширення. Тепер відкриваємо новий конфіг і вставляємо в нього наступну інформацію:
<VirtualHost *:80> ServerName hostzealot.ru DocumentRoot /var/www/domain.com ErrorLog /var/log/domain.com/error.log CustomLog /var/log/domain.com/access.log common <Directory /var/www/domain.com> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Тільки замість hostzealot.ru ви пишете своє доменне ім'я не переплутайте. Внесені зміни підтверджуємо та повертаємося до консолі. Раніше в конфізі ми прописали шлях для збереження ліг, але сам підкаталог поки ще не існує. Створюємо його:
sudo mkdir /var/log/вашдомен.com
Далі створюємо тест-сторінку нашого сайту:
sudo nano /var/www/вашдомен.com/index.php
І всередину цього файлу розміщуємо три рядки:
<?php phpinfo(); ?>
Зміни підтверджуємо та виходимо з редактора. Перезапускаємо VPS:
sudo service httpd restart
В результаті всіх наших дій PHP та веб-сервер Apache почнуть працювати, що ви легко зможете зрозуміти по роботі тестової сторінки. Коли ви спробуєте звернутися до сервера IP, то отримаєте помилку доступу, а ось при вході через домен потрапите на сторінку конфігурації PHP. Все працює, але тестову сторінку потрібно видалити з метою безпеки:
sudo rm -f /var/www/вашдомен.com/index.php
Фінальним акордом налаштування PHP на VPS під CentOS стане встановлення веб-програми phpMyAdmin. Після цього ви зможете розробляти сайти та програми на мові php. На цьому ми закінчуємо наш матеріал, якщо залишилися питання – звертайтесь до наших спеціалістів за вказаними на сайті номерами телефонів, або пишіть у Livechat.