Установка LEMP-стека с php8.3 на Ubuntu 24

Это обновлённая версия этой статьи для Ubuntu 20.04 LTS

Из этого мануала вы узнаете как установить Nginx, MariaDB и PHP8.3 на Ubuntu 22.04. Данный материал может быть применен как для выделенного сервера, так и для локального компьютера. PHP версии 8.3 доступен в Ubuntu 24 и содержит улучшения производительности и безопасности.

Требования

Данный материал применим к любой машине с установленной Ubuntu 24. 

Шаг 1. Обновление и подготовка

Перед обновлением хорошим тоном будет обновить существующие приложения в системе.

sudo apt update

Внимание: при установке пакетов приложений описанных ниже, если каким-то образом автозагрузка для них не включилась (при вызове systemctl status package_name в строке Loaded написано Disabled), то следующая команда исправит это

systemctl enable package_name

Если так же по какой-то причине после установки приложение не запустилось, то для запуска выполните

systemctl start package_name

Теперь можно приступить к установке

Шаг 2. Установка Nginx

Nginx — это высокопроизводительный веб-сервер, очень популярный в настоящее время. Он также может использоваться в качестве обратного прокси и кэширующего сервера. Введём следующую команду, чтобы установить его

sudo apt install nginx

Проверим версию:

nginx -v

Вывод должен быть таким

nginx version: nginx/1.24.0 (Ubuntu)

Теперь можно в адресной строке браузера ввести IP-адрес вашей машины и попасть на стартовую страницу веб-сервера.

Наконец нужно сделать пользователя www-data владельцем директории в которой лежат web-файлы.

sudo chown www-data:www-data /usr/share/nginx/html -R

Шаг 3. Установка сервера баз данных MariaDB

MariaDB является полной заменой MySQL. Он разработан бывшими членами команды MySQL, которые обеспокоены тем, что Oracle может превратить MySQL в продукт с закрытым исходным кодом. Введите следующую команду, чтобы установить MariaDB в Ubuntu 24.04.

sudo apt install mariadb-server mariadb-client

После установки сервер должен автоматически запуститься. Используйте первый пункт статьи если это не так.

Теперь выполним скрипт настройки безопасности sql-сервера

sudo mysql_secure_installation

При запросе пароля для root просто нажмите Enter, поскольку пароль для рута еще не установлен. Затем нажмите y, чтобы установить его

Далее, нужно нажимать Enter, чтобы ответить на возникающие вопросы, такие как удаление анонимных пользователей, отключение удалённого входа для root и удаление тестовой базы данных. После ещё раз нажмите Enter чтобы применить настройки. Это базовые шаги для безопасной настройки сервера MariaDB. (Заметьте,  что по-умолчанию выбран вариант ответа Y, то есть положительный).

По-умолчанию, MariaDB использует Unix-сокет, для аутентификации пользователей. По-простому это означает, что можно использовать логин и пароль в системе, чтобы войти в консоль MariaDB.

Для проверки корректности установки сервера, введите:

mariadb --version
mariadb  Ver 15.1 Distrib 10.11.8-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

Шаг 4. Установка php8.3

php8.3 включен в основной репозиторий Ubuntu 24 и для его установки введите следующую команду.

sudo apt install php8.3 php8.3-fpm php8.3-mysql php-common php8.3-cli php8.3-common php-json php8.3-opcache php8.3-readline php8.3-mbstring php8.3-xml php8.3-gd php8.3-curl

После установки php8.3-fpm должен автоматически запуститься. Используйте первый пункт статьи если это не так.

Шаг 5. Создание блока server в Nginx

Блок в Nginx — как виртуальный хост в Apache. Использовать установленный по-умолчанию не будем, поскольку в нём не прописана поддержка php, поэтому создадим свой. Так что удалим дефолтную ссылку на этот файл. (сам файл останется нетронутым и будет лежать в /etc/nginx/sites-available/)

sudo rm /etc/nginx/sites-enabled/default

Затем создадим новый блок в новом файле, находящимся в директории /etc/nginx/conf.d/

sudo nano /etc/nginx/conf.d/default.conf

Вставьте нижеследующий текст в новый файл. В нём указано, что Nginx будет слушать 80 порт и будет откликаться на любые запросы.  

server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html/;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ /index.php;
}
location ~ .php$ {
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
location ~ /.ht {
deny all;
}
}

Сохраните и закройте файл. Затем протестируйте новую конфигурацию Nginx.

sudo nginx -t

Если тест прошёл успешно, то перезагрузите Nginx

sudo systemctl reload nginx

Шаг 6 (необязательный). Проверка PHP

Для тестирования создадим файл в директории web-файлов Nginx. 

sudo nano /usr/share/nginx/html/info.php

И вставим такой текст

<?php phpinfo(); ?>

Сохраним и выйдем из редактора.

Теперь заходим на http://ваш_IP/info.php

Если всё было выполнено правильно, то будет отображена подробная информация о вашем сервере, в том числе и версии php на нём. 

Страница проверки версии php

Поздравляем! Вы успешно установили Nginx, MariaDB и PHP8.3 на Ubuntu 24.04. Для безопасности удалим файл info.php, чтобы не «светить» своей информацией.

sudo rm /usr/share/nginx/html/info.php

Вот и всё! Надеюсь этот туториал вам помог и вы успешно установили LEMP-стек на Ubuntu 24.04.

Подписаться
Уведомить о
guest

0 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии