Как установить linux, nginx, mysql, php (lemp) в ubuntu 16.04/18.04

Установка сервера MySQL 5.7.11 на Windows 7 поэтапная инструкция

1.

Скачать MySQL 5.7.11 для Windows

Идем на вкладку MySQL Community EditionВыбираем downloads community server

При скачивании внимательно выбираем инсталлятор не путая тип системы компьютера bit-32 и bit-64 Windows 7. Хотя 32 битная программа будет работать на 64-битном процессоре.


Для скачивания выбираем MySQL Installer MSI

Для удобства из способов установки MySQL берем не ZIP архив, а MSI Installer. Это автоматический установщик, который через сеть закачает выбранные программные продукты. Недостаток файла – работает только на машинах подключенных к Интернет, компенсируется простотой установки.

Для скачивания MySQL можно нерегистрироваться

Напомню, посмотреть тип системы своей машины можно в меню Пуск→Компьютер→Свойства→Тип системы.

Проверка типа процессора на компьютере2.

Запуск инсталлятора

Скачанный exe файл проверяем на вирусы, своей антивирусной программой. Если файл брали на официальном сайте он гарантированно безопасен.

Запускаем инсталлятор MySQL3.

Побочная установка программных продуктов

Для установки сервера MySQL на компьютере должны быть установлены две обязательные программы:

  • .NET Framework 4
  • Visual Studio C++

По умолчанию Windows 7 уже укомплектован этими программами, правда версии могут быть поменьше.

При запуске инсталлятора MySQL он сообщит о необходимости установить нужные программные продукты. На сколько я помню, инсталлятор подкачает нужные программы. Если нет установите их самостоятельно. В этом нет ничего сложного, но можно почитать у меня:

  • Установить .NET Framework 4
  • Установить Visual Studio C++

4.

License Agreement

Продолжаем установку MySQL. Окно License Agreement. Это стандартное подписание лицензии.

Choosing a Setap Type

Именно на этом этапе, выбираем тип установки, вернее, устанавливаемый комплект MySQL.

  • Developer Default (MySQL Server, MySQL Workbench, Connectors в комплекте)
  • Server Only – выбираем и ставим его, только сервер.
  • Client Only
  • Full (MySQL Server, MySQL Workbench, Connectors на выбор)
  • Custom

По умолчанию СУБД будет установлена в папку: C:\Program Files\MySQL\MySQL5.7

Еще раз поясню, почему вам может пригодиться, установка Server Only. Например, вы на своем компьютере не используете Visual Studio или, изучаете язык SQL и хотите изнутри понять, как работать с базами данных из командной строки, а не «играть» в визуальные картинки.

6.

7.

Type and Networking

На локальной машине MySQL поддерживает порт TCP/IP- ставим галочку;

Обратите внимание: Если поставить галочку в строке: Open freewall port for network access (открытый порт брандмауэра для доступа к сети), то не нужно будет делать дополнительный разрешительных настроек в брандмауэре Windows 7. 9

9.

Account and Roles

Здесь нам нужно задать пароль для работы в MySQL. Не будем нарушать традиций и ставим пароль: root. Кстати, без установки пароля на следующую страницу не попасть.

Windows Server

Это окно простых настроек запуска MySQL. Если нужно, чтобы сервер запускался с запуском машины, то выделяете чекбокс, как на фото. Если хотите запускать его по необходимости, чекбокс не выделяете (лучше галочку поставить).

Здесь тормозим: Смотрим на чекбокс: Show advanced options (показать дополнительные функции).

11.

На следующей странице сервис наполнится конфигурацией, о чем сообщит зелеными галочками.

12.

Установка завершена

Всё! Установка сервера MySQL 5.7.11 на ОС Windows 7, завершена. Можно сделать копию входа в буфер обмена и положить на рабочий стол.

Step 4 — Testing MySQL

Regardless of how you installed it, MySQL should have started running automatically. To test this, check its status.

You’ll see output similar to the following:

If MySQL isn’t running, you can start it with .

For an additional check, you can try connecting to the database using the tool, which is a client that lets you run administrative commands. For example, this command says to connect as a MySQL user named sammy (), prompt for a password (), and return the version. Be sure to change to the name of your dedicated MySQL user, and enter that user’s password when prompted:

You should see output similar to this:

This means MySQL is up and running.

Step 3 — Securing MySQL

MySQL comes with a command we can use to perform a few security-related updates on our new install. Let’s run it now:

This will ask you for the MySQL root password that you set during installation. Type it in and press . Now we’ll answer a series of yes or no prompts. Let’s go through them:

First, we are asked about the validate password plugin, a plugin that can automatically enforce certain password strength rules for your MySQL users. Enabling this is a decision you’ll need to make based on your individual security needs. Type and to enable it, or just hit to skip it. If enabled, you will also be prompted to choose a level from 0–2 for how strict the password validation will be. Choose a number and hit to continue.

Next you’ll be asked if you want to change the root password. Since we just created the password when we installed MySQL, we can safely skip this. Hit to continue without updating the password.

The rest of the prompts can be answered yes. You will be asked about removing the anonymous MySQL user, disallowing remote root login, removing the test database, and reloading privilege tables to ensure the previous changes take effect properly. These are all a good idea. Type and hit for each.

The script will exit after all the prompts are answered. Now our MySQL installation is reasonably secured. Let’s test it again by running a client that connects to the server and returns some information.

Шаг 3 — Установка PHP

Поскольку Nginx не имеет встроенной поддержки обработки PHP, как некоторые другие веб-серверы, нам необходимо установить (означает “fastCGI process manager”, менеджер процессов fastCGI). Мы настроим Nginx для передачи PHP запросов этому программному обеспечению для обработки.

Установим этот модуль, а также установим дополнительный пакет, который позволит PHP взаимодействовать с MySQL. В процессе установки будут загружены основные файлы PHP. Сделаем это следующей командой:

Настройка обработчика PHP


После установки компонентов PHP настроим их для повышения безопасности нашего веб-сервера.

Откроем конфигурационный файл с привилегиями root:

Найдём в этом файле параметр . Он будет закомментирован точкой с запятой (;) и будет иметь значение “1” по умолчанию.

Эти настройки по умолчанию очень небезопасны, потому что благодаря им PHP попытается исполнить ближайший файл, который сможет найти в случае, когда запрашиваемый PHP файл не может быть найден. Это позволит пользователям сформировать PHP запросы таким образом, чтобы запускать скрипты, к которым у них не должно быть доступа.

Мы можем предотвратить такое поведение раскомментировав эту строку и изменив её значение на “0”:

/etc/php/7.0/fpm/php.ini

Сохраните и закройте документ после внесения изменений.

Теперь нам осталось перезапустить обработчик PHP:

После перезапуска наши настройки вступят в силу.

Step 3 — Testing Remote and Local Connections

Before continuing, it’s best to verify that you can connect to your database from both the local machine — your database server — and from your web server.

First, test the local connection from your database server by attempting to log in with your new account:

When prompted, enter the password that you set up for this account.

If you are given a MySQL prompt, then the local connection was successful. You can exit out again by typing:

Next, log into your web server to test remote connections:

You’ll need to install some client tools for MySQL on your web server in order to access the remote database. First, update your local package cache if you haven’t done so recently:

Then install the MySQL client utilities:

Following this, connect to your database server using the following syntax:

Again, you must make sure that you are using the correct IP address for the database server. If you configured MySQL to listen on the private network, enter your database’s private network IP. Otherwise, enter your database server’s public IP address.

You will be asked for the password for your remotewpuser account. After entering it, and if everything is working as expected, you will see the MySQL prompt. Verify that the connection is using SSL with the following command:

If the connection is indeed using SSL, the line will indicate this, as shown here:

After verifying that you can connect remotely, go ahead and exit the prompt:

With that, you’ve verified local access and access from the web server, but you have not verified that other connections will be refused. For an additional check, try doing the same thing from a third server for which you did not configure a specific user account in order to make sure that this other server is not granted access.

Note that before running the following command to attempt the connection, you may have to install the MySQL client utilities as you did above:

This should not complete successfully, and should throw back an error that looks similar to this:

This is expected, since you haven’t created a MySQL user that’s allowed to connect from this server, and also desired, since you want to be sure that your database server will deny unauthorized users access to your MySQL server.

After successfully testing your remote connection, you can proceed to installing WordPress on your web server.

Related

  • Tutorial

    MySQL is an open-source database management system, commonly installed as part of the popular LAMP (Linux, Apache, MySQL, PHP/Python/Perl) stack. It uses a relational database and SQL (Structured Query Language) to manage its data. This tutorial will explain how to install MySQL version 5.7 on an Ubuntu 18.04 server.

  • Tutorial

    Prisma is an open source database toolkit. In this tutorial, you will build a REST API for a small blogging application in TypeScript using Prisma and a PostgreSQL database. At the end of the tutorial, you will have a web server running locally on your machine that can respond to various HTTP requests and read and write data in the database.

  • Tutorial

    There are three main commands, and a set of common log locations that you can use to get started troubleshooting Apache errors. Generally when you are troubleshooting Apache, you will use these commands in the order indicated here, and then examine log files for specific…

  • Tutorial
    How To Configure Remote Access for MongoDB on Ubuntu 20.04

    This tutorial walks you through configuring a MongoDB installation to securely allow access from a trusted remote computer. This will involve updating your firewall rules to provide the remote server access to MongoDB’s default port and changing Mongo’s configuration file to update its IP binding setting.

Шаг 1 — Установка Apache и настройка файрвола

Веб-сервер Apache в настоящее время является одним из самых популярных веб-серверов в мире. Он хорошо документирован и используется значительную часть времени с момента создания сети Интернет, что делает его прекрасным выбором для хостинга веб-сайта.

Мы с легкостью можем установить Apache используя менеджер пакетов Ubuntu . Менеджер пакетов позволяет нам легко установить большую часть программного обеспечения из репозиториев Ubuntu. О том, как использовать , вы можете узнать из этой статьи.

Для начала установки выполним команды:

Поскольку мы используем команду , эти команды будут выполняться с привилегиями root. В процессе операционная система запросит ваш пароль пользователя.

После ввода пароля сообщит, какие пакеты будут установлены и сколько места они займут на диске. Нажмите Y и Enter для продолжения установки.

Настройка глобальной переменной ServerName

Далее мы добавим одну строку в для устранения предупреждений (warnings) о синтаксических ошибках. Несмотря на то, что это просто предупреждение и никакой проблемы не существует, если не задать глобальную переменную , вы будете получать следующее предупреждение об ошибке при проверке настройки конфигурации Apache:


Откройте главный конфигурационный файл в своём текстом редакторе командой:

Добавьте в конец файла переменную , указывающую на ваше основное доменное имя. Если для вашего сервера не настроено доменное имя, вы можете использовать публичный IP-адрес сервера:

Внимание

Если вы не знаете IP-адрес Вашего сервера, вы можете прочитать об этом в разделе ./etc/apache2/apache2.conf

После этого сохраните и закройте файл.

Теперь можно проверить результат напечатав следующую команду:

Поскольку мы установили глобальную переменную , вы должны увидеть вывод следующего характера:

Перезапустите Apache для применения внесённых изменений:

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

Настройка файрвола

Теперь убедимся, что ваш файрвол пропускает HTTP и HTTPS трафик. Мы будем исходить из предположения, что вы уже выполнили инструкции по первичной настройке сервера и включили файрвол UFW. Для начала убедимся, что UFW имеет профиль для Apache следующей командой:

Проверим настройку профиля , она должна разрешать трафик для портов 80 и 443:

Разрешим входящий трафик для этого профиля:

Проверить результат установки можно набрав в вашем веб-браузере публичный IP адрес вашего сервера (если вы еще не знаете, как найти публичный IP адрес вашего сервера, смотрите следующий раздел этой статьи):

Вы увидите страницу Apache, отображаемую по умолчанию для информации и целей тестирования. Она должна выглядеть похожим образом:

Если вы видите эту страницу, ваш веб-сервер корректно установлен и доступен через файрвол.

Как найти публичный IP адрес вашего сервера

Если вы не знаете публичный IP адрес вашего сервера, его можно определить несколькими способами. Обычно, это адрес, который вы используете для соединения с вашим сервером по SSH.

Определить этот адрес можно с помощью командной строки. Сначала используйте инструмент для получения вашего адреса набрав следующую команду:

Результатом выполнения этой команды будет одна или две строки, содержащие корректный адрес. Ваш компьютер, возможно, сможет использовать только один из них, поэтому попробуйте каждый вариант.

В качестве альтернативы можно узнать, как видит ваш сервер. Это можно сделать следующим образом:

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

1: Установка MySQL

