آموزش نصب و پیکربندی virtualizor بر روی ubuntu
مقدمه
Virtualizor یک کنترلپنل مدیریت مجازیسازی مبتنی بر وب است که نصب، راهاندازی و مدیریت ماشینهای مجازی (KVM، Xen، LXC/OpenVZ) را ساده میکند. با استفاده از Virtualizor میتوانید منابع سختافزاری سرور اختصاصی را بین چندین VM بهصورت متمرکز تقسیم کرده، قالبهای سیستمعامل را سریع نصب کنید، و دسترسیهای کنسول (NoVNC/VNC) و شبکههای Bridge را بهراحتی مدیریت نمایید. این راهنما روی پیادهسازی Virtualizor با KVM روی سرورهای Ubuntu تمرکز دارد و علاوه بر مراحل نصب، نکات مهم پیکربندی شبکه، ذخیرهسازی و رفع مشکلات رایج (مثل خطای ورود یا اتصال به libvirt) را پوشش میدهد تا نصب پایدار و قابل اتکایی برای محیطهای تست و تولید فراهم گردد.
پیشنیازها
– توزیع: Ubuntu 20.04 / 22.04 / 24.04 (تستشده عمدتاً روی 20.04/22.04).
– دسترسی root یا sudo.
– اتصال اینترنت.
– سختافزار: CPU با vmx یا svm، حداقل 2 CPU، 4GB RAM (توصیهای).
– پورتها: پنل Virtualizor بهطور پیشفرض روی 4084–4088 / 4085 یا 4087 اجرا میشود (بسته به نسخه). پروتکل HTTPS ترجیح داده میشود.
بخش 1 — آمادهسازی سیستم
- ورود به سرور و ارتقا بستهها:
ssh user@IP sudo -i apt update && apt upgrade -y
- نصب بستههای پایه:
apt install -y curl ca-certificates apt-transport-https software-properties-common
- بررسی پشتیبانی مجازیسازی سختافزاری:
egrep -c '(vmx|svm)' /proc/cpuinfo
خروجی >=1 نشاندهنده پشتیبانی است. در غیر اینصورت KVM کار نخواهد کرد.
برای انجام فرایند نصب و دریافت لایسنس ارزان شما می توانید از لایسنس اشتراکی virtualizor ابردیجیتال استفاده نمایید.
بخش 2 — نصب و پیکربندی KVM و libvirt
- نصب بستههای KVM/QEMU/libvirt و ابزار شبکه:
apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst
- فعالسازی و بررسی سرویس libvirt:
systemctl enable --now libvirtd systemctl status libvirtd --no-pager
- افزودن کاربر به گروه libvirt (در صورت استفاده از کاربر غیر-root):
usermod -aG libvirt $(logname || echo $SUDO_USER) newgrp libvirt
- تست ساخت VM نمونه از خط فرمان (اختیاری):
virt-install --name testvm --ram 1024 --vcpus 1 --disk size=4 --os-variant ubuntu22.04 --cdrom /path/to/iso --network bridge=br0 --graphics none

بخش 3 — پیکربندی شبکه Bridge (نمونه با netplan برای Ubuntu 22.04+)
- مثال فایل /etc/netplan/01-netcfg.yaml (فرض iface نامش eth0 است و از DHCP استفاده میکنیم):
network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no bridges: br0: interfaces: [eth0] dhcp4: yes parameters: stp: false forward-delay: 0
- اعمال تغییرات:
netplan apply ip a # بررسی وجود br0
نکته: اگر سرور ابری (مثلاً OVH/Hetzner/AWS) است، دستورالعمل شبکه ممکن است متفاوت باشد — تنظیمات مخصوص ارائهدهنده را رعایت کنید.
بخش 4 — نصب Virtualizor
- اجرا بهعنوان root: حتماً نصب را بهعنوان root یا در یک شل root اجرا کنید:
sudo -i
- دانلود و اجرای اسکریپت رسمی نصب (از مستندات رسمی):
curl -sS http://files.virtualizor.com/install.sh | bash
نکتهها:
– آدرس نصب ممکن است در آینده تغییر کند؛ اگر خطا دیدید از صفحه رسمی نصب (https://www.virtualizor.com/docs/install/install-kvm) آخرین دستور را بردارید.
– اسکریپت معمولاً Virtualizor، ماژولهای لازم و وابستگیها را نصب میکند و پس از اتمام آدرس پنل و اطلاعات ورود را نمایش میدهد و در /root/virtualizor.txt ذخیره میکند.
بخش 5 — پیکربندی اولیه Virtualizor و دسترسی پنل
- دسترسی به پنل ادمین: پس از نصب URL نمایش داده شده را باز کنید: https://<server-ip>:4084 یا https://<server-ip>:4087 (بر اساس خروجی نصب).
- ورود اولیه: اطلاعات در خروجی نصب یا /root/virtualizor.txt است. اگر نتوانستید لاگین کنید، مراحل رفع عیب در بخش مشکلات را اجرا کنید.
- اعمال SSL: اگر از Let’s Encrypt استفاده میکنید میتوانید از پنل یا دستور خطی Virtualizor برای نصب گواهی Let’s Encrypt استفاده کنید. در غیر اینصورت از reverse proxy مثل nginx با certbot استفاده کنید.
بخش 6 — تنظیم storage و templates
- افزودن Storage:
– از پنل: Admin → Storage → Add Storage. پشتیبانی از: File-based, LVM, LVM-Thin, iSCSI, NFS.

– توصیه: برای عملکرد بهتر استفاده از LVM-Thin یا ZFS (اگر با ZFS آشنا هستید).
- اضافه کردن قالبهای OS: Admin → OS Templates → Add OS Template یا دانلود از مخزن Virtualizor.

بخش 7 — فایروال و پورتها
- باز کردن پورتهای لازم (مثال با ufw):
ufw allow 22/tcp ufw allow 4084:4088/tcp ufw allow 5900:5999/tcp # اگر NoVNC/VNC پورت مستقیم نیاز باشد ufw reload
- اگر از nginx به عنوان reverse proxy استفاده میکنید، فقط پورت 80/443 را باز نگه دارید و ترافیک را به پنل هدایت کنید.
بخش 8 — نکات امنیتی و عملیاتی
– همیشه نصب را با root انجام دهید (مستندات رسمی توصیه میکند).
– بکاپ فایل /root/virtualizor.txt حاوی اطلاعات اولیه را نگهدارید.
– فعالسازی 2FA برای ادمین پنل.
– صیانت از پنل از طریق محدودسازی IP (در صورت ممکن) و استفاده از HTTPS.
– بهروز نگه داشتن سیستم و Virtualizor (از پنل یا اسکریپت آپدیت).
بخش 9 — عیبیابی مشکلات شناختهشده (جمعبندی از مستند رسمی + راهحلها)
در ادامه مشکلاتی که در مستندات Virtualizor و گزارشهای کاربری معمولاً مشاهده میشوند و راهحلهای پیشنهادی.
1) خطای ورود به پنل پس از نصب (Cannot login / Invalid credentials)
– علل شایع:
– نصب با کاربر غیر-root انجام شده یا اسکریپت نتوانسته اطلاعات اکانت admin را ایجاد کند.
– SELinux/AppArmor یا PAM/SSH باعث محدودیت دسترسی شدهاند.
– سرویس Virtualizor اجرا نشده یا باسط سرویس وب/پورت اشتباه است.
– رفع:
– بررسی فایل /root/virtualizor.txt برای نام کاربری/رمز.
– بررسی سرویسها:
systemctl status virtualizor tail -n 200 /var/virtualizor/virtualizor.log
– اگر admin password را نمیدانید ریست کنید:
/usr/local/virtualizor/scripts/reset_password.sh admin newpassword
(اگر اسکریپت در مسیر متفاوت است، مسیر را در سرور جستجو کنید یا از مستندات رسمی استفاده کنید.)
– بررسی وجود php-fpm/nginx/apache و پورتهای شنونده (ss -ltnp).
– اگر نصب با sudo بهجای root بود: توصیهشده نصب مجدد با root.
2) خطا: “Cannot connect to libvirt” یا VMها شروع نمیشوند
– علل:
– سرویس libvirt غیرفعال یا socket دسترسی ندارد.
– کاربر/پنل دسترسی لازم به /var/run/libvirt/libvirt-sock ندارد.
– رفع:
– بررسی وضعیت libvirt:
systemctl status libvirtd journalctl -u libvirtd -n 200
– اطمینان از مجوزهای socket:
ls -l /var/run/libvirt/libvirt-sock
اگر پنل کاربر خاصی لازم دارد، مطمئن شوید آن کاربر در گروه libvirt است یا مجوزها اصلاح شوند.
– بررسی مسیرهای QEMU و تنظیمات Virtualizor: Admin → Settings → KVM Settings → Path to qemu-img/qemu-system. در صورت خطا مسیرها را اصلاح کنید.
3) NoVNC / VNC کار نمیکند
– علل:
– پورتهای VNC مسدود شده یا noVNC سرویس راهاندازی نشده.
– مشکل با سرویس websocket یا nginx reverse proxy.
– رفع:
– باز کردن پورتهای 5900+ یا پیکربندی reverse proxy.
– بررسی لاگهای noVNC: /var/virtualizor/noVNC یا لاگ پنل.
– در صورت استفاده از nginx، اطمینان از پشتیبانی websocket (proxy_set_header Upgrade و Connection).
4) شبکهی VM قطع یا IP به VM اختصاص نمییابد
– علل:
– Bridge نادرست یا netplan/NetworkManager تداخل دارد.
– آدرس IP در host یا provider رزرو نشده (در محیط ابری).
– رفع:
– اطمینان از وجود br0 و اضافه شدن eth0 به bridge: `brctl show` یا `ip a`.
– اگر محیط ابری است، راهنمای خاص ارائهدهنده را برای bridge دنبال کنید (مثلاً Hetzner/OVH نیاز به تنظیمات خاص دارد).
– بررسی تنظیمات DHCP داخل VM و سرویس DHCP (در صورت استفاده).
5) مشکلات مربوط به هسته یا ماژول KVM (VMها خطا میدهند یا freeze)
– علل:
– هسته یا ماژول KVM بارگذاری نشده.
– ناسازگاری نسخه QEMU یا hardware passthrough.
– رفع:
– بررسی ماژولها:
lsmod | egrep 'kvm|kvm_intel|kvm_amd' dmesg | egrep -i kvm
– نصب آخرین qemu/qemu-kvm از repos رسمی یا backports در صورت لازم.
6) پنل Offline یا پنل out-of-sync با سرور (Panel is offline / Panel out of sync)
– علل:
– Database connection issue، سرویسهای Virtualizor یا MySQL down، یا تغییر آیپی سرور.
– رفع:
– بررسی سرویس mysql/mariadb:
systemctl status mysql tail -n 200 /var/log/mysql/error.log
– در صورت تغییر IP سرور، از پنل admin → Change License IP یا اجرا از خط فرمان برای تغییر IP لایسنس.
7) خطاهای مربوط به نصبکننده (اسکریپت نصب متوقف میشود)
– علل:
– پکیجهای لازم پیشنیاز نصب نیستند یا mirrorها کندند.
– محدودیتهای آپاستریم توزیع یا سیاست فایروال مابین سرور و files.virtualizor.com.
– رفع:
– اجرای دستی مراحل نصب که اسکریپت انجام میدهد: نصب پکیجها، راهاندازی سرویسها، دانلود فایلها.
– اطمینان از دسترسی به files.virtualizor.com و DNS درست: `curl -I http://files.virtualizor.com/install.sh`.
بخش 10 — بررسی لاگهای کلیدی
– پنل Virtualizor: /var/virtualizor/virtualizor.log
– لاگ نصب/اسکریپت: /root/virtualizor.txt (اطلاعات اولیه)
– libvirt: journalctl -u libvirtd یا /var/log/libvirt/*.log
– mysql/mariadb: /var/log/mysql/error.log
– وبسرور (nginx/apache) و php-fpm: /var/log/nginx/* یا /var/log/apache2/* و /var/log/php*-fpm.log
بخش 11 — نکات نهایی و پیشنهادات عملی
– اگر نصب اولیه با خطا مواجه شد و سرور تازه است، توصیه: پاکسازی و نصب مجدد با root (سریعترین راه حل عملی در بسیاری از گزارشها).
– قبل از تولید محیط پروداکشن، تست نصب روی یک ماشین جداگانه یا VM و حصول اطمینان از کارکرد شبکه/VMها.
– برای محیطهای ابری یا دیتاسنترها، مستندات ارائهدهنده شبکه را مطالعه و مطابق با آن bridge/route را تنظیم کنید.
– نگهداری و بهروزرسانی: Virtualizor را از طریق دستور آپدیت رسمی یا از پنل بروز نگه دارید و نسخههای امنیتی Ubuntu را نصب کنید.





قوانین ارسال دیدگاه
لطفاً در ارسال دیدگاه از کلمات مناسب استفاده کنید. ارسال اسپم ممنوع است.