3CX Otomatik Proxmox Kurulum Kılavuzu
Bu konuda:
Genel Bakış
Ön Koşullar
3CX Proxmox Kurulum Araçlarını İndirin
3CX Telefon Sistemini Kurma
Kurulum klasörünüzü hazırlayın
.ENV dosyanızı yapılandırın
Proje Dizin Yapısı
Kurulum komut dosyasını çalıştırın
Kurulumu izleyin
Otomatik Kurulum ve Devir Teslim
Kurulum Sonrası Notlar
3CX Portalından setupconfig.xml dosyanızı alın
Genel Bakış
Bu kılavuz, Proxmox VE üzerinde bir 3CX PBX sanal makinesinin otomatik olarak kurulmasını ele almaktadır. Debian genel bulut görüntüleri ve Cloud-Init’i kullanan bu komut dosyası, hesaplama kaynaklarını hazırlar, DHCP aracılığıyla ağ yapılandırmasını yönetir, gerekli kurulum komut dosyalarını yükler ve isteğe bağlı olarak bir 3CX yedeğini arka planda geri yükleyebilir.
Ön Koşullar
Kurulum komut dosyasını çalıştırmadan önce aşağıdaki ön koşulların sağlandığından emin olun:
- Proxmox kurulumu: https://www.proxmox.com/en/products/proxmox-virtual-environment/get-started
- Proxmox depolama yapılandırması:
- Veri Merkezi -> Depolama’ya gidin.
- yerel‘i seçin ve Düzenle‘ye basın.
- “İçerik” açılır menüsünde, ‘Parçacıklar’ ve “Disk Görüntüsü” seçeneklerinin seçili olduğundan emin olun.
- Root Erişimi: Proxmox düğümüne root olarak oturum açmış olmanız gerekir.
- SSH Anahtarları: Proxmox ana bilgisayarında bir SSH anahtar çifti bulunmalıdır (ör: /root/.ssh/id_rsa).
- Internet Erişimi: Proxmox düğümü, temel görüntüyü indirebilmek için cloud.debian.org adresine erişebilmelidir.
- DHCP Rezervasyonu: Hedef ağda, yapılandırmanızda tanımlanan MAC adresine atanmış bir IP adresi bulunan bir DHCP sunucusu bulunmalıdır.
Not: Yukarıdaki örnek, bir WatchGuard ortamında DHCP rezervasyonunu göstermektedir. Statik MAC-IP eşlemesini yapılandırmak için kullanılacak arayüz ve adımlar, kullandığınız ağ donanımına (ör. pfSense, UniFi, FortiGate veya Windows Server) göre değişiklik gösterecektir. Temel gereklilik aynı kalır: bu statik benzersiz MAC adresi, ağınızdaki bu ayrılmış IP adresine kalıcı olarak bağlanacak ve aşağıda 3CX Telefon Sistemini Kurma bölümünde açıklanan şekilde .env dosyanızda kullanılacaktır.
3CX Proxmox Kurulum Araçlarını İndirin
- Proxmox ana bilgisayarına root kullanıcısı olarak SSH (veya web yönetimi arayüzü) üzerinden giriş yapın
- Home klasörüne gidin ve 3CX kurulum araçlarını indirin:
cd ~
wget https://downloads-global.3cx.com/downloads/misc/3cx-proxmox.tar.gz
tar -zxvf 3cx-proxmox.tar.gz
3CX Telefon Sisteminizin Kurulumu
Kurulum klasörünüzü hazırlayın
- Yeni PBX'iniz için özel bir klasör oluşturun (bu örnekte ~/3cx-proxmox/deployments/pbx01) ve ortam şablonunu bu klasöre kopyalayın:
cd ~/3cx-proxmox
cp -r deployment-template/ deployments/pbx01
Not: Sessiz geri yükleme işlemi gerçekleştiriyorsanız, setupconfig.xml ve 3cx-backup.zip dosyalarını da bu klasöre kopyalamanız gerekir.
.ENV dosyanızı yapılandırın
nano ~/3cx-proxmox/deployments/pbx01/3cx-proxmox.env
Aşağıdaki noktalara dikkat edin:
- PBX_INSTALLATION_MODE değerini “manual” (varsayılan) olarak ayarlayın:
- Seçenek 1: geçerli bir ~/3cx-proxmox/deployments/pbx01/setupconfig.xml dosyası oluşturun.
- setupconfig.xml dosyası hakkında ayrıntılı bilgi için okuyun
- Seçenek 2: Alternatif olarak, 3CX Portal'dan geçerli bir minimum yapılandırma içeren, önceden hazırlanmış bir setupconfig.xml dosyası edinebilirsiniz.
- Geri yükleme işlemi yapıyorsanız, BACKUP_FILE değerini yedeklemenizin dosya adı olarak ayarlayın ( ~/3cx-proxmox/deployments/pbx01 içinde)
- Web arayüzü kurulumuna geçmek için PBX_INSTALLATION_MODE değerini “wizard” olarak ayarlayın
- VMID'yi kullanılabilir ve benzersiz bir Proxmox VM kimliğine ayarlayın
- Proxmox komut satırından qm list komutunu kullanarak şu anda kullanılmakta olan sanal makine kimliklerini kontrol edebilirsiniz
- 3CX sunucunuz için aşağıdakilerle ilgili uygun değerleri ayarlayın (bazı işaretler burada: Donanım Gereksinimleri):
- DISK_GB (varsayılan 40)
- CORES (varsayılan 2)
- SOCKETS (varsayılan 1)
- MEMORY_MB (varsayılan 2048)
- MAC adresinizi, yukarıdaki ön koşullar aşamasında belirlediğiniz değere ayarlayın
- (opsiyonel) VLAN_TAG değerini ayarlayın (carsayılan boş)
- Istenilen 3CX Sürüm değişkenlerini ayarlayın; sonuncusu Sürüm 20 Güncelleme 8:
- PBX_VERSION="20.0.8.1121"
- PBX_REPO="bookworm"
- PBX_REPO_VERSION="2008"
- CLOUD_IMAGE_URL=https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2
- CLOUD_IMAGE_FILE=debian-12.qcow2
- (opsiyonel) Proxmox ana sunucunuz ile konuklar arasındaki iletişimi güvenli hale getirmek için özel anahtarlar oluşturduysanız, SSH_PUBLIC_KEY_FILE ve SSH_PRIVATE_KEY_FILE yollarını ayarlayın
3CX'in kurulumu ve setupconfig.xml dosyası aracılığıyla ayarların yapılandırılması hakkında daha fazlasını okuyabilirsiniz
Proje Dizin Yapısı
Dizin yapınız şu şekilde görünmelidir:
Kurulum komut dosyasını çalıştırın
Ana betiği çalıştırın ve --config (veya -c) bayrağını kullanarak belirli ortam dosyasının yolunu belirtin:
cd ~/3cx-proxmox
./create-3cx-vm.sh --config ./deployments/pbx01/3cx-proxmox.env
root@QA-pve:~# cd ~/3cx-proxmox
root@QA-pve:~/3cx-proxmox# ./create-3cx-vm.sh --config ./deployments/pbx01/3cx-proxmox.env
[INFO] Deployment configuration folder: /root/3cx-proxmox/deployments/pbx01
[INFO] Creating unique Cloud-Init profile at /var/lib/vz/snippets/3cx-profile-300.yaml...
[INFO] Injecting XML setupconfig.xml...
[INFO] Injecting script ./scripts/3cx-setup.sh...
[INFO] Injecting PBX version to install 20.0.8.1121.
[INFO] Injecting PBX repository distribution...
[INFO] Injecting PBX repository version channel...
[INFO] Injecting PBX installation mode...
[INFO] Creating VM 300
[INFO] Importing Disk...
importing disk '/var/lib/vz/template/qcow2/debian-12.qcow2' to VM 300 ...
Formatting '/var/lib/vz/images/300/vm-300-disk-0.raw', fmt=raw size=3221225472 preallocation=off
transferred 0.0 B of 3.0 GiB (0.00%)
transferred 30.7 MiB of 3.0 GiB (1.00%)
Kurulumu izleyin
Bu komut dosyası, terminal üzerinden anlık geri bildirim sağlar. Sistematik olarak şunları yapar:
- Debian bulut görüntüsünü indirir (önbellekte yoksa).
- Komut dosyalarınızı ve değişkenlerinizi benzersiz bir Cloud-Init parçacığına dinamik olarak ekler.
- VM'nin hesaplama kaynaklarını ve ağ arabirimini hazırlar.
- VM'yi başlatır ve QEMU Konuk Aracısının atanan DHCP IP adresini bildirmesini bekler.
[INFO] Applying Cloud-Init settings...
update VM 300: -cicustom vendor=local:snippets/3cx-profile-300.yaml -ciuser root -ipconfig0 ip=dhcp -scsi1 local:cloudinit -serial0 socket -sshkeys ssh-rsa%20AAAAB3NzaC1yc2EAAAADAQABAAACAQCifHLUh%2FJ%2F2gK%2Fz1uYuipXtgLxgaf6Egj%2B%2BhTPKWb%2Ba5Uc%2FOfIaA1Km8YuZrXE3652DA7mhjMmAslyYSno2uARwRnGzpwVPLnFEwshylPiiHdaS%2FFgSAV6XpQyzLepbB01ek4QqrPhB35NDGxlrIeKYRycfFdgy%2Fcwj54EQtHTIMwDBpczjRQxf%2BMISqgL5rJRziWfuuXAh06ocP1J8m4yAb8EGygVgXZIcuyToXQXweFq6zEl%2FnhqEACtVdcNJedcjpXiJENk%2Fd%2BTqoYQFcA42vHk5DI2vJ7uY3qkgTkDzz4PjkKXPu2VwHFH9DIdBkVMxx1HVBxGuDIkFSnc5IUlqEW7oKnUQAycZyt%2BOLbZNpKQNhMZ9itgRPEx96w%2BJy%2BllYoFF2H5LavE7wmBiN6aT8YS209xLV9jGhikU0JM0EfEUiQfTDM836xpdJgUZWbxXHxpmMR2XfDdPgo6jbA7JGzzR3BjGYDie3SbjNVk%2B9PugBSu1wSVgq3sfR9I%2FWLHw%2FRJlsuE19yMcSsuhahIP9rrcxc38bSFJbHW4yj1adhoKSzGi1XBB0QzVbL34grztYZ1BTtWP76FWtr1zc1Gy28AwqfRLasUgWWbosaiPJ%2Fkkn0ErlmDLI0ra%2Bibu%2BRItyzBiH4UcEkay5GOVLkpg%2FWyvHjcihZfN6SC50tdhw%3D%3D%20root%40QA-pve%0A -vga serial0
Formatting '/var/lib/vz/images/300/vm-300-cloudinit.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=metadata compression_type=zlib size=4194304 lazy_refcounts=off refcount_bits=16
scsi1: successfully created disk 'local:300/vm-300-cloudinit.qcow2,media=cdrom'
generating cloud-init ISO
[INFO] Virtual machine has been deployed successfully.
[INFO] Generating deployment notes file...
[INFO] Starting VM...
generating cloud-init ISO
[INFO] Waiting for QEMU Guest Agent to report IP address (this takes 1-2 minutes)...
[INFO] VM is online with IP: 10.28.5.177
[INFO] Waiting for SSH to be ready...
[INFO] Clear old IP address in known_hosts file that might interfere with the SSH connection...
# Host 10.28.5.177 found: line 1
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old
[INFO] Executing 3CX Setup Script...
Otomatik Kurulum ve Devir Teslim
IP adresi tespit edildiğinde, komut dosyası SSH çakışmalarını önlemek için Proxmox'taki known_hosts dosyanızı otomatik olarak temizler. Ardından yedekleme dosyasını (varsa) güvenli bir şekilde kopyalar ve 3cx-setup.sh kurulum komut dosyasını uzaktan çalıştırır.
İşlem tamamlandığında, sanal makinenin özetini içeren bir başarı mesajı görüntülenecektir.
Kurulum Sonrası Notlar
Seçilen PBX_INSTALLATION_MODE değerine bağlı olarak son adımlar değişiklik gösterecektir:
- Sihirbaz Modu: Komut dosyası, 3CX Web Sihirbazı yanıt verene kadar yeni oluşturulan sanal makineyi kontrol etmeye devam edecektir. İşlem tamamlandığında, kurulumunu sonlandırmak için tarayıcınızda http://<VM_IP>:5015 adresine gidin.
- Manuel Mod: PBX, eklenmiş setupconfig.xml dosyasını kullanarak sessiz bir şekilde kurulacak ve isteğe bağlı olarak sağlanan yedekleme dosyasından geri yükleme işlemi gerçekleştirecektir. Sihirbazla herhangi bir etkileşim gerekmemektedir.
Not: Kurulum günlükleri yapılandırma dizininde bulunabilir. Örneğin:
~/3cx-proxmox/deployments/pbx01/vm-300-deployment-notes.txt
3CX Portalından setupconfig.xml dosyanızı alın
3CX Portal'dan önceden yapılandırılmış bir minimal setupconfig.xml dosyasını doğrudan almak için:
- 3CX Portal hesabınıza giriş yapın
- Hedef sisteminizi belirleyin Kur bağlantısını tıklayın
- On Premise seçeneğini seçin ve Next düğmesine tıklayın
- Sisteminizdeki dahili numaraların basamak sayısını seçin ve Next düğmesine tıklayın
- Sisteminiz için bölgesel tercihlerinizi seçin ve Next düğmesine tıklayın
- Son sayfada Linux platformunu seçin
- SetupConfig.xml dosyasını indirmek için Download bağlantısına tıklayın
- İndirdiğiniz SetupConfig.xml dosyasının adını setupconfig.xml olarak değiştirin – kurulum komut dosyaları büyük/küçük harfe duyarlıdır
- setupconfig.xml dosyasını Proxmox makinenize ~/3cx-proxmox/deployments/pbx01/setupconfig.xml konumuna kopyalayın
Son Güncelleme
Bu döküman en son 2 Haziran 2026’da güncellendi.
