Установка MySQL 8 на CentOS 7 для WordPress

Это четвертая статья из серии «Устанавливаем блог WordPress на CentOS с Caddy, PHP 7.2 и MySQL 8.0». Вот мы, как раз, и приступаем к установке и настройке сервера базы данных MySQL 8 версии.

Скачиваем репозиторий с mysql сервером

$ sudo rpm -ivh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

Cистема может запросить пароль для пользователя — вводим его (тот что сохранили при создании пользователя для системы CentOS 7)

Далее запускаем установку mysql сервера:

$ sudo yum install mysql-server

Будет вычислено необходимое место и запрошено подтверждения на установку — вводим y и ENTER.

По завершении установки сервера базы данных (сам процесс установки может занять от нескольких минут)

В завершении установки соглашаемся на подтверждение GPG-key — вводим y и ENTER.

После этого стартуем «майэскюэл» как сервис (скорее всего будет опять запрошен пароль для аккаунта)

$ sudo systemctl start mysqld

И проверяем статус работы сервиса

$ sudo systemctl status mysqld

В результате в выводе будет такая надпись Active: active (running), сигнализирующая что сервис работает.

При этом, вместе с установкой, mysql будет добавлен в автозагрузку и будет сгенерирован временный пароль для root пользователя, чтобы его просмотреть и сохранить введем команду

$ sudo grep 'temporary password' /var/log/mysqld.log

в конце строки вывода будет 12ти-значный набор символов, содержащий малые и большие буквы, цифры и как минимум 1 спец символ — это правила для пароля

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

$ sudo mysql_secure_installation

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

Система запросит еще раз заметь пароль — отказываемся — No.

На все остальные следующие вопросы отвечаем да — Y: убираем доступ для анонимных пользователей, запрещаем доступ к базе извне для root, убираем тестовую базу данных, которая по умолчанию доступна всем и др.

MySQL установлен и сконфигурирован, давайте проверим работоспособность командой

$ mysqladmin -u root -p version

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

Далее, проведем начальную подготовку мускула (там mysql тоже называют 🙂 ) к установке WordPress…

Соединяемся с сервером базы данных под юзером root

$ mysql -u root -p

Вводим ранее сгенерированный (измененный и с сохраненный) пароль

Как только соединение будет установлено — создаем базу данных для WordPress (имя — wordpress)

mysql > CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

И пользователя с именем wordpressuser (и, например, с паролем gHspvn@36nBA) для доступа к этой базе данных

mysql> CREATE USER 'wordpressuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'gHspvn@36nBA';

Имеем ввиду, что пароль должен быть достаточно сложным, иначе увидим сообщение об ошибке (пароль: минимум 12 символов, должна быть заглавная буква, цифра и спец-символ).

Назначаем доступ пользователю wordpressuser к базе данных wordpress

mysql> GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost’;

Сообщаем mysql, что изменили привелегии (ни в кое случае нельзя забыть это)

mysql> FLUSH PRIVILEGES;

И безопасно закрываем соединение с базой данных

mysql> EXIT;

Далее можем приступить к установке Веб-сервера Caddy

Начальная конфигурация CentOS 7

Это третья статья из серии «Устанавливаем блог WordPress на CentOS с Caddy, PHP 7.2 и MySQL 8.0». Вот мы, как раз, и приступаем к настройке операционной системы центос.

Первый коннект к серверу выглядит следующим образом

$ ssh -i {/path/to/private/key} root@{IP-address}

(например ssh -i ~/.ssh/sy_blog_01a root@203.0.113.0 — т.е. без фигурных скобок) 

При самом первом соединении с сервером CentOS, когда удаленный сервер не «встречал» ранее ваш локальный сервер, он спросит уверены ли вы, что хотите законнектиться — набираем yes и жмем Enter.

После чего наш сервер сообщает, что добавляет локальный сервер в известные ему хосты.

Root юзер (супер-админский пользователь, генерируемый при создании сервера) обладает сверх-привилегиями, поэтому рекомендуется создать нового пользователя для дальнейшей работы с сервером.

Делается это просто (имя нового юзера может быть любое, в этом примере указываю имя droplet)

$ adduser droplet 

следующей коммандой устанавливаем юзеру пароль (как и в примере выше, у нас юзер droplet)

$ passwd droplet

вводим пароль и повторяем ввод пароля (обязательно сохраните, система может иногда запрашивать пароль)

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

$ gpasswd -a droplet wheel

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

Ключ этот генерируем на локальном компьютере, а не на сервере. Ранее мы это делали для root пользователя (ссылка на предыдущую статью). Напоминаю, что делаю на macOS (для Windows процедура немного другая)

Открываем терминал и выполняем команду

$ cd ~/.ssh

для перехода в директорию ключей. Далее

$ ssh-keygen -t rsa

Для генерации ключа. В наем примере, имя будем использовать blog_02a, а поле passphrase оставляем пустое.

Распечатываем публичный ключ для переноса на наш сервер

$ cat ~/.ssh/blog_02a.pub

Мы готовы к переносу ключа на сервер и установки его для нового пользователя. Присоединяемся к серверу под root пользователем, как мы делали это в самом начале этой статьи. Далее, переключаемся на нашего нового пользователя

# su - droplet

Оказываемся в домашней директории пользователя droplet.

Создаем новую директорию для ключа и назначаем ей необходимые права

$ mkdir .ssh
$ chmod 700 .ssh

Следующей командой создаем и открываем файл для ввода ключа

$ vi .ssh/authorized_keys

Нажимает клавишу i чтобы перейти в режим редактирования в редакторе vi, вставляем ключ из буфера обмена, скопированный ранее, нажимаем ESC, чтобы выйти из режима редактирования. После этого набираем с клавиатуры 2 символа: символ «двоеточия» и английская буква x и жмем ENTER чтобы сохранить и закрыть файл.

И, так же, устанавливаем на созданный файл необходимые права

$ chmod 600 .ssh/authorized_keys

И выходим из сервера, чтобы проверить установку соединения по новому пользователю

$ exit
$ exit

Команда соединения с сервером с новым пользователем для нашего примера будет выглядит так

$ ssh -i ~/.ssh/blog_02a droplet@203.0.113.0

(у вас будет точно другой IP после знака @, и, возможно, другие имя пользователя и путь к ключу)

Таким образом, у нас готовая операционна система для установки блога.