آموزش نصب WebAdmin

وبمین (Webmin) که در منابع قدیمی و در نام پروژهٔ آن با عنوان WebAdmin هم دیده می‌شود، یک ابزار مدیریت سیستم تحت وب برای لینوکس و یونیکس است؛ یعنی کارهایی که معمولاً در خط فرمان انجام می‌دهید — ساخت کاربر، مدیریت سرویس‌ها، فایروال، شبکه، کران‌جاب، بسته‌ها، دیسک و لاگ‌ها — را از داخل مرورگر در اختیارتان می‌گذارد. روش درست نصب آن امروز فقط از طریق مخزن رسمی سازنده است، پس از نصب روی پورت 10000 و به‌صورت HTTPS بالا می‌آید، و مهم‌ترین نکته این است که هرگز آن را بدون محدودیت روی اینترنت عمومی باز نگذارید.

وبمین دقیقاً چه کاری انجام می‌دهد

وبمین یک وب‌سرور کوچک و مستقل به نام miniserv را روی سرور اجرا می‌کند و از طریق آن ماژول‌هایی را نمایش می‌دهد که هر کدام یک بخش از سیستم‌عامل را مدیریت می‌کنند. تفاوت کلیدی‌اش با ابزارهای دیگر این است که وبمین چیزی جدا از سیستم نمی‌سازد؛ همان فایل‌های پیکربندی واقعی لینوکس را می‌خواند و می‌نویسد. اگر در وبمین یک کاربر بسازید، همان کاربر در /etc/passwd ساخته می‌شود و اگر سرویسی را ری‌استارت کنید، در عمل systemctl اجرا می‌شود. به همین دلیل می‌توانید آزادانه بین وبمین و SSH جابه‌جا شوید بدون اینکه تنظیمات یکی، کار دیگری را خراب کند.

این ابزار بیشتر به درد کسی می‌خورد که سروری با دسترسی روت در اختیار دارد و می‌خواهد کارهای روزمرهٔ سیستمی را سریع‌تر و با ریسک تایپی کمتر انجام دهد — مثلاً بررسی مصرف دیسک، دیدن لاگ‌ها یا اضافه‌کردن یک کران‌جاب، بدون اینکه هر بار دستور دقیق را به خاطر بیاورد.

تفاوت وبمین با کنترل‌پنل هاستینگ

این نقطه‌ای است که خیلی‌ها اشتباه می‌کنند. وبمین یک کنترل‌پنل مدیریت سیستم‌عامل است، نه کنترل‌پنل هاستینگ. سی‌پنل، دایرکت‌ادمین و پلسک برای ارائهٔ سرویس هاست ساخته شده‌اند: حساب کاربری برای مشتری، سهمیهٔ فضا و پهنای باند، دامنه و ساب‌دامنه، ایمیل، دیتابیس، پشتیبان‌گیری خودکار و سطح دسترسی نمایندگی. وبمین هیچ‌کدام از این مفاهیم را به‌صورت پیش‌فرض ندارد؛ در عوض به لایه‌های عمیق‌تر سیستم دسترسی می‌دهد که کنترل‌پنل‌های هاستینگ معمولاً از دید کاربر پنهان می‌کنند.

نتیجهٔ عملی‌اش این است: اگر سرویس شما هاست لینوکس ایران یا هر هاست اشتراکی دیگری است، اصلاً نمی‌توانید وبمین نصب کنید، چون دسترسی روت ندارید و نیازی هم به آن ندارید. و اگر قصد فروش هاست دارید، وبمین جایگزین کنترل‌پنل هاستینگ نمی‌شود. برای آن سناریو یا باید سراغ ویرچوال‌مین (Virtualmin) بروید که روی بستر وبمین ساخته شده، یا از یک پنل تجاری استفاده کنید.

نصب وبمین روی توزیع‌های امروزی

روشی که سال‌ها در وبلاگ‌های فارسی تکرار شده — دانلود مستقیم فایل webmin-1.750-1.noarch.rpm از SourceForge و نصب با rpm -U — دیگر منسوخ است. آن نسخه مربوط به شاخهٔ 1.x است، سال‌هاست به‌روزرسانی نشده و وصله‌های امنیتی بعدی را ندارد. ضمن اینکه yum هم در توزیع‌های خانوادهٔ ردهت جای خود را به dnf داده است. روش رسمی و پشتیبانی‌شدهٔ امروز، افزودن مخزن سازنده و نصب از طریق پکیج‌منیجر خود توزیع است تا به‌روزرسانی‌های بعدی هم خودکار انجام شود.

دستورهای زیر روی یک نصب تازهٔ توزیع فرض شده‌اند و روی هر وی‌پی‌اس ایران یا سرور اختصاصی که دسترسی روت داشته باشید یکسان کار می‌کنند. ابتدا با کاربر روت (یا sudo) اسکریپت افزودن مخزن را بگیرید و اجرا کنید:

curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh

sh webmin-setup-repo.sh

سپس روی دبیان و اوبونتو:

apt-get install --install-recommends webmin

و روی راکی لینوکس، آلمالینوکس و سایر توزیع‌های خانوادهٔ ردهت:

dnf install webmin

پکیج‌منیجر خودش وابستگی‌های پرل و کتابخانه‌های SSL را می‌آورد، بنابراین لازم نیست مثل روش قدیمی آن‌ها را دستی نصب کنید. بعد از نصب، سرویس را بررسی کنید:

systemctl status webmin

اولین ورود

آدرس ورود https://SERVER-IP:10000 است. دقت کنید که https باشد نه http؛ نسخه‌های امروزی وبمین به‌صورت پیش‌فرض روی SSL بالا می‌آیند. چون گواهی اولیه خودامضا (self-signed) است، مرورگر یک هشدار امنیتی نشان می‌دهد که در اولین ورود طبیعی است. نام کاربری و رمز عبور هم همان root سرور است.

یک نکتهٔ عملی که روی ایمیج‌های اوبونتو زیاد پیش می‌آید: در بسیاری از این ایمیج‌ها اصلاً برای کاربر root رمز عبوری تعریف نشده و شما با یک کاربر sudoدار وارد سرور می‌شوید. در آن حالت ورود با رمز روت جواب نمی‌دهد و باید با اسکریپت changepass.pl (در بخش امنیت توضیح داده شده) یک رمز مخصوص پنل برای کاربر root تعیین کنید.

اگر صفحه اصلاً باز نشد، تقریباً همیشه مقصر فایروال است. روی راکی لینوکس و آلمالینوکس که firewalld دارند:

firewall-cmd --permanent --add-port=10000/tcp && firewall-cmd --reload

و روی اوبونتو و دبیان که معمولاً ufw فعال است:

ufw allow 10000/tcp

اما پیشنهاد ما این نیست که پورت را برای همه باز کنید. اگر آی‌پی ثابت دارید، همان‌جا محدودش کنید — مثلاً ufw allow from 203.0.113.10 to any port 10000 proto tcp — و در بخش بعد می‌بینید چرا این کار اختیاری نیست.

امنیت: مهم‌ترین بخش این آموزش

