Как правильно установить PHP на CentOS VPS
14:07, 31.01.2022
Динамические сайты и программное обеспечение, написанные на языке 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, а затем обновить привилегии.
После этого приступаем к настройке сервера на 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.