Как установить Linux Nginx MySQL PHP (LEMP) на Mint 19 Tara

12 set 2022 3 min di lettura
Как установить Linux Nginx MySQL PHP (LEMP) на Mint 19 Tara
Indice dei contenuti

Введение

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

В этом руководстве мы установим LEMP на Linux Mint 19 Tara.

Установка Nginx

Официальные репозитории пакетов Linux Mint включают обновленную версию Nginx. Затем мы можем установить необходимые пакеты, используя apt.

Обновите список пакетов Linux Mint, чтобы иметь последнюю версию списков репозитория, с терминала:

sudo apt update

Чтобы установить Nginx, откройте терминал и введите следующие команды:

sudo apt install nginx

Если брандмауэр Linux Mint активен, вам необходимо включить трафик для Nginx:

sudo ufw allow 'Nginx HTTP'

На данный момент сервер готов с конфигурациями по умолчанию. Просто подключитесь к вашему общедоступному IP-адресу или локальному хосту:


http://localhost

Чтобы перезапустить Nginx:

sudo service nginx restart

Чтобы остановить Nginx:

sudo service nginx stop

Чтобы запустить Nginx:

sudo service nginx start

Установить MySQL

Вы можете установить MySQL, используя официальный репозиторий Linux Mint с помощью apt. Установите MySQL:

sudo apt install mysql-server

Защита MySQL

Запустите скрипт MySQL, чтобы изменить некоторые настройки:

sudo mysql_secure_installation

Вам будет предложено ввести пароль для пользователя root, который вы будете использовать для входа на сервер MySQL.

Введите «y» для «да» или любую другую букву для «нет».

Вас спросят, хотите ли вы проверить безопасность пароля.

Затем рекомендуется нажать «y», затем «yes».

  • Удалить анонимных пользователей
  • Удаленно отключить root-вход
  • Удалить тестовую базу данных
  • Обновите новые правила

Изменить метод аутентификации

Начиная с версии MySQL 5.7, корневой пользователь MySQL по умолчанию настроен на аутентификацию через плагин auth_socket вместо пароля.

Чтобы использовать пароль для подключения к MySQL в качестве пользователя root, вам необходимо изменить метод аутентификации с auth_socket на mysql_native_password.

Поскольку пароль еще не установлен, вы можете подключиться к серверу MySQL, просто используя команду mysql или sudo mysql, если вы вошли в систему как обычный пользователь. Затем вам нужно будет использовать команду mysql -u root -p от имени пользователя root, в противном случае sudo mysql -u root -p от имени обычного пользователя.

Итак, если вы вошли в систему как root, введите в терминале:

mysql

В противном случае, если вы вошли в систему как обычный пользователь с привилегиями sudo:

sudo mysql

Чтобы проверить метод аутентификации, связанный с учетными записями mysql:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Вы должны получить сообщение, подобное этому:


+------------------+-------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+-------------------------------------------+-----------------------+-----------+
 | root | | auth_socket | localhost |
 | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
 +------------------+-------------------------------------------+-----------------------+-----------+
 4 rows in set (0.00 sec)

Как видите, метод аутентификации auth_socket установлен по умолчанию для пользователя root.

Чтобы использовать аутентификацию по паролю для учетной записи root, внесите следующие изменения:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TUA_PASSWORD';
Осторожность:Your password does not satisfy the current policy requirements.этот учебник

Обновите таблицы:

FLUSH PRIVILEGES;

Теперь вы можете проверить новый метод аутентификации, связанный с пользователем root:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Вы должны получить сообщение, подобное этому:


+------------------+-------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+-------------------------------------------+-----------------------+-----------+
 | root | *E6A3377941E640ADEDCC8907E390B06B0C863862 | mysql_native_password | localhost |
 | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
 +------------------+-------------------------------------------+-----------------------+-----------+
 4 rows in set (0.00 sec)

Выйдите из приглашения MySQL:

exit;

Чтобы снова войти на сервер MySQL теперь вам нужно будет ввести пароль, затем из терминала:

Если вы вошли в систему как root, введите в терминале:

mysql -u root -p

В противном случае, если вы вошли в систему как обычный пользователь с привилегиями sudo:

sudo mysql -u root -p

установка PHP

Чтобы установить PHP из терминала:

sudo apt install php-fpm php-mysql

ВНИМАНИЕ: На момент написания PHP 7.2 является последней версией, поэтому вам может потребоваться изменить путь к файлу на версию, которую вы используете.

Чтобы сделать установку PHP более безопасной, введите следующую команду:

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

Найдите эту строку cgi.fix_pathinfo, удалите ";" и вставьте параметр "0". Следовательно:


cgi.fix_pathinfo=0

Перезапустите PHP:

sudo systemctl restart php7.2-fpm

Настройте Nginx для использования PHP:

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

ВНИМАНИЕ: На момент написания PHP 7.2 является последней версией, поэтому вам, возможно, придется изменить путь к файлу на версию, которую вы используете внутри блока location ~\.php$.

Внесите необходимые изменения, добавив: index.php местоположение ~.php $ fastcgi_pass unix: /var/run/php/php7.X-fpm.sock;.

Следовательно:


server {
 listen 80 default_server;
 listen [::]:80 default_server;
 root /var/www/html;
 index index.php index.html index.htm index.nginx-debian.html;
 server_name server_domain_or_IP;
 location /{
 try_files $uri $uri/=404;
 }
 location ~ \.php$ {
 include snippets/fastcgi-php.conf;
 fastcgi_pass unix:/run/php/php7.2-fpm.sock;
 }
 location ~ /\.ht {
 deny all;
 }
 }

Проверим правильную конфигурацию:

sudo nginx -t

Перезапустите Nginx:

sudo service nginx restart

Давайте проверим установку PHP. Создадим файл с расширением.php:

sudo nano /var/www/html/info.php

Вставьте этот код:

<?php phpinfo(); ?>

Сохраните и закройте файл.

Подключитесь к вашему общедоступному IP-адресу или локальному хосту:

http://localhost/info.php

Базовая установка и настройка веб-сервера Nginx с MySQL и PHP на Linux Mint 19 Tara завершена.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.