Как установить стек LEMP на Ubuntu 20.04
Этот гайд покажет вам, как установить набор программ, известный как стек LEMP (Nginx, MariaDB и PHP 7.4) на Ubuntu 20.04. Программный стек — это просто группа программ, которые работают вместе. LEMP состоит из Linux, NGINX, MariaDB/MySQL и PHP. Все эти компоненты имеют открытый исходный код и бесплатны для использования. Этот набор программ является одним из наиболее популярных и поддерживает создание динамических веб-сайтов и веб-приложений. Linux — это операционная система; NGINX — это веб-сервер; MariaDB/MySQL — это сервер базы данных, а PHP — это серверный язык программирования, используемый для создания динамических веб-страниц.
Обновление пакетов программного обеспечения
Перед тем, как мы установим стек LEMP, рекомендуется обновить хранилище и программные пакеты, сделав следующие шаги:
apt update && apt upgrade
Мы не обновлялись, поэтому переходим к следующему шагу без промедления.
Установка веб сервера NGINX
NGINX — это мощный веб-сервер, который пользуется большой популярностью в наше время. Его также можно использовать как обратный прокси-сервер и сервер кэширования. Введите следующую команду для установки веб-сервера NGINX:
apt install nginx
После установки NGINX мы можем настроить его для автоматического запуска при загрузке системы, просто выполните следующую команду:
systemctl enable nginx
После этого запустите NGINX с помощью данной команды:
systemctl start nginx
Теперь убедитесь, что он работает, проверьте его состояние:
systemctl status nginx
«Enabled» означает, что автозапуск при загрузке включен, и мы видим, что NGINX работает. Также вы можете узнать, сколько оперативной памяти использует NGINX из вывода. Если команда выше не завершается сразу после запуска, просто нажмите «q«, чтобы выйти.
Проверьте, какая версия NGINX установлена:
nginx -v
Мы имеем установленную версию:
root@firstbyte:~# nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
Теперь введите IP-адрес вашего сервера в адресной строке браузера. Если вы видите веб-страницу с надписью «Welcome to nginx!«, значит, веб-сервер NGINX работает правильно.
В конечном итоге, нам необходимо сделать пользователя www-data (пользователя NGINX) владельцем папки для веб-файлов. По умолчанию она принадлежит пользователю root.
chown www-data:www-data /usr/share/nginx/html -R
Теперь мы можем безопасно загружать необходимые файлы, и они будут доступны всему миру.
Установка сервера базы данных MariaDB
MariaDB — это альтернатива MySQL. Она создана бывшими разработчиками из команды MySQL, которые беспокоятся о том, что Oracle может изменить MySQL, сделав его продуктом с закрытым исходным кодом. Чтобы установить MariaDB, введите следующую команду:
apt install mariadb-server mariadb-client
Давайте подтвердим, что мы хотим установить это программное обеспечение, и дождемся несколько минут, пока установка завершится:
После установки, сервер MariaDB должен автоматически запуститься. Используйте команду systemctl для проверки его статуса:
systemctl status mariadb
Если сервер не запущен, запустите его с помощью этой команды:
systemctl start mariadb
Для того чтобы настроить автоматический запуск MariaDB при загрузке операционной системы, используйте следующую команду:
systemctl enable mariadb
Теперь выполните скрипт безопасности после завершения установки.
mysql_secure_installation
Когда система запросит вас ввести пароль root для MariaDB, просто нажмите клавишу Enter, так как пароль root еще не установлен. Затем введите «Y«, чтобы установить пароль root для сервера MariaDB.
После этого вы можете просто нажать Enter, чтобы ответить на все оставшиеся вопросы. Это приведет к удалению анонимного пользователя, отключению удаленного входа в систему root и удалению тестовой базы данных. Этот шаг крайне важен для обеспечения безопасности базы данных MariaDB.
По умолчанию, в Ubuntu пакет MariaDB использует аутентификацию через unix_socket, что позволяет использовать имя пользователя и пароль операционной системы для входа в консоль MariaDB. Таким образом, вы можете выполнить следующую команду для входа без указания пароля root MariaDB.
mariadb -u root
mariadb -u root
Чтобы выйти из консоли MariaDB, просто введите эту команду:
exit;
Проверьте информацию о версии сервера MariaDB:
mariadb —version
Как вы можете заметить, мы установили MariaDB версии 10.3.38.
Установка PHP
PHP 7.4 — это последняя стабильная версия PHP для Ubuntu 20.04, и она немного производительнее по сравнению с PHP 7.3. Введите следующую команду, чтобы установить PHP 7.4 и некоторые распространенные модули PHP:
apt install php7.4 php7.4-fpm php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl
Обычно для управления контентом (CMS), таких как WordPress, требуются дополнительные расширения PHP. Например, если у вас отсутствует расширение php7.4-xml, то некоторые страницы вашего сайта WordPress могут отображаться пустыми, и вы можете найти соответствующую ошибку в логах ошибок NGINX.
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function xml_parser_create()
Установка этих дополнений PHP обеспечит непрерывную работу вашей CMS. Теперь запустите php7.4-fpm.
systemctl start php7.4-fpm
Также рекомендуется настроить автоматический запуск при загрузке:
systemctl enable php7.4-fpm
После этого мы можем проверить его текущее состояние:
Если после запуска команды вы не видите немедленного завершения выполнения, просто нажмите клавишу «q«, чтобы выйти из режима ожидания.
Как создать серверный блок NGINX
Конфигурационный блок сервера NGINX аналогичен виртуальному хосту в Apache. Мы не будем использовать стандартный конфигурационный блок сервера, потому что он не подходит для запуска PHP-кода, и изменение его может вызвать проблемы. Поэтому удалите символическую ссылку default из папки sites-enabled, выполнив следующую команду: (Однако он по-прежнему доступен по пути /etc/nginx/sites-available/default.)
rm /etc/nginx/sites-enabled/default
Затем откройте текстовый редактор командной строки «nano«, чтобы создать новый файл конфигурации сервера в директории /etc/nginx/conf.d/.
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/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # disable access to hidden files location ~ /\.ht { access_log off; log_not_found off; deny all; } }
Чтобы сохранить файл, нажмите комбинацию клавиш CTRL+X, а затем клавишу Enter.
Далее протестируйте конфигурацию NGINX:
nginx -t
Если тест завершился успешно, перезапустите NGINX:
systemctl restart nginx
Протестируйте PHP
Чтобы проверить работу PHP-FPM с веб-сервером NGINX, нужно создать файл info.php в корневой папке, где обычно располагаются файлы вашего сайта.
Добавьте следующий PHP-код в файл:
<?php phpinfo(); ?>
Сохраните файл, нажмите комбинацию клавиш CTRL+X, а затем нажмите клавишу Enter.
Теперь откройте страницу с информацией, перейдя по ссылке:
http://IP-АДРЕС/info.php
Поздравляю! Вы успешно установили NGINX, MariaDB и PHP 7.4 на Ubuntu 20.04. Для повышения безопасности вашего сервера рекомендуется удалить файл info.php прямо сейчас, чтобы предотвратить его просмотр злоумышленниками.
rm /usr/share/nginx/html/info.php
Превосходно! Теперь только вы и ваша команда будете знать о точной конфигурации вашего веб-сервера и PHP.
Заключение
Мы надеемся, что наше руководство было для вас полезным и помогло освоить установку LEMP на вашем сервере с операционной системой Ubuntu 20.04.
Стабильные.
В рублях.
Не зависят от $ и €.
Мы ♥ !
Скидка при оплате за год!
Договор и полный комплект бухгалтерских документов по почте.