Skip to content

Instantly share code, notes, and snippets.

@Alex4386
Last active January 2, 2024 04:02
Show Gist options
  • Save Alex4386/afcc738b0fe9a49806ec9c64185f8820 to your computer and use it in GitHub Desktop.
Save Alex4386/afcc738b0fe9a49806ec9c64185f8820 to your computer and use it in GitHub Desktop.
iwinv에 FreePBX (정확하게는 Sangoma Linux) 설치하기

FreePBX 설치하기

Note
차라리 다른 회사꺼로 셋팅 하세요. ISO 설치도 안 열어줘서 하기 힘듭니다.
돈 아낀다고 이게 뭐하는 짓인지 모르겠네.
이상한 한국 법때문에 발신자 전화번호 앞에 국제전화 붙기 싫으면 KRNIC IP 주는 애로 등록해야 되는거 너무 빡치는데

이 가이드는 SNG7-PBX16-64bit-2302-1.ISO 기준으로 작성되었습니다

사전 구성

  1. Ubuntu 22.04 기준으로 일단 만든다.
  2. 블럭 스토리지를 만들고 장착한다 (/dev/vdb 에 있다고 가정하겠음)
  3. 대충 fdisk 로 파티션 만들고 /dev/vdb1 에 ext4 파일 시스템을 만든다
  4. /dev/vdb1iso 저장용 폴더를 하나 만들어 놓고 거기에 freepbx iso 를 다운 받는다.
  5. mount -o loop {iso경로} /mnt/loop 으로 해서 iso 이미지를 연다
  6. mount /mnt/loop/LiveOS/squashfs.img /mnt/sqsh 를 마운트 한다
  7. mount /mnt/sqsh/LiveOS/rootfs.img /mnt/root 로 대충 루트 시스템 마운트 한다
  8. /mnt/root 내의 콘텐츠를 대충 /dev/vdb1 의 루트에 다 카피한다 (cp -rP 등으로 퍼미션까지 카피)
  9. blkid /dev/vdb1 으로 파일시스템 UUID 를 메모해 둔다.
  10. /etc/default/grub.d/50-cloudinit... 을 삭제한다
  11. /etc/default/grub 의 타임아웃 0초를 30초 정도로 넉넉하게 둬놓고 hidden 으로 되어있는 걸 푼다
  12. update-grub 돌린다
  13. reboot

Sangoma Linux rootfs 로 부팅하기

  1. GRUB에서 Ubuntu 부팅 선택화면이 뜨면 e 를 눌러 편집 화면으로 들어간다.
  2. linux 로 시작하는 커널 로드 부분에 root=UUID= 뒷 부분을 아까 에서 메모해 뒀던 UUID 로 바꾼다.
  3. 해당 부분 뒤에있는 ro를 알아서 rw 로 바꾸고, quiet splash 뒤에 있는 부분도 지워준다.
  4. rw 뒤에 플래그를 다음과 같이 입력한다.
    inst.resolution=1024x768 net.ifnames=0 viosdevname=0 asterisk=18 freepbx=16 inst.ks=hd:LABEL=SNG7-23051:/kickstarts/base.ks
    
    디스크의 라벨이 SNG7-23051 이 아니더라도 남겨 둘것. 고의적으로 부팅 즉시 anaconda 가 작동하지 않도록 만드려는 것임.
  5. Ctrl+X 를 통해 부팅한다.
  6. anaconda에서 /run/install/ks.cfg를 찾을 수 없다는 내용이 나오면 Ctrl+Alt+F2를 눌러 tty2 로 넘어간다.
  7. mkdir -p /run/install/repo 한다
  8. 아까 백업 해둔 iso를 /run/install/repo 에 마운트 한다. mount -o loop /iso/SNG7-...iso /run/install/repo
  9. /run/install/repo/kickstarts/base.ks/run/install/ks.cfg 로 복사한다.
  10. /run/install/ks.cfg 를 편집하여 파티션 관련 두줄을 삭제한다.
    (코드 변작을 허용하지 않으므로 라이선스 위반이긴 하니 참고...나 대한민국 판례로는 GPL보다 영업비밀이 우선이니 안 들키면 장땡 ㅋㅋ ^^7)
  11. systemctl restart anaconda 를 돌린다.
  12. 알아서 디스크 파티션 설정하고 설치하세요 ^^
@Alex4386
Copy link
Author

Alex4386 commented Jan 2, 2024

image
이제 국제전화로 안뜬다 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment