Установка PHP 8.1 на сервере VPS с Ubuntu 22.04 и Nginx

Установка PHP 8.1 на сервере VPS с Ubuntu 22.04 и веб-сервером NginxУстановим PHP 8.1 на сервере VPS (VDS) с Ubuntu 22.04 и веб-сервером Nginx.

Перед этим необходимо добавить репозиторий. Но, перед его добавлением, устанавливаем software-properties-common — программное обеспечение, позволяющее автоматически добавлять или удалять репозитории.

1. Добавим в систему software-properties-common.

Для этого выполним команду.

sudo apt install software-properties-common

В процессе установки вас попросят согласится на выполнение операций. Необходимо нажать Y и Enter.

2. Добавим репозиторий.

sudo add-apt-repository ppa:ondrej/php

При добавлении вас попросят нажать Enter.

3. Обновим информацию о пакетах.

sudo apt update

4. Установим PHP 8.1.

sudo apt install php8.1-fpm

В процессе установки вас попросят согласится на продолжение установки. Необходимо нажать Y и Enter.

5. Проверим статус PHP.

systemctl status php8.1-fpm

Если все нормально, будет выведена строка process active и масса дополнительной информации.

6. Настраиваем безопасность PHP.

Для этого открываем на редактирование файл настроек php.ini.

sudo nano /etc/php/8.1/fpm/php.ini

В нем необходимо найти параметр cgi.fix_pathinfo, раскомментировать его и установить значение 0 (ноль). Сохраняем изменения и закрываем файл.

7. Устанавливаем дополнительные расширения PHP.

sudo apt install -y php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmatch

Все, PHP8.1 установлен в систему. Теперь его необходимо связать с Nginx и MySQL, и протестировать его работу.

8. Связка PHP и MySQL.

Если в ходе установки дополнительных расширений php был установлен php8.1-mysql, то можно считать, что PHP и MySQL уже связаны. Если это расширение по каким-то причинам не установлено, то устанавливаем его командой.

sudo apt install php8.1-mysql

9. Связка PHP и Nginx.

Открываем на редактирование  файл настроек Nginx.

sudo nano /etc/nginx/sites-available/default

Приводим его к следующему виду.

server   {

listen 80 default_server;

listen [::]:80 default_server;

root /var/www/site.com/html;

index index.php index.html index.nginx-debian.html;

server_name site.com www.site.com;

location / {

try_files $uri $uri/  /index.php?$args;

location ~ /\.ht  {

deny all;

Где site.ru имя вашего сайта, а root /var/www/site.com/html — директория, где он расположен.

Сохраняем изменения CTRL+O+Enter и выходим CTRL+X.

Позже, когда мы будем разворачивать свой сайт на сервере VPS (VDS) и создавать под него отдельный файл настроек Nginx (серверный блок), мы скопируем содержимое дефолтного файла настроек в этот отдельный новый файл. См. «Создание и настройка виртуальных хостов в Nginx».

Проверяем файл настроек на наличие ошибок.

sudo nginx -t

Если все в порядке, перезапускаем nginx.

sudo systemctl reload nginx

10. Поверяем работу PHP 8.1.

Вводим команду, создающую файл info.php с информацией о php.

sudo bash -c ‘echo»<?php phpinfo(); ?>» /var/www/site.ru/html/info.php’

Файл info.php создан, теперь выводим его в браузере. Вводим в адресной строке браузера http://site.ru/info.php

Должна открыться страница с информацией о PHP (версия и пр). Если она открылась, то все сделано правильно, php работает и связка nginx/php так же работает.

Удаляем, в целях безопасности, файл info.php.

sudo rm /var/www/site.ru/html/ihfo.php

Все, на этом установка и настройка PHP 8.1 на сервере VPS завершена.

Еще статьи по настройке VPS и Nginx

— Предварительная настройка UFW на сервере VPS Ubuntu

— Как добавить нового пользователя на сервере VPS/VDS Ubuntu?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *