Panduan Instalasi & Troubleshooting Linux
Debian 11/12 · Ubuntu 20.04 / 22.04 / 24.04 LTS
Pilih versi yang stabil untuk production. Berikut status masing-masing versi berdasarkan pengujian lapangan:
| Versi Server Linux | Status | Catatan |
|---|---|---|
| 5.8.2.2 | Stabil | Direkomendasikan untuk production |
| 5.8.3.x | Perubahan Video | Video call tidak kompatibel dengan client lama |
| 5.8.4.0 | Crash (ABRT) | Bug FFmpeg binding — lihat bagian 9 |
| Item | Keterangan |
|---|---|
| Arsitektur | amd64 (x86_64) saja |
| OS | Ubuntu 20.04 22.04 24.04 LTS Debian 11/12 |
| Database | PostgreSQL (default) atau MS SQL Server |
| Dependensi wajib | libmp3lame0, libopus0 |
| Dependensi codec | libav* sesuai versi OS (lihat bagian 3) |
| RAM | Minimal 4 GB (disarankan 8 GB) |
| CPU | 2 core atau lebih |
Beberapa paket codec dan restricted extras hanya tersedia di repository tambahan.
# Cek repo yang aktif
grep -E "^deb " /etc/apt/sources.list /etc/apt/sources.list.d/* 2>/dev/null
# Aktifkan universe + multiverse (jika belum)
sudo add-apt-repository universe
sudo add-apt-repository multiverse
# Atau edit manual /etc/apt/sources.list, pastikan ada baris seperti:
# deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
# deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
sudo apt update
Edit /etc/apt/sources.list agar memuat main contrib non-free non-free-firmware (Debian 12+):
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
sudo apt update
sudo apt update
sudo apt install -y libmp3lame0 libopus0
Install ubuntu-restricted-extras (codec multimedia, font, dll) lalu library FFmpeg sesuai versi:
sudo apt update
sudo apt install -y ubuntu-restricted-extras
Saat instalasi, terima EULA font Microsoft jika diminta (tab + OK).
sudo apt install -y \
libavdevice58 \
libavcodec58 \
libavformat58 \
libavutil56 \
libswscale5 \
libswresample3
sudo apt install -y \
libavdevice58 \
libavcodec58 \
libavformat58 \
libavutil56 \
libswscale5 \
libswresample3
sudo apt install -y \
libavdevice60 \
libavcodec60 \
libavformat60 \
libavutil58 \
libswscale7 \
libswresample4
sudo apt install -y libavdevice62 libavcodec62 libavformat62 libavutil60 libswscale9 libswresample6
Debian tidak punya paket ubuntu-restricted-extras. Gunakan kombinasi berikut setelah repo main contrib non-free non-free-firmware aktif (Debian 12+) atau main contrib non-free (Debian 11):
sudo apt update
# Meta-packages & codec dasar (semua versi Debian)
sudo apt install -y libavcodec-extra ffmpeg libmp3lame0 libopus0 libvorbis0a libvpx7
# Catatan: libx264, libx265, libvpx versi spesifik bervariasi per rilis Debian.
# Gunakan nama paket generik di atas, atau cari versi spesifik dengan:
# apt-cache search libx264 | head
# apt-cache search libx265 | head
# apt-cache search libvpx | head
sudo apt install -y libavdevice59 libavcodec59 libavformat59 libavutil57 libswscale6 libswresample4
sudo apt install -y libavdevice58 libavcodec58 libavformat58 libavutil56 libswscale5 libswresample3
libx264-* / libx265-* / libvpx* versi spesifik bervariasi per rilis. Gunakan nama generik di atas atau cari dengan apt-cache search.libavdevice.so.62, libavcodec.so.62, dll di /srv/WalkieFleet/).cat /etc/os-release | grep -E "VERSION_ID|PRETTY_NAME"
# Contoh versi 5.8.4 (hindari dulu — lihat bagian 9)
# Ganti URL dengan versi yang sesuai dari halaman resmi
wget https://dl.walkiefleet.com/walkiefleetservice_5.8.4_amd64.deb
# Atau unduh 5.8.2.x dari halaman download resmi:
# https://walkiefleet.com/download
# https://walkiefleet.ru/download
sudo apt install ./walkiefleetservice_*.deb
# PERINGATAN: Pastikan file .deb berasal dari sumber resmi (walkiefleet.com)
# Sebelum install, verifikasi checksum file jika tersedia
Setelah install, folder yang tersedia:
| Path | Fungsi |
|---|---|
/srv/WalkieFleet/ | Binary, DLL, library FFmpeg bawaan |
/etc/WalkieFleet/ServerSettings.conf | Konfigurasi server |
/etc/systemd/system/WalkieFleetService.service | Unit systemd |
/var/WalkieFleet/ | Data, license, recording (dibuat setelah service pertama jalan) |
sudo apt install -y postgresql
sudo systemctl enable --now postgresql
# Buat user (wajib superuser)
# Ganti password dengan yang kuat sebelum production
sudo -u postgres psql -c "CREATE USER wfservice SUPERUSER PASSWORD 'wfservice';"
# Verifikasi
sudo -u postgres psql -c "\du"
File: /etc/WalkieFleet/ServerSettings.conf
[SQLServer]
SqlType=1
SQLServer=127.0.0.1
Authentication=1
Login=wfservice
Password=wfservice
Port=5432
[General]
ServicePort=9999
AppFolder=/var/WalkieFleet
EnableVoiceRecording=1
EnableVideoRecording=1
[Web]
WebPort=9998
#WebCertificateFile=/var/WalkieFleet/Certificates/webcertificate.pfx
#WebCertificatePassword=password
Type=notify yang sering menyebabkan service gagal / timeout.
sudo tee /etc/systemd/system/WalkieFleetService.service > /dev/null << 'EOF'
[Unit]
Description=WalkieFleet Service
After=network.target postgresql.service
Wants=postgresql.service
[Service]
Type=simple
ExecStart=/srv/WalkieFleet/WalkieFleetService
WorkingDirectory=/srv/WalkieFleet
Restart=always
RestartSec=3
Environment=DOTNET_SYSTEMD=1
Environment=LD_LIBRARY_PATH=/srv/WalkieFleet
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable WalkieFleetService
sudo systemctl start WalkieFleetService
sudo systemctl status WalkieFleetService
sudo systemctl status WalkieFleetService
journalctl -u WalkieFleetService -n 30 --no-pager
# Device ID (untuk license)
cat /var/WalkieFleet/DeviceID
# atau
sudo /srv/WalkieFleet/FleetHID
WalkieFleet Server started on Ubuntu xx.xx.x LTS
System database connected
Server started successfully
Port yang harus LISTEN:
| Port | Protokol | Fungsi |
|---|---|---|
| 9999 | TCP | Server Manager / Dispatch |
| 9998 | TCP | Web Manager |
| 10000 | TCP/UDP | Command + Audio |
| 10001 | UDP | Video |
| 10002 | TCP | WebSocket |
| 5432 | TCP | PostgreSQL |
ss -tulnp | grep -E "9998|9999|10000|10001|10002"
# atau
lsof -i -P -n | grep -E "LISTEN|WalkieFleet"
sudo ufw allow 9999/tcp
sudo ufw allow 9998/tcp
sudo ufw allow 10000
sudo ufw allow 10001/udp
sudo ufw allow 10002/tcp
sudo ufw reload
sudo systemctl start WalkieFleetService
sudo systemctl stop WalkieFleetService
sudo systemctl restart WalkieFleetService
sudo systemctl status WalkieFleetService
sudo systemctl enable WalkieFleetService
# Log real-time
journalctl -u WalkieFleetService -f
# Hardware ID
sudo /srv/WalkieFleet/FleetHID
cat /var/WalkieFleet/DeviceID
/srv/WalkieFleet/ → Binary, DLL, libav*.so bawaan paket /etc/WalkieFleet/ServerSettings.conf /etc/systemd/system/WalkieFleetService.service /var/WalkieFleet/ ├── DeviceID → ID unik server (license) ├── Licenses/ → File .wfl ├── Avatars/ ├── Backups/ ├── InstallPackages/ ├── OtapPackages/ ├── Temp/ └── Certificates/ → SSL (opsional)
Biasanya karena Type=notify. Ganti ke Type=simple (bagian 4.5), lalu:
sudo systemctl daemon-reload
sudo systemctl restart WalkieFleetService
sudo systemctl status postgresql
sudo -u postgres psql -c "\du"
psql -h 127.0.0.1 -U wfservice -d postgres
# password: wfservice
sudo systemctl stop WalkieFleetService
cd /srv/WalkieFleet
sudo env \
LANG=C.UTF-8 \
LC_ALL=C.UTF-8 \
LD_LIBRARY_PATH=/srv/WalkieFleet \
DOTNET_SYSTEMD=1 \
./WalkieFleetService
sudo chown -R root:root /srv/WalkieFleet
sudo chmod +x /srv/WalkieFleet/WalkieFleetService
sudo chmod +x /srv/WalkieFleet/FleetHID
universe + multiversecontrib + non-free (+ non-free-firmware di Debian 12)ubuntu-restricted-extras dulu (bagian 3.2).libav* sesuai versi OS (bagian 3.2 / 3.3).sudo apt update, lalu coba lagi.apt-cache search untuk verifikasi.apt-cache search libavdevice | head
apt-cache search libavcodec | head
Active: activating (auto-restart) (Result: core-dump)
Process: ExecStart=/srv/WalkieFleet/WalkieFleetService (code=dumped, signal=ABRT)
Jalankan manual menghasilkan:
Unhandled exception. System.TypeInitializationException:
The type initializer for 'FleetServerCore.ManagementServer' threw an exception.
---> System.NotSupportedException: Specified method is not supported.
at FFmpeg.AutoGen.DynamicallyLoadedBindings...
at FFmpeg.AutoGen.ffmpeg.avdevice_register_all()
at FleetCommon.Codec.Initialize()
at FleetCommon.Sound.Mp3Writer.Initialize()
at FleetServerCore.ManagementServer..cctor()
Aborted
Binary Linux 5.8.4 memanggil avdevice_register_all() (API FFmpeg lama). Library FFmpeg yang dibawa paket (versi baru, libavdevice.so.62 dll) tidak mendukung pemanggilan itu di Linux → NotSupportedException → proses di-abort (signal=ABRT).
| Kondisi | Hasil |
|---|---|
| Fresh install 5.8.4 di Ubuntu 24.04 (sandbox) | Kadang start, port 9998/9999 LISTEN |
| Upgrade / install 5.8.4 di server production | Crash ABRT konsisten |
| Versi 5.8.2.2 di server yang sama | Jalan normal |
Type=simple di systemdLANG=C.UTF-8 / LC_ALL=C.UTF-8LD_LIBRARY_PATH=/srv/WalkieFleetlibavdevice58 / libavdevice60 dlllocale-gen / update-localeDatabase: Backup sebelum upgrade:
sudo systemctl stop WalkieFleetService
sudo cp -a /var/WalkieFleet /var/WalkieFleet.bak.$(date +%Y%m%d)
sudo -u postgres pg_dumpall > /root/wf-pg-backup-$(date +%Y%m%d).sql
Setelah upgrade gagal (crash), rollback:
sudo systemctl stop WalkieFleetService
sudo apt remove walkiefleetservice
# install ulang paket 5.8.2.2
sudo apt install ./walkiefleetservice_5.8.2.*_amd64.deb
# restore data jika perlu
sudo systemctl daemon-reload
sudo systemctl start WalkieFleetService
# 5. Service Type=simple (gunakan konfigurasi dari bagian 4.5)
sudo systemctl daemon-reload
sudo systemctl enable --now WalkieFleetService
sudo systemctl status WalkieFleetService
sudo apt install -y ubuntu-restricted-extras
sudo apt install -y libmp3lame0 libopus0 postgresql \
libavdevice60 libavcodec60 libavformat60 \
libavutil58 libswscale7 libswresample4
# Pastikan sources.list memuat: main contrib non-free non-free-firmware
sudo apt update
sudo apt install -y libavcodec-extra ffmpeg libmp3lame0 libopus0 postgresql \
libavdevice59 libavcodec59 libavformat59 \
libavutil57 libswscale6 libswresample4
# Lanjut sama: install .deb WalkieFleet, buat user DB, unit systemd, start
| Item | Keterangan |
|---|---|
| Diuji pada | Ubuntu 24.04 LTS (sandbox) + laporan lapangan 5.8.2.2 / 5.8.4 |
| Paket 5.8.4 | https://dl.walkiefleet.com/walkiefleetservice_5.8.4_amd64.deb |
| Bug utama 5.8.4 | avdevice_register_all() → NotSupportedException → ABRT |
| Rekomendasi production | Tetap di 5.8.2.2 sampai patch resmi |
Catatan lain:
http://IP-SERVER:9998 (setelah service jalan).FleetHID atau file DeviceID).