وبمین با دسترسی روت اجرا می‌شود. یعنی هر کسی که به پنل آن وارد شود، عملاً صاحب کل سرور است. پورت 10000 هم برای اسکنرهای خودکار کاملاً شناخته‌شده است و سروری که این پورت را باز روی اینترنت داشته باشد، دیر یا زود تلاش ورود خودکار دریافت می‌کند. این‌ها حداقل کارهایی است که باید انجام دهید:

  • دسترسی را به IP خودتان محدود کنید. در فایل /etc/webmin/miniserv.conf خطی مثل allow=203.0.113.10 192.0.2.0/24 اضافه کنید و سپس systemctl restart webmin بزنید. اگر IP ثابت ندارید، به‌جای آن پورت را روی فایروال ببندید و فقط از طریق تونل SSH به آن وصل شوید.
  • پورت پیش‌فرض را عوض کنید. مقدار port= در همان فایل را به یک پورت غیرمتعارف تغییر دهید. این کار به‌تنهایی امنیت نمی‌آورد، ولی حجم نویز اسکنرها را به‌شدت کم می‌کند.
  • رمز قوی بگذارید. اسکریپت changepass.pl همراه وبمین نصب می‌شود (بسته به توزیع در /usr/share/webmin یا /usr/libexec/webmin) و با فرمان changepass.pl /etc/webmin root 'YourStrongPassword' رمز پنل را عوض می‌کند.
  • ورود دومرحله‌ای را فعال کنید. از مسیر WebminWebmin ConfigurationTwo-Factor Authentication می‌توانید احراز هویت مبتنی بر اپلیکیشن TOTP را روشن کنید.
  • قفل‌شدن پس از تلاش‌های ناموفق را در بخش Authentication از همان منو فعال کنید تا حمله‌های حدس رمز عملاً بی‌اثر شوند.
  • گواهی معتبر بگیرید. اگر یک نام دامنه به سرور اشاره می‌کند، از بخش SSL Encryption می‌توانید گواهی رایگان Let’s Encrypt بگیرید تا دیگر با هشدار مرورگر روبه‌رو نشوید و ترافیک پنل واقعاً تأیید‌شده باشد.
  • به‌روز نگه‌ش دارید. چون از مخزن نصب کرده‌اید، به‌روزرسانی با همان apt upgrade یا dnf upgrade همیشگی انجام می‌شود. وبمین در گذشته آسیب‌پذیری‌های جدی داشته و ماندن روی نسخهٔ قدیمی ریسک واقعی است.

اگر ترجیح می‌دهید این لایهٔ امنیتی را خودتان مدیریت نکنید، سرویس سرور مجازی مدیریت‌شده گزینه‌ای است که نصب و پیکربندی کنترل‌پنل‌ها و پشتیبانی فنی در آن بر عهدهٔ تیم ارائه‌دهنده است.

یوزرمین: نسخهٔ کاربر عادی

یوزرمین (Usermin) پروژهٔ خواهر وبمین از همان سازنده است، اما هدفش کاملاً فرق دارد. وبمین برای مدیر سرور است و یوزرمین برای کاربر عادی سیستم: خواندن ایمیل، تغییر رمز خودش، مدیریت فایل‌های خانگی و کران‌جاب شخصی — بدون هیچ دسترسی به تنظیمات سراسری سرور. بعد از افزودن همان مخزن، با apt-get install usermin یا dnf install usermin نصب می‌شود و روی پورت 20000 بالا می‌آید. تمام توصیه‌های امنیتی بالا برای آن هم صدق می‌کند.

حذف وبمین

اگر تصمیم گرفتید حذفش کنید، چون از مخزن نصب شده کافی است با پکیج‌منیجر پاکش کنید: apt-get purge webmin یا dnf remove webmin. توجه کنید که پوشهٔ /etc/webmin ممکن است باقی بماند؛ اگر قصد بازگشت ندارید آن را هم دستی پاک کنید. برای آشنایی با خودِ این ابزار و کارهایی که از مرورگر انجام می‌دهد، وبمین چیست و چه امکاناتی دارد را ببینید.

جمع‌بندی

وبمین ابزار خوبی برای مدیریت روزمرهٔ سیستم‌عامل است، اما جایگزین کنترل‌پنل هاستینگ نیست و کاملاً هم بی‌خطر نیست. اگر هدفتان ارائهٔ هاست یا مدیریت چند سایت با حساب‌های جدا است، مسیر درست گرفتن یک لایسنس دایرکت‌ادمین است که نصب و پیکربندی اولیهٔ آن در پلن‌های آنلاین سرور رایگان انجام می‌شود. و اگر فقط برای کارهای سیستمی سراغ وبمین می‌آیید، نصبش سه دقیقه طول می‌کشد — ولی وقت گذاشتن روی محدودکردن دسترسی و فعال‌کردن ورود دومرحله‌ای، چیزی است که بعداً به آن نیاز پیدا خواهید کرد.

تصاویر زیر مربوط به نسخه‌های قدیمی‌تر رابط کاربری وبمین است و صرفاً برای آشنایی با ساختار منوها آورده شده؛ قالب پیش‌فرض نسخه‌های فعلی (Authentic Theme) ظاهر متفاوت و واکنش‌گرایی دارد، ولی جای ماژول‌ها همان است.

فایل منیجر:

منوهای مدیریتی:

صفحهٔ نخست پس از ورود: