Настройка MariaDB на FreeBSD
Компиляция MariaDB из исходных кодов на FreeBSD относительно проста. При работе с отдельным хостом можно использовать Ports для компиляции определённых или нескольких версий MariaDB. При работе с несколькими хостами можно использовать Poudriere для однократной компиляции MariaDB, а затем распространять её как пакет на несколько хостов FreeBSD.
Использование Ports
Коллекция FreeBSD Ports предоставляет набор Makefiles, которые можно использовать для получения исходного кода, настройки компиляции, установки зависимостей и компиляции программного обеспечения. Это позволяет использовать более новые релизы, чем обычно доступны через менеджеры пакетов, а также включает любые дополнительные функции, которые вас интересуют.
В случае, если вы ранее не использовали Ports на вашей системе, вам необходимо сначала извлечь и распаковать дерево Ports. Это загрузит дерево Ports с FreeBSD и распакует его на вашей системе, поместив различные Makefiles, патчи и т. д. в каталог /usr/ports/.
# portsnap fetch extract
В случае, если вы уже использовали Ports на этой системе, запустите Portsnap ещё раз, чтобы загрузить и установить любые обновления дерева Ports.
# portsnap fetch update
Это гарантирует, что вы используете самую последнюю версию дерева Ports, доступную на вашей системе.
Компиляция MariaDB из Ports
После того, как Portsnap установил или обновил ваше дерево Ports, вы можете перейти в соответствующий каталог и установить MariaDB. Порты для MariaDB находятся в каталоге /usr/ports/databases/.
$ ls /usr/ports/databases | grep mariadb mariadb-connector-c mariadb-connector-odbc mariadb100-client mariadb100-server mariadb101-client mariadb101-server mariadb102-client mariadb102-server mariadb103-client mariadb103-server mariadb55-client mariadb55-server
Обратите внимание, что FreeBSD обрабатывает Сервер и Клиент как отдельные пакеты. Клиент является зависимостью Сервера, поэтому для получения обоих необходимо скомпилировать только Сервер. Он также предоставляет несколько разных версий. Вы можете найти доступные порты на Fresh Ports. Выберите нужную вам версию MariaDB, перейдите в соответствующий каталог. После этого запустите Make для компиляции MariaDB.
# cd /usr/ports/databases/mariadb103-server # make
Помимо загрузки и компиляции MariaDB, Ports также загружает и компилирует все библиотеки, от которых зависит MariaDB. При компиляции каждого порта откроется окно GUI, где можно выбрать различные параметры компиляции. В случае MariaDB это включает различные движки хранения и конкретные функции, необходимые для вашей сборки.
После завершения компиляции портов, установите MariaDB на вашей системе и очистите каталог, чтобы освободить место на диске.
# make install clean
Это установит FreeBSD на ваш сервер. Теперь вы можете включить, настроить и запустить службу, как обычно, после установки MariaDB из пакета.
Использование Poudriere
Poudriere — это утилита для сборки пакетов FreeBSD. Она позволяет скомпилировать MariaDB из FreeBSD Jail, а затем распространять её как двоичный пакет на другие хосты FreeBSD. Это может быть особенно полезно при развертывании нескольких серверов MariaDB на FreeBSD, например, с Galera Cluster или аналогичными развертываниями.
Компиляция MariaDB
После настройки вашего хоста для использования Jails и Poudriere, инициализируйте jail для сборки пакетов и jail для управления портами.
# poudriere jail -c -j package-builder -v 11.2-RELEASE # poudriere ports -c -p local-ports
Это создаёт две jail, package-builder и local-ports, которые затем можно использовать для сборки MariaDB. Создайте текстовый файл для определения пакетов, которые вы хотите скомпилировать. Poudriere скомпилирует эти пакеты, а также их зависимости. MariaDB находится по адресу databases/mariadb103-server. Измените путь, чтобы соответствовать той версии, которую вы хотите установить.
$ vi maraidb-package-builder.txt databases/mariadb103-server
Используйте команду options для инициализации параметров компиляции для пакетов, которые вы хотите, чтобы Poudriere скомпилировал.
# poudriere options -j package-builder -p local-ports -z mariadb-builder -f mariadb-package-builder.txt
Наконец, используйте команду bulk для компиляции пакетов.
# poudriere bulk -j package-builder -p local-ports -z mariadb-builder -f mariadb-package-builder.txt
Использование репозиториев Poudriere
Для использования Poudriere необходимо настроить веб-сервер, такой как Nginx или Apache, для предоставления каталога, скомпилированного Poudriere. Например, в приведенном выше примере вы бы отобразили jail package-builder: /usr/local/poudriere/data/packages/package-builder/. Может быть полезно отобразить этот каталог на поддомен, например, httpspkg.example.com или что-то подобное.
Наконец, необходимо настроить хосты FreeBSD для использования созданного вами репозитория Poudriere. На каждом хосте отключите официальные репозитории FreeBSD и включите ваш репозиторий Poudriere в качестве альтернативы.
# vi /usr/local/etc/pkg/repos/FreeBSD.conf
FreeBSD: {
enabled: no
}
Затем добавьте URL вашего репозитория Poudriere в файл конфигурации:
# vi /usr/local/etc/pkg/repos/mariadb.conf
custom: {
url: "https://pkg.example.com",
enabled: yes
}
Затем вы можете установить MariaDB из Poudriere с помощью менеджера пакетов.
# pkg install mariadb103-server
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/building-mariadb-on-freebsd/