У меня ЧП. При незапланированном отключении электричества я понадеялся на авось, бесперебойник выдержит и мой HP MicroServer Gen8 (4CPUs x 2,494Ghz, Intel Xeon CPU E3-1265L V2 2.50GHz, RAM 12Gb) успешно выключит все виртуальные машины, но да он выключил, но в процессе два диска по 1Tb в Bay3 & Bay4 хоть и были в RAID 1 успешно умерли до хрустов, а на них находились мои важные виртуальные машины:

  • srv-domoticz (Ubuntu 18.04)
  • srv-fog (Ubuntu 18.04)
  • srv-wiki (Mercurial, 3Proxy + Tor)

и данные с них не восстановить, но ничего все бывает в первый раз, значит не все продумал. В виду этого факта я приобрел себе другой сервер на базе Motherboard: Supermicro SYS-5019S-M где на нем установил Proxmox 6 и попробую использовать ZFS, как и писал ранее + подошла память: M378A4G43MB1-CTD в количестве двух штук.

Итого, я заново воссоздаю свою рабочую структуру, сейчас на первом месте разобрать как установить FOG Project на Ubuntu 18.04 Server заново от и до:

На заметку: От 25.01.2022 Лучше ставить версию 1.5.8 (https://github.com/FOGProject/fogproject/archive/1.5.8.tar.gz), она стабильнее т.к. 1.5.9 как по мне какая-то бета.

Шаг №1: Установил (пока вручную, но исправлюсь на автоматизированную через этот сервис) виртуальную машину с осью Ubuntu 18.04 Server

Шаг №2: Через собственный скрипт настройки системы привожу ее к дальнейшему использованию:

ekzorchik@srv-fog:~$ hg clone http://172.35.35.8/hg/default

http authorization required for http://172.35.35.8/hg/default

realm: Mercurial repositories

user: ekzorchik

password:

destination directory: default

requesting all changes

adding changesets

adding manifests

adding file changes

added 3 changesets with 2 changes to 2 files

new changesets da60dcb8f0f5:9934092d9750

updating to branch default

2 files updated, 0 files merged, 0 files removed, 0 files unresolved

ekzorchik@srv-fog:~$

ekzorchik@srv-fog:~$ sudo ./default/default.sh

Шаг №3: Скачиваю самую последнюю версию FOG Project:

ekzorchik@srv-fog:~$ wget https://github.com/FOGProject/fogproject/archive/refs/heads/master.zip

ekzorchik@srv-fog:~$ unzip master.zip

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

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

Шаг №4: Запускаю мастер установки:

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

   Version: 1.5.9 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] выбираю пункт два - 2
  Starting Debian based Installation


  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

  More information:  
     http://www.fogproject.org/wiki/index.php?title=InstallationModes

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

  We found the following interfaces on your system:
      * ens18 - 172.35.35.20/24

  Would you like to change the default network interface from ens18?
  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] нажимаю клавишу y

  Using encrypted connections is state of the art on the web and we
  encourage you to enable this for your FOG server. But using HTTPS
  has some implications within FOG, PXE and fog-client and you want
  to read https://wiki.fogproject.org/HTTPS before you decide!
  Would you like to enable secure HTTPS on your FOG server? [y/N] нажимаю клавишу N

  Which hostname would you like to use? Currently is: srv-fog
  Note: This hostname will be in the certificate we generate for your
  FOG webserver. The hostname will only be used for this but won't be
  set as a local hostname on your server!
  Would you like to change it? If you are not sure, select No. [y/N] нажимаю клавишу N

 * Here are the settings FOG will use:
 * Base Linux: Debian
 * Detected Linux Distribution: Ubuntu
 * Interface: ens18
 * Server IP Address: 172.35.35.20
 * Server Subnet Mask: 255.255.255.0
 * Server Hostname: srv-fog
 * Installation Type: Normal Server
 * Internationalization: 1
 * Image Storage Location: /images
 * Using FOG DHCP: No
 * DHCP will NOT be setup but you must setup your
 | current DHCP server to use FOG for PXE services.

 * On a Linux DHCP server you must set: next-server and filename

 * On a Windows DHCP server you must set options 066 and 067

 * Option 066/next-server is the IP of the FOG Server: (e.g. 172.35.35.20)
 * Option 067/filename is the bootfile: (e.g. undionly.kpxe)


 * Are you sure you wish to continue (Y/N) Y

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

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

и начинается установка

 * You still need to install/update your database schema.
 * This can be done by opening a web browser and going to:

   http://172.35.35.20/fog/management

 * Press [Enter] key when database is updated/installed.

 * Update fogstorage database password.........................Failed!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! The installer was not able to run all the way to the end as   !!
!! something has caused it to fail. The following few lines are  !!
!! from the error log file which might help us figure out what's !!
!! wrong. Please add this information when reporting an error.   !!
!! As well you might want to take a look at the full error log   !!
!! in /opt/fog/bin/error_logs/fog_error_1.5.9.log !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

           └─10086 php-fpm: pool www

Jan 22 16:44:52 srv-fog systemd[1]: Starting The PHP 7.2 FastCGI Process Manager...
Jan 22 16:44:52 srv-fog systemd[1]: Started The PHP 7.2 FastCGI Process Manager.
ERROR 1146 (42S02) at line 1: Table 'fog.globalSettings' doesn't exist
ekzorchik@srv-fog:/opt/fog/bin$

Т.к. при установке mysql-server не использовалось запроса на указания создания пароля на учетную запись root, то я его задам самостоятельно.

ekzorchik@srv-fog:/opt/fog/bin$ sudo mysqladmin -u root password 712mbddr@
ekzorchik@srv-fog:/opt/fog/bin$ cd ~
ekzorchik@srv-fog:~$

Шаг №5: Открываю URL: http://172.35.35.20/fog/management/?node=schema

и нажимаю Install/Update Now

Произвожу инсталляцию FOG Project on Ubuntu 18.04 Server

После

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

Перехожу на гиперссылку "here" / http://172.35.35.20/fog/management/index.php

и вот она страница авторизации:

Default User Information

  • Username: fog
  • Password: password

Авторизуюсь в FOG Project

После успешного входа – FOG Project успешно установлен

После успешного входа - FOG Project успешно установлен

В последующих заметках я еще раз пошагово пройдусь по воссозданию всего того что у меня было при использовании версии 1.5.5.

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

ekzorchik@srv-fog:~$ sudo a2ensite

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

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

ekzorchik@srv-fog:~$

Отключаю дефолтные сайты Apache:

ekzorchik@srv-fog:~$ sudo a2dissite 000-default

Site 000-default already disabled

ekzorchik@srv-fog:~$ sudo a2dissite default-ssl

Site default-ssl already disabled

Шаг №7: Проверяю есть ли ошибки или замечания у настроенного сайта 001-fog и какого его содержимое (это так для справки как это сделано разработчиками)

ekzorchik@srv-fog:~$ apache2ctl -S | grep fog
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
*:80                   172.35.35.20 (/etc/apache2/sites-enabled/001-fog.conf:1)
ekzorchik@srv-fog:~$ 

ekzorchik@srv-fog:~$ echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf
ServerName localhost
ekzorchik@srv-fog:~$ cat /etc/apache2/sites-enabled/001-fog.conf 
<VirtualHost *:80>
    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9000/"
    </FilesMatch>
    ServerName 172.35.35.20
    ServerAlias srv-fog
    DocumentRoot /var/www/
    KeepAlive Off
    <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>
ekzorchik@srv-fog:~$ apache2ctl -S | grep fog
*:80                   172.35.35.20 (/etc/apache2/sites-enabled/001-fog.conf:1)
ekzorchik@srv-fog:~$

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

ekzorchik@navy:~$ ssh -l ekzorchik 172.33.33.1

[ekzorchik@ekzorchik] > ip dhcp-server network set 0 next-server=172.35.35.20 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:~$

Вот теперь отлично у меня снова есть заметка пошаговая, которую я применю к своей виртуальной машине где у меня развернут apt-cacher-ng и с его помощью я создаю собственное зеркало наиболее часто используемых пакетов дабы не лазить каждый раз за ними в интернет. Т.е. не завишу от интернета.

На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.