Установить MySQL можно двумя способами:

  • Загрузить из репозитория APT стандартную версию (5.5 или 5.6).
  • Установить последнюю версию (5.7), которая на данный момент не доступна в стандартных репозиториях.

Чтобы понять, какая версия вам больше подходит, прочитайте описание версий на сайте программы:

  • MySQL 5.5
  • MySQL 5.6
  • MySQL 5.7

Если вы не можете определиться с версией, просто используйте пакет mysql-server, который установит последнюю доступную версию для текущей системы.

Программа предложит установить root-пароль. Выберите надёжный пароль и установите его.

Установка MySQL 5.5 или 5.6

Сначала обновите индекс пакетов:

Чтобы установить MySQL 5.5:

Чтобы установить MySQL 5.6:

После запуска любой из этих команд программа предложит выбрать root-пароль.

Установка MySQL 5.7

Чтобы установить MySQL 5.7, нужно добавить новый репозиторий APT с сайта MySQL. Для этого нажмите Download, скопируйте ссылку в поле No thanks, just start my download и загрузите пакет .deb:

Установите репозиторий при помощи dpkg:

Программа предложит выбрать продукт MySQL, который нужно установить. Опция MySQL Server должна содержать версию mysql-5.7. Если это не так, нажмите ENTER, пролистайте до mysql-5.7 при помощи кнопок со стрелками и снова нажмите ENTER.

Выбрав версию mysql-5.7, выберите в меню Apply и нажмите ENTER. Обновите индекс пакетов:

Установите пакет mysql-server, который содержит версию MySQL 5.7.

Step 3 — Creating a Dedicated MySQL User and Granting Privileges

Upon installation, MySQL creates a root user account which you can use to manage your database. This user has full privileges over the MySQL server, meaning it has complete control over every database, table, user, and so on. Because of this, it’s best to avoid using this account outside of administrative functions. This step outlines how to use the root MySQL user to create a new user account and grant it privileges.

In Ubuntu systems running MySQL (and later versions), the root MySQL user is set to authenticate using the plugin by default rather than with a password. This plugin requires that the name of the operating system user that invokes the MySQL client matches the name of the MySQL user specified in the command, so you must invoke with privileges to gain access to the root MySQL user:

Note: If you installed MySQL with another tutorial and enabled password authentication for root, you will need to use a different command to access the MySQL shell. The following will run your MySQL client with regular user privileges, and you will only gain administrator privileges within the database by authenticating:

Once you have access to the MySQL prompt, you can create a new user with a statement. These follow this general syntax:


After , you specify a username. This is immediately followed by an sign and then the hostname from which this user will connect. If you only plan to access this user locally from your Ubuntu server, you can specify . Wrapping both the username and host in single quotes isn’t always necessary, but doing so can help to prevent errors.

You have several options when it comes to choosing your user’s authentication plugin. The plugin mentioned previously can be convenient, as it provides strong security without requiring valid users to enter a password to access the database. But it also prevents remote connections, which can complicate things when external programs need to interact with MySQL.

As an alternative, you can leave out the portion of the syntax entirely to have the user authenticate with MySQL’s default plugin, . for users who want to log in with a password due to its security.

Run the following command to create a user that authenticates with . Be sure to change to your preferred username and to a strong password of your choosing:

Note: There is a known issue with some versions of PHP that causes problems with . If you plan to use this database with a PHP application — phpMyAdmin, for example — you may want to create a user that will authenticate with the older, though still secure, plugin instead:

If you aren’t sure, you can always create a user that authenticates with and then it later on with this command:

After creating your new user, you can grant them the appropriate privileges. The general syntax for granting user privileges is as follows:

The value in this example syntax defines what actions the user is allowed to perform on the specified and . You can grant multiple privileges to the same user in one command by separating each with a comma. You can also grant a user privileges globally by entering asterisks () in place of the database and table names. In SQL, asterisks are special characters used to represent “all” databases or tables.

To illustrate, the following command grants a user global privileges to , , and databases, tables, and users, as well as the power to , , and data from any table on the server. It also grants the user the ability to query data with . However, you should only grant users the permissions they need, so feel free to adjust your own user’s privileges as necessary.

You can find the full list of available privileges in .

Run this statement, replacing with your own MySQL user’s name, to grant these privileges to your user:

Note that this statement also includes . This will allow your MySQL user to grant any that it has to other users on the system.

