Установка Elastix 3 с “флешки”

Elastix — это платформа для унифицированных коммуникаций с открытым исходным кодом, которая объединяет в едином интерфейсе:
IP-АТС
Электронную почту
Биллинг
Jabber-сервер
Факс-сервер
CRM-систему
и средства для организации групповой работы.
Elastix имеет веб-интерфейс и включает в себя такие возможности, как организации колл-центра, аудиозапись разговоров, голосовую почту, IVR, управление аудио-конференций.

Функциональность Elastix основана на проектах с открытым кодом, включая Asterisk, HylaFAX, OpenFire, A2Billing, RoundCube, MySQL, vTiger CRM, FreePBX и Postfix.
Скопипастил здесь

Далее будет описано, как установить Elastix 3 с «флешки»
Всё проверялось и 100% работает с следующими исходными данными:
VM1 server1.mydrafts.local — 192.168.100.1 — debian 7
VM2 — виртуальная машина для Elastix’а. О параметрах см.ниже
Elastix-3.0.0-Stable-x86_64-bin-10nov2014.iso
Итак…

Шаг 1. Создание флешки

На машине server1 с Debian 1.1. Воткнуть флешку
VirtualBox
Step 1.1 - Attach usb key
/ VirtualBox
1.2. Установить следующие пакеты
# apt-get install dosfstools git  isomd5sum syslinux extlinux

1.3. «Найти флешку»
# dmesg
[  245.835990] scsi 4:0:0:0: Direct-Access     JetFlash Transcend 16GB   1.00 PQ: 0 ANSI: 6
[  245.837585] sd 4:0:0:0: Attached scsi generic sg3 type 0
[  245.847939] sd 4:0:0:0: [sdc] 30867456 512-byte logical blocks: (15.8 GB/14.7 GiB)

1.4. Затереть MBR
# dd if=/dev/zero of=/dev/sdc bs=512 count=1

1.5. Создать необходимую разметку
# fdisk /dev/sdc
Command (m for help):  n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-30867455, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-30867455, default 30867455): 
Using default value 30867455

Command (m for help): a
Partition number (1-4): 1

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): c
Changed system type of partition 1 to c (W95 FAT32 (LBA))

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

1.6. Отформатировать
# mkfs.vfat /dev/sdc1

1.7. Создать место сбора:
# mkdir /elastix3FromUSB
# cd /elastix3FromUSB

1.8. Необходимые инструменты 😉 :
# git clone git://git.fedorahosted.org/livecd

1.9. собственно дистрибутив Elastix
# wget http://sourceforge.net/projects/elastix/files/Elastix%20PBX%20Appliance%20Software/3.0.0/Elastix-3.0.0-Stable-x86_64-bin-27oct2014.iso

1.10. «тайное шаманство»:
# bash livecd/tools/livecd-iso-to-disk.sh Elastix-3.0.0-Stable-x86_64-bin-27oct2014.iso /dev/sdc1


Fragment sums: 723d7632f8c8ab638b74ca57e878e457fe5974cfdee15c94a96fdaba4924
Fragment count: 20
Press [Esc] to abort check.
Checking: 100.0%

The media check is complete, the result is: PASS.

It is OK to use this media.
MBR appears to be blank.
Press Enter to replace the MBR and continue or ctrl-c to abort

Copying DVD image to target device.
install.img
   153255936 100%    7.96MB/s    0:00:18 (xfer#1, to-check=0/1)

sent 153274716 bytes  received 31 bytes  8285121.46 bytes/sec
total size is 153255936  speedup is 1.00
Updating boot config file
Installing boot loader
Target device is now set up with a Live image!

# sync

1.11. кое-что надо доделать…
# mkdir /mnt/{usb,iso,img}
# mount Elastix-3.0.0-Stable-x86_64-bin-27oct2014.iso /mnt/iso
mount: block device /elastix3FromUSB/Elastix-3.0.0-Stable-x86_64-bin-27oct2014.iso is write-protected, mounting read-only

# mount /dev/sdc1 /mnt/usb
# cp /mnt/iso/images/install.img ./
# mount install.img /mnt/img
mount: warning: /mnt/img seems to be mounted read-only.

1.12. узнать «тайный код»
# blkid /dev/sdc1
/dev/sdc1: UUID="A801-FBBC" TYPE="vfat" LABEL="LIVE"

1.13. воспользоваться оным:
# sed -i 's/cdrom/hd:UUID=A801-FBBC/g'  /mnt/usb/syslinux/syslinux.cfg

1.14. скопировать да подредактировать:
# cp /mnt/iso/ks_default.cfg /mnt/usb/
# cp -R /mnt/iso/Elastix /mnt/usb/
# cp -R /mnt/iso/repodata /mnt/usb/
# sed -i 's/^cdrom/#cdrom/g'  /mnt/usb/ks_default.cfg 
# sync
# umount /mnt/{iso,usb,img}

флешка готова

Шаг 2. Установка Elastix 3 c флешки

Собственно всё что будет написано ниже, актуально для VirtualBox и основано на материалах статьи о том как загрузить ВМ с флешки
Итак перво-наперво необходимо создать новую ВМ (если есть в планах желание «поиграться» с эластиксом на ВМ, то лучше создавать с двумя сетевыми картами — одна «в мир», вторая «внутренняя сеть», жёсткий диск не менее 20 гб). Далее:
2.1. На хост-машине:
2.1.1. Найти только что созданную флешку (предварительно желательно отключить/подключить), после чего:
# dmesg
…
…
…
[ 1464.738097] scsi 8:0:0:0: Direct-Access     FLASH    Drive AU_USB20   8.07 PQ: 0 ANSI: 2
[ 1464.739530] sd 8:0:0:0: [sdg] 4036608 512-byte logical blocks: (2.06 GB/1.92 GiB)
[ 1464.740098] sd 8:0:0:0: [sdg] Write Protect is off
[ 1464.740100] sd 8:0:0:0: [sdg] Mode Sense: 03 00 00 00
…
…
...
[ 1465.637070] sd 8:0:0:0: [sdg] Attached SCSI removable disk

2.1.2. под ROOTом разрешить писать всем
# chmod a+rwx /dev/sdg

2.1.3. список ВМ
# VBoxManage list vms
"vMyDrafts.local" {ab01ea2b-6378-4ff2-8fa7-ad7193e90eb6}
"tftp.MyDrafts.local" {625ab911-ecd5-47a1-9f40-fb0a95ca0975}
"mydrafts.ru http-server-itk" {92ed6c1e-2a71-4863-92ff-8d92b2ae8c7b}
"elastix3.mydrafts.local" {691508c3-da5f-4f25-8b36-79bcbe9b3979}

2.1.4. найти папку с ХДД
# VBoxManage showvminfo elastix3.mydrafts.local |egrep '^SATA|^IDE' --color
IDE (1, 0): Empty
SATA (0, 0):/myVBox/vMyDrafts/elastix3.mydrafts.local/elastix3.mydrafts.local.vdi (UUID: 7cac7e26-dcf2-49de-99a7-47b3075934e2)

2.1.5. и создать туда же рав-диск (назовём Elastix3USB.vmdk)
# VBoxManage internalcommands createrawvmdk -filename /myVBox/vMyDrafts/elastix3.mydrafts.local/ть -rawdisk /dev/sdg
RAW host disk access VMDK file /myVBox/vMyDrafts/elastix3.mydrafts.local/Elastix3USB.vmdk created successfully.

2.1.6. подключить Elastix3USB.vmdk
elastix3_from_usb_scr01
elastix3_from_usb_scr03
2.1.7. В итоге ВМ с Эластикс должна выглядеть так:
elastix3_from_usb_scr02
Запускаем!
!!! Во время запуска нажать F12 для выбора загрузочного диска !!!
!!! После установки, не перегружаем, а ВЫКЛЮЧАЕМ ВМ; отключаем Elastix3USB.vmdk; включаем и отвечаем на пару вопросов…!!!

PS скачать образ — Писать на флешку не менее 2гб.
Под *nix: dd if=/путь/к/файлу.img of=/dev/sdX — sdX-флешка
Под Windows использовать UltraIso, скрин в архиве