Как установить FOG на Ubuntu 18.04

Posted by

Добро пожаловать читатель. Я автор блога Олло Александр aka ekzorchik начинаю серию пошаговых руководств целью которых — это пошаговая установка и эксплуатация инструмента под именем FOG. Данный инструмент содержит в себе Web-интерфейс по управлению клонированием, разворачиванием образов на различные системы: Windows (7,10,Server2008R2/Server2012R2/Server2016) & Ubuntu (16.04/18.04) и т. д. Но я перечислил лишь те с которым я работаю и они наиболее популярны. По сути пакет FOG — это бесплатный аналог всеми известному Acronis, но для любителей бесплатности и контролю что делается и как.

Применение:

  • В домашней локальной сети если Вы системный администратор на фрилансе дабы обкатывать различные системы на железе.
  • В обслуживаемой локальной сети если Вы системный администратор и Вам нужно разворачивать системы на купленные/переустанавливать/снимать образа.

И т.д.

На железо или виртуальную составляющую (QEMU+KVM,Virtualbox) установлен дистрибутив: ubuntu-18.04.1-server-amd64.iso

Необходимые требования перед инсталляцией:

  • В Вашей локальной сети должен быть Шлюз (у меня Mikrotik: 2011UiAS-2HnD version: 6.43.8) или интернет центр (Zyxel Keenetic Giga 2)
  • Наличие интернета
  • И желание
  • Навыки работы с консолью

Моя сеть: 172.33.33.0/24

FOG сервис: 172.33.33.25

Рабочая система, у меня это 172.33.33.16 с осью Ubuntu 18.04 Desktop amd64 на ноутбуке Lenovo E555

Шлюз: 172.33.33.1

На заметку: Дабы все у Вас получилось, то повторяйте шаг за шагом.

Шаг №1: На роутере нужно прописать опции необходимые для работы сервиса FOG, для этого подключаюсь к своему роутеру по SSH и дополняю настройки своего DHCP-сервиса. В Вашем случае вы уже сами должны уметь прописывать записи.

ekzorchik@navy:~$ ssh -l ekzorchik 172.33.33.1

[ekzorchik@ekzorchik] > ip dhcp-server network set 0 next-server=172.33.33.25 boot-file-name=undionly.kpxe

[ekzorchik@ekzorchik] > ip dhcp-server network print where boot-file-name=undionly.kpxe

Flags: D - dynamic

# ADDRESS GATEWAY DNS-SERVER WINS-SERVER DOMAIN

0 172.33.33.0/24 172.33.33.1

[ekzorchik@ekzorchik] > quit

Connection to 172.33.33.1 closed.

ekzorchik@navy:~$

Шаг №2: Обновляю систему (Ubuntu 18.04 Server amd64) до самого последнего состояния в рамках релиза с долговременной поддержкой (т. е. LTS):

ekzorchik@srv-bionic:~$ sudo nano /etc/update-manager/release-upgrades

[DEFAULT]

Prompt=never

ekzorchik@srv-bionic:~$ sudo rm -Rf /var/lib/apt/lists/

ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt-get upgrade -y

ekzorchik@srv-bionic:~$ sudo apt-get install software-properties-common -y

Шаг №3: Скачиваю пакет FOG самый последний (на момент написания данного руководства):

ekzorchik@srv-bionic:~$ wget https://github.com/FOGProject/fogproject/archive/1.5.5.tar.gz

Шаг №4: Распаковываю скачанный пакет FOG и устанавливаю в систему:

ekzorchik@srv-bionic:~$ tar zxf 1.5.5.tar.gz

ekzorchik@srv-bionic:~$ sudo mv fogproject-1.5.5/ /opt/fog

ekzorchik@srv-bionic:~$ cd /opt/fog/bin

ekzorchik@srv-bionic:/opt/fog/bin$ sudo ./installfog.sh

Version: 1.5.5 Installer/Updater

What version of Linux would you like to run the installation for?

1) Redhat Based Linux (Redhat, CentOS, Mageia)

2) Debian Based Linux (Debian, Ubuntu, Kubuntu, Edubuntu)

3) Arch Linux

Choice: [2] Вариант определения текущего дистрибутива меня устраивается и нажимаю клавишу «Enter»

*** Detected a potential need to reinstall apache and php files.

*** This will remove the /etc/php* and /etc/apache2* directories

*** and remove/purge the apache and php files from this system.

*** If you're okay with this please type Y, anything else will

*** continue the installation, but may mean you will need to

*** remove the files later and make proper changes as

*** necessary. (Y/N): Нажимаю клавишу «Y»

FOG Server installation modes:

* Normal Server: (Choice N)

This is the typical installation type and

will install all FOG components for you on this

machine. Pick this option if you are unsure what to pick.

* Storage Node: (Choice S)

This install mode will only install the software required

to make this server act as a node in a storage group

What type of installation would you like to do? [N/s (Normal/Storage)] Нажимаю клавишу «N»

What is the IP address to be used by this FOG Server? [172.33.33.25] Нажимаю клавишу «Enter»

Would you like to change the default network interface from enp0s3?

If you are not sure, select No. [y/N] Нажимаю клавишу «N»

Would you like to setup a router address for the DHCP server? [Y/n] Нажимаю клавишу «n»

Would you like DHCP to handle DNS? [Y/n] Нажимаю клавишу «n»

Would you like to use the FOG server for DHCP service? [y/N] Нажимаю клавишу «N»

This version of FOG has internationalization support, would

you like to install the additional language packs? [y/N] Нажимаю клавишу «N»

* Are you sure you wish to continue (Y/N) Нажимаю клавишу «Y»

На заметку: Если у Вас не проходит инсталляция, то мой Вам совет смотрите логи:

ekzorchik@srv-bionic:/opt/fog/bin$ tail -f error_logs/fog_error_1.5.5.log

Мне помогло найти ошибку почему я получал вот такую вот отбивку:

* Adding needed repository....................................Failed!

В логах значилось:

../lib/common/functions.sh: line 539: add-apt-repository: command not found

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

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

apache2 bc build-essential cpp curl g++ gawk gcc genisoimage gzip htmldoc isolinux lftp libapache2-mod-php7.1 libc6 libcurl3 liblzma-dev m4 mysql-client mysql-server net-tools nfs-kernel-server openssh-server php7.1 php7.1-bcmath php7.1-cli php7.1-curl php7.1-fpm php7.1-gd php7.1-json php7.1-ldap php7.1-mbstring php7.1-mysql php7.1-mysqlnd php-gettext sysv-rc-conf tar tftpd-hpa tftp-hpa unzip vsftpd wget xinetd zlib1g

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

* Is the MySQL password blank? (Y/n) n

* Enter the MySQL password: 712mbddr@ (Это мой тестовый пароль, Вы же задаете свой)

* Re-enter the MySQL password: 712mbddr@ (Это мой тестовый пароль, Вы же задаете свой)

* You still need to install/update your database schema.

* This can be done by opening a web browser and going to:

http://172.33.33.25/fog/management

* Press [Enter] key when database is updated/installed. Нажимаю клавишу «Enter»

* Setup complete

You can now login to the FOG Management Portal using

the information listed below. The login information

is only if this is the first install.

This can be done by opening a web browser and going to:

http://172.33.33.25/fog/management

Default User Information

  • Username: fog
  • Password: password

Отлично, вот что значит инсталляционный скрипт экономящий время от разработчиков продукта FOG.

Отобразить какие сайты автоматический установщик сделал:

ekzorchik@srv-bionic:~$ sudo a2ensite

Your choices are: 000-default 001-fog default-ssl

Which site(s) do you want to enable (wildcards ok)?

Или

ekzorchik@srv-xenial:~$ apache2ctl -S | grep fog

*:80 172.33.33.25 (/etc/apache2/sites-enabled/001-fog.conf:1)

ekzorchik@srv-bionic:~$ cat /etc/apache2/sites-available/001-fog.conf

<VirtualHost *:80>

<FilesMatch "\.php$">

SetHandler "proxy:fcgi://127.0.0.1:9000/"

</FilesMatch>

KeepAlive Off

ServerName 172.33.33.25

DocumentRoot /var/www/

<Directory /var/www/fog/>

DirectoryIndex index.php index.html index.htm

</Directory>

RewriteEngine On

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)

RewriteRule .* - [F]

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d

RewriteRule ^/fog/(.*)$ /fog/api/index.php [QSA,L]

</VirtualHost>

Обращаюсь через браузер Mozilla Firefox к данному URL адресу со своей рабочей системы: http://172.33.33.25/fog/management, первое что меня встречает это указание от Мастера, что для завершения процесса нужно нажать на кнопку «Install/Update Now» это действие установит в систему базу mysql под именем fog.

Устанавливаю FOG Management на Ubuntu 18.04 Server

Нажимаю Intsall/Update Now, затем щелкаю левой кнопкой мыши по гиперссылке (http://172.33.33.25/fog/management/index.php) с надписью «here»

Установка завершена, перехожу на страницу авторизации

и вот только теперь база появилась:

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "show databases like 'fog'"

mysql: [Warning] Using a password on the command line interface can be insecure.

+----------------+

| Database (fog) |

+----------------+

| fog |

+----------------+

Авторизуюсь в Web-интерфейсе по ссылке выше которой перебросило Вас на следующий шаг:

  • Username: указываю дефолтный логин → fog
  • Password: указываю дефолтный пароль от логина → password
  • Language: English (т. к. я не устанавливал дополнительные языки, учитесь использовать мировой язык, сильно облегчит Вам жизнь в случае поиска каких-либо ошибок)

и нажимаю кнопку «Login»

Авторизуюсь в системе FOG с дефолтными аутентификационными данными

и вот она Web-панель администрирования

И вот она панель администрирования

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

Users — Create New User (Когда наводите указатель мыши на верхние элементы кнопок появляется подсказка о именовании их) и заполняю поля:

  • User Name: ekzorchik
  • Friendly Name: ekzorchik
  • User Password: 712mbddr@
  • User Password (confirm): 712mbddr@
  • Create user? Нажимаю кнопку «Create»

Создаю свой административный аккаунт в FOG Management

После уже работа с данным инструментом может вестить как под дефолтной учетной записью или под ново созданной (права доступа одинаковые, хотя тут нет вообще установки прав доступа, просто добавление пользователей системы).

Итак процедура инсталляции Web-панели F.O.G успешно завершена на Ubuntu 18.04 Server amd64.

На этом я прощаюсь, в дальнейшем буду заметки, как использовать данный инструмент на благо системного администрирования, с уважением автор блога Олло Александр aka ekzorchik.