Warning: Some users may want to grant their MySQL user the privilege, which will provide them with broad superuser privileges akin to the root user’s privileges, like so:

Such broad privileges should not be granted lightly, as anyone with access to this MySQL user will have complete control over every database on the server.

Following this, it’s good practice to run the command. This will free up any memory that the server cached as a result of the preceding and statements:

Then you can exit the MySQL client:

In the future, to log in as your new MySQL user, you’d use a command like the following:

The flag will cause the MySQL client to prompt you for your MySQL user’s password in order to authenticate.

Finally, let’s test the MySQL installation.

Шаг 2 — Установка MySQL

Теперь, когда наш веб-сервер установлен и запущен, пора установить MySQL. MySQL это система управления базами данных. Она организует и обеспечит доступ к базам данных, в которых ваш сайт может хранить информацию.

Мы можем вновь использовать для загрузки и установки программного обеспечения:

Обратите внимание: В данном случае вам нет необходимости предварительно выполнять команду , т.к. мы выполняли ее недавно при установке Apache, и индекс пакетов на вашем компьютере уже должен быть обновлен

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

После завершения установки нам потребуется выполнить некоторые дополнительные команды, чтобы наше окружение MySQL было настроено безопасным образом. Введите следующую команду:

В результате выполнения этой команды вам будет предложено настроить плагин валидации паролей ().

Внимание: Решение включать плагин валидации паролей или нет носит субъективный характер. При включении все пароли, которые не удовлетворяют определённым критериям безопасности, будут отвергаться MySQL с сообщением об ошибке

Это может вызывать проблемы, если вы используете “слабые” пароли совместно с программным обеспечением, которое конфигурирует профили пользователей MySQL, например, пакеты Ubuntu для phpMyAdmin. Вы можете оставить валидацию паролей отключенной, но в этом случае вам следует всегда использовать “сильные” уникальные пароли для пользователей базы данных.

Введите для включения плагина или что-нибудь другое для продолжения без его включения:

Если вы включили валидацию паролей, вам будет предложено установить уровень надёжности паролей при валидации. Имейте в виду, что при выборе значения (самый строгий уровень валидации), вы будете получать ошибки при попытке задать пароль без цифр, букв в верхнем и нижнем регистре, а также без специальных символов, а также при попытке использовать пароль, основанный на распространённых словах, которые уязвимы для подбора паролей по словарю.

Вне зависимости от того, включили вы плагин валидации паролей или нет, далее вам будет предложено задать пароль для пользователя root для MySQL. Это административный аккаунт пользователя в MySQL, который имеет повышенные привилегии. Вы можете рассматривать его, как аналог пользователя root для самого сервера (с той лишь разницей, что это аккаунт для MySQL). Задайте сильный уникальный пароль, не оставляйте пароль пустым.

Если вы включили валидацию паролей, вам будет показан уровень надёжности заданного вами ранее пароля root пользователя, а также вам будет предложено изменить этот пароль. Если вы не хотите менять пароль, введите или “no”:

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

Обратите внимание на то, что на серверах Ubuntu, использующих MySQL 5.7 (и более поздние версии), root пользователь в MySQL настроен таким образом, что его аутентификация по умолчанию происходит с помощью плагина , а не с помощью пароля. Это во многих случаях повышает безопасность, но, в то же время, может усложнить настройку доступа к root пользователю для некоторых программ (например, phpMyAdmin)

Если вы хотите настроить root пользователя на использование пароля, вам необходимо изменить метод аутентификации с на . Для того, чтобы это сделать, войдите в оболочку MySQL в терминале:

Далее просмотрите метод аутентификации для каждого из ваших пользователей MySQL с помощью следующей команды:

В этом примере ваш пользователь root использует аутентификацию с помощью плагина . Для изменения этой настройки на использование пароля используйте следующую команду . Не забудьте изменить на ваш сильный пароль:

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

Проверьте методы авторизации для пользователей ещё раз для того, чтобы убедиться, что пользователь root более не использует плагин для авторизации:

Как можно видеть на представленном выводе теперь root пользователь MySQL аутентифицируется с использованием пароля. После того, как мы в этом убедились, можно выйти из оболочки MySQL:

Теперь ваша система управления базами данных установлена и мы можем двигаться дальше и установить PHP, последний компонент LAMP.


С этим читают