Понадоиблось тут Bareos под ARM платформу скомпилировать, которая стоит на домашнем NAS.
Впринципе, всё просто, за исключением нескольких мелочей.
Для использования bareos-webui необходимо скомпилить вместе с Jansson, а для этого его нужно получить, собрать, установить и показать конфигуратору bareos где он лежит:
sudo apt-get install pkg-config sudo apt-get install autoconf sudo apt-get install libtool sudo apt-get install build-essential git clone https://github.com/akheron/jansson cd jansson autoreconf -i ./configure make make install cd ../
Если используется Debian 8, то поставим нужный cmake и g++ 6:
echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list sudo apt-get install g++-6 sudo apt-get install cmake sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-6 30 sudo update-alternatives --set c++ /usr/bin/g++ update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-6 20 update-alternatives --set cc /usr/bin/gcc-6 c++ --version //-- Вывод должен быть 6.4.0 (не ниже и точно не 7 или 8 - не скомпилится) cmake --version //-- Вывод должен быть 3.11.2 (не ниже)
Ну а дальше всё просто — качаем исходники Bareos, компилим, собираем всё это в deb пакет, что бы потом не парится с новыми версиями:
git clone https://github.com/bareos/bareos/ -b bareos-18.2 cd bareos/core dpkg-checkbuilddeps //-- установите все зависимости из вывода cp -a platforms/packaging/bareos.changes debian/changelog VERSION=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' src/include/version.h) dch -v $VERSION "Switch version number" fakeroot debian/rules binary
Если будет ошибка «dpkg-shlibdeps: error: no dependency information found for …«,
то в файле «core/debian/rules» ищем строку «dh_shlibdeps» и дополняем опцией «—dpkg-shlibdeps-params=—ignore-missing-info»
Не забудьте установить новый пароль для root в mysql!
Устанавливаем теперь созданные пакеты:
cd ../ //-- Всё, что нужно для директора (bareos-dir): apt-get install dbconfig-common dpkg -i bareos-database-common_18.2.3_armel.deb dpkg -i bareos-database-mysql_18.2.3_armel.deb dpkg -i bareos-database-tools_18.2.3_armel.deb dpkg -i bareos-director_18.2.3_armel.deb dpkg -i bareos-bconsole_18.2.3_armel.deb //-- Хранилище (bareos-sd): dpkg -i bareos-storage_18.2.3_armel.deb //-- Клиент (bareos-fd) dpkg -i bareos-filedaemon_18.2.3_armel.deb dpkg -i bareos-client_18.2.3_armel.deb
Запускаем:
sudo service bareos-sd start sudo service bareos-fd start sudo service bareos-dir start
Если будет ошибка «/sbin/bareos-dir: symbol lookup error: /sbin/bareos-dir: undefined symbol: _Z16DbSetBackendDirsP5alist»
то тогда нужно чутка изменить ссылки, что бы bareoscats.so.18 указывала на backends/bareoscatsmysql.so — пять часов на выяснение причин потратил.
Теперь поставим «Bareos WEBUI».
Ставим необходимые для сборки пакеты и аналогично собираем в deb пакет:
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ jessie main" > /etc/apt/sources.list.d/php.list sudo apt-get update sudo apt-get install apt-transport-https ca-certificates sudo apt-get install autotools-dev apache2-dev apache2-prefork-dev sudo apt-get install php7.1-cli php7.1-curl php7.1-fpm php7.1-gd php7.1-intl php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-pdo-mysql php7.1-xml php7.1-zip sudo apt-get install libapache2-mod-php7 service apache2 restart cd webui dpkg-checkbuilddeps cp -a packaging/obs/bareos-webui.changes debian/changelog fakeroot debian/rules binary
Устанавливаем созданный пакет:
cd ../ dpkg -i bareos-webui_15.2.1_all.deb
Ну и можно зайти, в браузере набираем:
http://127.0.0.1/bareos-webui
По настройке будет отдельный пост.
Вот и всё =)