Итак, мы в предыдущей статье мы проиллюстрировали, как установить WordPress и, казалось бы, на этом нужно завершать тему, однако установить WordPress – это только пол дела.  Для того, чтобы им можно было нормально пользоваться, нужно решить ещё ряд задач, одной из которых и посвящается эта статья.

WordPress, как вы уже скорее всего поняли, если читали предыдущие статьи, состоит из нескольких обязательных (неотъемлемых) частей (внутренних модулей) и дополнительной в виде внешних plugin-модулей. Так вот, из этих модулей только ядро является продуктом собственно компании WordPress. И оно мультиязычно, то есть, как мы видели в предыдущей статье, при установке можно выбрать нужный язык (в нашем случае русский) и CMS будет вроде как работать на выбранном языке, однако, на самом деле это далеко не так. Дело в том, что вторая основная компонента системы – тема, разрабатывается уже другими компаниями и, как правило, тема, которая подходит к вашему проекту, не будет содержать нужного языка, а зачастую вообще является одноязычной. К этому добавляются аналогичные проблемы с plugin-модулями.

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

Займёмся решением поставленной задачи.  Возможны два варианта:

  • ваша тема не полностью русифицирована
  • ваша тема совсем не русифицирована

В первом случае имеет смысл установить очень хороший плагин под названием Loca Translate. Для этого заходим в меню “Плагины” Панели Управления сайтом по адресу http://site-1.sysadmin.bz/wp-admin/plugins.php:

Plugin-модули WordPress, устанавливаемые по умолчанию

Видим, что по умолчанию в процессе установки WordPress были также установлены два плагина “Akismet Anti-Spam” и “Hello Dolly”. И тот и другой нам не нужны, поэтому спокойно удаляем их, последовательно нажимая на красные надписи-кнопки “Удалить” и подтверждая намерения. Далее нажимаем на верхнюю кнопку “Добавить новый”, в появившемся новом окне в поле  поиска справа вводим “Loco”, видим, что система нашла плагин “Loco Translate” и жмём кнопку “Установить”:

Установка plugin-модуля Loco Translate

Теперь можно удалить пустой каталог WordPress, а также исходный архив latest.zip и файл index.html, который мы создавали в предыдущей статье под номером 8. Сделать это можно как с помощью Midnight Commander, так и с помощью последовательного выполнения двух команд:

rm -d wordpress

rm -f latest.zip index.html

Таким образом, первый шаг мы сделали и у нас в корне нашего сайта развёрнута структура дистрибутива WordPress.

Теперь, на втором шаге нужно немного повозиться с правами к файлам дистрибутива, ибо иначе либо система будет слишком уязвима, либо наоборот, прав будет не хватать. Сначала надо сделать владельцем всех файлов дистрибутива пользователя www-data и группу с тем же именем. Далее, в соответствии с трёхзвенной структурой прав UNIX-подобных систем нам нужно дать полные права владельцу и группе на все каталоги (папки, директории) дистрибутива, но лишить права записи в них всех остальных пользователей (код в нотации триады rwx: 775). Что касается файлов, то для пользователя и группы www-data нужно дать все права, кроме права выполнения, а для всех остальных только право чтения (код 664). Самый важный и уязвимый файл wp-config.php не должен содержать вообще никаких прав для посторонних (т.е. никто, кроме пользователей группы root и www-data, а также перечисленных в файле /etc/sudoers не должен иметь даже право читать его). Делается это следующей последовательностью команд:

chown -R www-data:www-data ./

sudo find . -type d -exec chmod 775 {} +

sudo find . -type f -exec chmod 664 {} +

sudo mv wp-config-sample.php wp-config.php

sudo chmod 660 wp-config.php

Пришло время заняться третьим шагом, после чего можно будет запускать установку системы через www-браузер. Шаг большой и сложный. Конечная цель – отредактировать файл wp-config.php в соответствие с нужными нам параметрами.

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

  • адрес сервера, где находится база данных (у нас она тут же, поэтому оставляем localhost, но нужно понимать, и это объяснялось в статье по MySQL, что это не обязательно и можно указать любой ip-адрес, где находится ваша СУБД и соответствующий порт, если он отличается от 3306);
  • имя базы данных;
  • имя пользователя;
  • пароль пользователя;
  • кодировка базы данных;
  • правила сопоставления (collation)

