В данной инструкции установка MariaDB выполнена на Linux CentOS и Ubuntu.
Установка и запуск
Рассмотрим по отдельности процесс установки и настройки автозапуска MariaDB.
CentOS
Для CentOS 7 и 8 порядок действий не отличается. Устанавливаем MariaDB следующей командой:
yum install mariadb-server
Разрешаем автозапуск демона и запускаем его:
systemctl enable mariadb —now
Ubuntu
Устанавливаем MariaDB следующей командой:
apt-get install mariadb-server
Разрешаем автозапуск демона (запускать не нужно, так как в Ubuntu это происходит на автомате):
systemctl enable mariadb
После установки
Независимо от того, на какой Linux мы установили MariaDB, выполняем следующие действия.
1. Установим пароль для основной учетной записи СУБД:
mysqladmin -u root password
* система запросит новый пароль. Его нужно ввести дважды.
2. Проверьте, что сервер работает, подключившись к нему:
* будет запрошен пароль. Введите тот, который был установлен на предыдущем шаге инструкции.
Если появилось приглашение командной строки
значит сервер установлен и работает.
3. При необходимости, настройка сервера выполняется в файле /etc/my.cnf и подключаемых файлах в каталоге /etc/my.cnf.d/. После внесения изменений не забываем перезапустить службу:
systemctl restart mariadb
4. Если предполагается удаленное подключение к СУБД, добавляем правило в брандмауэр.
firewall-cmd —permanent —add-port=3306/tcp
iptables -I INPUT 1 -p tcp —dport 3306 -j ACCEPT
Подключение репозитория
В примерах выше мы установили СУБД из репозиториев операционных систем. А значит — нет гарантии, что будет установлена последняя версия MariaDB. Для решения задачи мы можем подключить официальный репозиторий самого разработчика. Для этого переходим по ссылке downloads.mariadb.org/mariadb/repositories и выбираем нашу версию операционной системы и последний стабильный релиз mariadb, например:
Ниже появится инструкция по добавлению репозитория и установке СУБД:
Согласно инструкции, добавим репозиторий:
* в Ubuntu мы должны открыть файл /etc/apt/sources.list.
Вставляем строки, которые мы увидели в инструкции на сайте:
Источник
Установка mariadb astra linux
Данную инструкцию можно использовать для любой операционной системы Linux на основе Debian.
Подготовка сервера
Заходим в систему под суперпользователем:
Настраиваем сеть. В Astra Linux это делается также как и в Ubuntu:
# vi /etc/network/interfaces
auto eth0 iface lo inet eth0
dns-nameservers 192.168.0.1 192.168.0.2
* В данном примере мы настроили сетевой интерфейс eth0 (задали IP-адрес 192.168.0.15 маску 255.255.255.0 и шлюз по умолчанию 192.168.0.1)
Для применения настроек необходимо перезапустить сетевую службу:
# service networking restart
В Astra Linux по умолчанию не настроены репозитории для установки пакетов, поэтому необходимо это сделать:
# vi /etc/apt/sources.list
deb ftp://ftp.astra-linux.com/astra/current/orel/repository orel main contrib non-free
* Эта строчка подключает официальный репозиторий Astra Linux.
Теперь нужно обновить список пакетов и обновить систему:
Теперь можем обновлять список пакетов и устанавливать веб-сервер nginx:
# apt-get update # apt-get install nginx
Демон запускается автоматически. Попробуйте открыть браузер и ввести IP-адрес сервера. Вы должны увидеть приветствие от Nginx.
Устанавливаем php и php-интерпретатор:
# apt-get install php5 php5-fpm
В Astra Linux по умолчанию nginx работает от учетной записи nginx, а php-fpm — от www-data. В результате этого при попытке использовать веб-сервер с php-скриптами мы получим ошибку. Для решения этой проблемы необходимо поменять пользователя, от которого будет работать либо nginx, либо php-fpm. В данном примере, nginx:
# vi /etc/nginx/nginx.conf
* самая первая строчка — меняем nginx на www-data.
* site.local необходимо заменить на домен вашего веб-приложения или сайта. ** /var/www/site.local — директория, в которую мы поместим файлы сайта. *** allow 192.168.0.0/16 — подсеть, для которой мы разрешаем доступ к сайту. Если ограничивать не требуется, удалите строчку и следующую за ней deny all. **** Остальные параметры я рекомендую изучить самостоятельно.
Создаем директорию для сайта, которую мы указали в конфигурационном файле:
Создаем в нем файл index.php с функцией phpinfo:
Перезапускаем наши демоны:
# service php5-fpm restart && service nginx restart
Проверьте работоспособность сервера, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.0.15). Сервер должен вернуть много параметров в различных таблицах.
Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL.
Источник
Welcome
В результате файл “/var/www/sites/site1/index.html” будет содержать одну html-строку:
Welcome
3. Конфигурация Apache-сервера
Конфигурационные файлы сайтов находятся в каталоге “/etc/apache2/sites-available/”. Создадим конфигурационный файл для нового виртуального хоста взяв за основу конфигурацию по умолчанию из файла “000-default.conf”
cd /etc/apache2/sites-available/ cp 000-default.conf site1.conf
Откроем файл “site1.conf” и изменим параметр “DocumentRoot”. В качестве значения нужно указать путь к новому сайту, в нашем случае это “/var/www/sites/site1”
На данном этапе нам не требуется настройка одновременной работы нескольких сайтов, поэтому отключим сайт по умолчанию и включим новый сайт. Для применения изменений перезагружаем конфигурацию сервера.
Снова переходим по ссылке “http://[ip_адрес_сервера]” и убеждаемся, что вместо стандартной страницы приветствия отображается наша новая страница.
Настройка HTTP-сервера завершена, переходим к следующему этапу.
Настройка FTP-сервера
1. Установка
Устанавливаем ftp-сервер и дополнительный пакет “db-util”, который потребуется для настройки виртуальных пользователей.
apt install vsftpd db-util
2. Создание локальной учетной записи
Сервер vsftpd позволяет очень гибко настраивать права доступа. Для решения наших задач ftp-пользователям необходимо обеспечить следующие возможности:
полный доступ к содержимому директории “/var/www/sites/”;
невозможность выхода за пределы директории “/var/www/”;
подключение с использованием виртуальной учетной записи;
Создадим локальную учетную запись “virtual” без возможности входа в систему, с домашней директорией “/var/www/”. Эта учетная запись будет использоваться для подключения виртуальных ftp-пользователей.
useradd -d /var/www virtual
По умолчанию, владельцем директории “/var/www” является “root”. Для того, того, чтобы ftp-пользователи могли изменять содержимое сайтов, изменим владельца каталога “/var/www/sites/”, включая вложенные папки на “virtual”.
chown -R virtual:root /var/www/sites
В результате изменения прав, пользователь “virtual” сможет просматривать содержимое каталога “/var/www/” и записывать во вложенный каталог “/var/www/sites/”
3. Конфигурация
Основная конфигурация хранится в файле “/etc/vsftpd.conf”, приводим его к следующему виду:
База данных необходима для хранения виртуальных учетных записей.
Предварительно создадим в домашнем каталоге простой текстовый файл “users.txt” и запишем логины и пароли виртуальных пользователей в чередующиеся строки. Например нам нужен виртуальный пользователь с логином “ftp” и паролем “Qwe123”, тогда содержимое файла будет таким:
Создаем базу данных
db_load -T -t hash -f
Меняем стандартное содержимое PAM файла “/etc/pam.d/vsftpd” на следующие строки.
Обратите внимание, что в различных дистрибутивах расположение библиотеки “pam_userdb.so” может отличаться, при необходимости путь к файлу нужно скорректировать.
Для применения изменений перезагружаем vsftpd сервер.
systemctl restart vsftpd
Настройка FTP-сервера завершена.
Данные для подключения:
ftp://[ip_адрес_сервера]
Логин: ftp
Пароль: Qwe123
Настройка PHP-сервера
1. Установка
На текущий момент последней стабильной версией PHP является php 7.4.5, которая отсутствует в официальных репозиториях Ubuntu. Подключим сторонний репозиторий и установим последнюю версию PHP.
Для проверки обновим тестовую страницу и в таблице с конфигурацией PHP и перейдем к разделу PDO. Наличие секции “PDO_mysql” говорит о корректной установке драйвера для работой с базой данных Mysql.
Для дальнейшей работы необходимо выполнить первоначальную настройку безопасности MariaDB, во время которой для пользователя “root” устанавливается пароль, запрещается удаленный вход и удаляются гостевые учетные записи.
На первом шаге необходимо ввести пароль пользователя «root» для входа в СУБД или нажать Enter, если пароль не задан. Так как после установки учетная запись «root» не имеет пароля, нажимаем “Enter”.
Обратите внимание, что в MariaDB существуют собственные учетные записи, которые не имеют отношения к учетным записям операционной системы. Речь идет о пользователе «root» в MariaDB.
Далее конфигуратор предложит задать пароль для пользователя root, нажимаем “y” для подтверждения и вводим новый пароль, в нашем случае “Qwe123”
На все последующие запросы просто нажимаем “y” до окончания настройки.
В официальном репозитории размещена устаревшая версия phpMyAdmin, поэтому выполним установку в ручном режиме.
Заходим на официальный сайт проекта “https://www.phpmyadmin.net/” и скачиваем архив актуальной версии.
Копируем архив на сервер в каталог “/var/www/sites/” используя любой ftp-клиент.
Распаковываем архив, и для удобства, переименовываем извлеченную папку в “phpMyAdmin”. Для распаковки zip-архива предварительно установим утилиту “unzip”. После распаковки архив можно удалить.
Создаем папку “/var/www/sites/phpMyAdmin/tmp” для хранения временных файлов с полными доступом для всех. Если этого не сделать phpMyAdmin сообщит об отсутствии доступа в временной папке.
cd /var/www/sites/phpMyAdmin/ mkdir tmp chmod 777 tmp
2. Создание псевдонима
Так как phpMyAdmin не является отдельным виртуальным хостом и находится за пределами корневой директории сайта, настроим псевдоним для возможности доступа.
Открываем файл “/etc/apache2/mods-available/alias.conf” и вставляем строку
Alias /pma “/var/www/sites/phpMyAdmin»
Перезагружаем конфигурацию Apache для применения изменений.
systemctl reload apache2
Псевдоним настроен. Сейчас мы можем входить в phpMyAdmin по ссылке “http://[ip_адрес_сервера]/pma”
3. Подготовка базы данных
Так как при первоначальной настройке MariaDB мы запретили использование учетной записи root для удаленного подключения, необходимо создать новую учетную запись с полными правами, которая будет использоваться для входа в phpMyAdmin.
Кроме того, для работы дополнительных функций phpMyAdmin необходима служебная база данных и учетная запись для доступа к ней.
Создадим учетные записи
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO ‘pma’@’localhost’ IDENTIFIED BY ‘Qwe123’ WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO ‘pmaservice’@’localhost’ IDENTIFIED BY ‘Qwe123’ WITH grant option;
Обратите внимание, что имя базы данных во втором запросе заключено в обратные апострофы: “… ON `phpmyadmin`.* TO ‘pma’@’localhost’ IDENTIFIED BY …”,
В результате в MariaDB будет создано две учетные записи:
Логин: pma, пароль: Qwe123 Учетная запись имеет полные права и будет использоваться для входа в phpMyAdmin
Логин: pmaservice, пароль:Qwe123 Служебная учетная запись необходимая для работы дополнительных функций.
На следующем шаге эти учетные данные должны быть указаны в конфигурационном файле “config.inc.php”
Далее необходимо импортировать базу данных из файла “phpMyAdmin/sql/create_tables.sql”. Выполним импорт средствами phpMyAdmin.
Открываем браузер и переходим по ссылке “http://[ip_адрес _сервера]/pma”
Вводим логин “pma”, пароль “Qwe123”
Переходим на вкладку “Импорт”, нажимаем кнопку “Выберите файл” и выбираем файл ”sql/create_tables.sql” в корневой директории phpMyAdmin. Предполагается что на локальном компьютере существует папка с файлами “phpMyAdmin”, если необходимо, распакуйте архив.
Для завершения импорта нажимаем кнопку “Вперед”.
4. Конфигурация
Копируем файл конфигурации из шаблона
cd /var/www/sites/phpMyAdmin/ cp config.sample.inc.php config.inc.php
Открываем конфигурационный файл “/var/www/sites/phpMyAdmin/config.inc.php” и вносим следующие изменения:
Задаем произвольное значение длиной 32 символа для параметра “$cfg[‘blowfish_secret’]”. Можно воспользоваться любым генератором паролей.
Снимаем комментарии со всех строк раздела “phpMyAdmin configuration storage settings” и указываем для параметров “controluser” и “controlpass” логин и пароль служебной учетной записи MariaDB, созданной на предыдущем шаге. В нашем случае логин — pmaservice, пароль — Qwe123
Сохраняем изменения. Настройка завершена.
Данные для входа в phpMyadmin:
http://[ip_адрес_сервера]/pma/
Логин: pma
Пароль: Qwe123
Установка и настройка WordPress на сервер Linux
1. Размещение файлов дистрибутива WP
Заходим на официальный сайт “https://ru.wordpress.org/” и скачиваем архив на локальный компьютер.
Загружаем архив на сервер в каталог “/var/www/sites/” и распаковываем, файлы будут извлечены в папку “wordpress”.
Копируем содержимое папки “/var/www/sites/wordpress/” в корневую директорию сайта “/var/www/sites/site1/”
Так как копирование файлов выполнялось из консоли с root-правами еще раз изменяем владельца каталога “/var/www/sites/”, включая содержимое на virtual. Это нужно для восстановления полного доступа при подключении через ftp-клиент.
cd /var/www/sites/ tar -xzvf wordpress-5.4-ru_RU.tar.gz cp -R wordpress/* site1/ chown -R virtual:root /var/www/sites
2. Создание базы данных для WordPress
Входим в PHPMyAdmin и нажимаем “Создать БД”. Указываем произвольное имя базы данных, в нашем случае “wordpress_db” и нажимаем кнопку “Создать”.
Выделяем в левой части окна созданную БД и нажимаем кнопку “Привилегии”
Далее нажимаем “Добавить учетную запись пользователя”.
В открывшемся окне вводим логин и пароль (wpservice / Qwe123), помечаем опцию “Предоставить все привилегии в базе данных wordpress_db” и нажимаем кнопку “Вперед”
На следующей странице нажимаем “Отметить все” для установки всех привилегий уровня базы данных и нажимаем “Вперед”.
3. Конфигурация WP на сервере под Linux
Переходим в корневую директорию сайта и копируем из шаблона конфигурационный файл.
cd /var/www/sites/site1/ cp wp-config-sample.php wp-config.php
Открываем файл “wp-config.php” и вводим параметры подключения к базе данных, созданной на предыдущем шаге и сохраняем изменения.
4. Установка CMS WordPress
Открываем браузер и переходим по ссылке “http://[ip_адрес_сервера]/wp-admin/install.php”
Заполняем предложенные поля и нажимаем “Установить WordPress” Имя пользователя и пароль указываем произвольные, в нашем случае логин — wpadmin, пароль — Qwe123
Эти учетные данные будут использоваться для входа в WordPress.
После завершения установки переходим по ссылке “http://[ip_адрес_сервера]/wp-login.php”, вводим учетные данные, указанные на предыдущем шаге и входим в WordPress
На главной странице сайта будет отображаться один из шаблонов WordPress