Введение
LEMP — это группа программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы позволить серверу размещать динамические веб-сайты и веб-приложения. LEMP включает Nginx, MySQL, PHP.
В этом руководстве мы установим LEMP на Ubuntu 18.10.
Если вы хотите установить LEMP на удаленный сервер, продолжайте чтение, в противном случае, если вы хотите установить LEMP на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется пароль для аутентификации.
Чтобы подключиться к серверу как root, введите эту команду:
ssh root@IP_DEL_SERVER
Далее вам будет предложено ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить первый параметр:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Теперь вы подключены к своему серверу, вы готовы начать установку LEMP.
Установка Nginx
Официальные репозитории пакетов Ubuntu включают обновленную версию Nginx. Затем мы можем установить необходимые пакеты, используя apt.
Обновите список пакетов Ubuntu, чтобы иметь последнюю версию списков репозитория, с терминала:
sudo apt update
Чтобы установить Nginx, откройте терминал и введите следующие команды:
sudo apt install nginx
Если брандмауэр Ubuntu активен, вам необходимо включить трафик для 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, используя официальный репозиторий Ubuntu с помощью 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
location ~ \.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 на Ubuntu 18.10 завершена.