Для того, чтобы понять дальнейший материал вам лучше перечитать статью 6 о MySQL. Нашей локальной задачей будет создание базы данных site-1.sysadmin.bz (название может быть любое, но для избежания путаницы лучше называть базу данных и пользователя точно так же, как и сам сайт, для которого они предназначены), заведение специального пользователя базы данных (что крайне желательно, но не обязательно, так как можно использовать и созданного нами в статье 6 универсального пользователя), предоставление этому пользователю всех прав на созданную базу данных (если мы будем использовать не специального пользователя, то у него будет доступ ко многим базам данных, что ухудшает безопасность).

Итак, приступим к реализации нашего плана. Запускаем MySQL Workbench и соединяемся с СУБД. Выбираем среднюю вкладку “Schemas” в левом столбце, жмём на правую кнопку мыши, после чего выбираем левой кнопкой из контекстного меню пункт “Create Schema”:Создаём базу данных с помощью MySQL Workbench

В появившемся новом окне вводим имя базы данных, кодироку символов (Charset) и правила сопоставления (collation) оставляем по умолчанию, далее жмём на кнопку “Apply (Применить)”:

Задаём имя базы данных, а также кодировку набора символов и правила их сопоставления

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

Выполняем генерированный MySQL Workbench скрипт

После этого создастся схема база данных с заданным нами именем site1-sysadmin.bz. Далее нам лучше тут же ответить себе на вопрос о кодировке и сопоставлении. Для этого нажимаем на кнопку со второй пиктограммой напротив имени нашей схемы базы данных:

Выясняем кодировку набора символов базы данных и правило их сопоставления

и видим в соответствующем поле, что по умолчанию у нас база данных создалась с кодировкой utf8mb4, а правило сопоставления символов в ней имеет код utf8mb4_0900_ai_ci. Эту информацию можно было бы получить и при помощи sql-запроса:

Получение информации о кодировке символов в базе данных и методе их сопоставления при помощи sql-скрипта

Полученную информацию мы будем вводить в соответсвующее место файла wp-config.php. Напомним, что для того, чтобы приступить к этому нам осталось ещё получить имя пользователя базы данных и его пароль, а для этого надо его создать, к чему и приступим. Переходим на вкладку “Administration” в левом столбце MySQL Workbench и выбираем меню “Users and Privileges”, где нажимаем кнопку “Add Account”:

Создаём пользователя базы данных с помощью MySQL Workbench

Здесь в поле “Login name” заменяем “newuser” на “site-1.sysadmin.bz”, в поле “Authentication Type” оставляем “Standard” (ещё раз отметим, что это очень важно для WordPress), в поле “Limit to Hosts Matching” – localhost, а в полях Password и “Confirm Password” вводим одинаковый достаточно сложный пароль. Остаётся нажать кнопку “Apply” и пользователь создастся.

Далее нам останется дать права нашему новому пользователю на базу данных. Делается это следующим образом. Выбираем вкладку “Schema Privileges”, далее жмём копку “Add Entry”, выбираем переключа́тель “Selected Schema”, и в ниспадающем меню находим имя нашей базы:

Предоставляем права созданному пользователю базы данных

Нам остаётся нажать на кнопку “OK”, стать курсоров на добавленную базу данных и нажать внизу справа на кнопку “Select All” (при этом выделятся все права, кроме GRANT OPTION, что нам и надо):

Завершаем манипуляции с базой данных, подготавливающие установку WordPress

Всё, нажимаем на “Apply” и переходим к редактированию файла wp-config.php, для чего закрываем MySQL WorkBench (если мы всё сделали верно, то он нам больше не понадобится), открываем наш Midnight Commander, подводим курсор к файлу и нажимаем F4:

Редактируем файл конфигурации WordPress wp-config

Здесь заменяем все параметры ровно так, как указано на нашем снимке с экрана и сохраняем файл (в случае редактора GNU nano жмём комбинацию клавиш {Ctrl,O} и выходим из редакторв комбинацией {Ctrl, X}). На этом всё. и если вы не совершили ни одной ошибки, то установка WordPress произойдёт без единого предупреждения практически в режиме “silent setup”.

Запуск установки осуществляется с web-браузера открыванием сайта по ссылке http://site-1.sysadmin.bz (так как мы удалили файл index.html, то отрабатывать теперь будет index.php).

Здесь выбираем основной язык CMS (в нашем случае Русский)

Поля следующего экрана заполняем в соответствии с нашими договорённостями, задаём сложный логин и пароль администратору системы и нажимаеми на кнопку “Установить WordPress”:

Задаём имя сайту, а также логин и пароль администратору системы

Всё, если ваша виртуальная машина не слишком медленная, то через несколько секунд (в любом случае не больше чем через минуту) вы получите такой завершающий процедуру установки CMS WordPress экран:

Экран успешного завершения процедуры установки CMS WordPress

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

Экран входа в административную консоль сайта на WordPress