Это обновлённая версия этой статьи для 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 на нём.
Поздравляем! Вы успешно установили Nginx, MariaDB и PHP8.3 на Ubuntu 24.04. Для безопасности удалим файл info.php, чтобы не «светить» своей информацией.
sudo rm /usr/share/nginx/html/info.php
Вот и всё! Надеюсь этот туториал вам помог и вы успешно установили LEMP-стек на Ubuntu 24.04.