نصب Virtualmin بعنوان کنترل پنل وب هاستینگ

کنترل پنل های متنوع و متعددی برای مدیریت VPSها و سرورهای لینوکسی که قرار است میزبان وب سایت های عادی روی محیط لینوکسی باشند وجود دارد. مثل WHM و DirectAdmin و Plesk و ... .منظور از وب سایت های عادی وب سایت هایی با عمدتاً کمتر از 20-30هزار بازدید یکتا روزانه که از نرم افزارهای نوشته شده و/یا سیستم های CMS مثل جوملا و وردپرس استفاده می کنند است که معمولاً زبان برنامه نویسی php و دیتابیس mysql یا postgres sql است و روی محیط LAMP (Linux, Apache, MySQL, PHP/Perl/Python) یا LEMP (Linux, Nginx , MySQL, PHP/Perl/Python)اجرا می شوند و به این امکانات برای میزبانی آن ها نیاز است :پنل تحت وب کامل برای مدیریت سرور و بصورت مستقل برای هر اکانتامکان تعریف وب سایت های مستقل با پنل مدیریت مستقل و محدودیت ها و تنظیمات مشخصامکان مدیریت نسخ و آپشن ها و تنظیمات های محیط هایی مانند php و وب سرور روی هر اکانت (وب سایت) بصورت مستقل و/یا تعریف مقادیر عمومی پیش فرضابزارها و سرورهای جانبی لازم و رابط مدیریتی مستقل آن ها برای هر اکانت مثل DNS سرور و سیستم ایمیل شامل mail server و webmail و ftp و تنظیم IP و مدیریت فایل و مدیریت backup و درخواست و نصب گواهینامه TLS (از مثلاً Let’s Encrypt) و ...وب سرور Apache یا nginx و دیتابیس mariadb/mysql (فورک جدید نسخه رایگان mysql) و ابزارهای مدیریتی آن هاابزارهای جانبی مثل phpmyadmin و fail2ban و awstat و clam-av و درصورت لزوم VPNها و web shell و آپدیت اتوماتیک و File Manager و web shell و ادیتور و ...من سالهاست در کنار سایر کنترل پنل ها از virtualmin نیز بخصوص برای سناریوهای سرورهای مشخص که یک یا چند سایت مشخص را میزبانی می کنند و عموماً مدیریت متمرکزی دارند استفاده می کنم و بعنوان یک ابزار مدیریت لینوکس رایگان و سبک و پر امکانات که اختصاصاً برای همین سناریوها طراحی شده واقعاً راضی کننده است. webmin یک پنل تحت وب مدیریت سرورهای لینوکسی است که از خیلی سال پیش هست. Virtualmin نسخه یا افزونه تخصصی آن برای وب هاستینگ است.جزئیات و مستنداتش را می توانید در آدرس های ذیل مشاهده کنید:https://www.virtualmin.com/documentationhttps://www.virtualmin.com/documentation/tutorialمراحل نصب و تنظیم و اقدامات اولیه بهره برداری از virtualmin بشرح ذیل هستند، نصب virtualmin بسیار ساده است و هر مرحله نیز در نصب یا استفاده توضیحات و راهنمای مناسبی دارد :آنلاین یک سرور یا vps سفارش می دهم و روی آن سیستم عامل centos7 خام درخواست می کنم. روی دبیان 8 و 9 و 10 و اوبونتو 16 و 18 نیز نصب می شود.حتماً از دیتاسنتری سرور بگیرید که امکانات بک آپ کامل از سرور را ارائه و گارانتی دهد. از دیتاسنترهای خوب و معروف استفاده کنید و در تیک زدن امکانات بک آپ گیری یا برخی دیگر امکانات جانبی خساست نکنید.سرور را که تحویل گرفتم :ssh root@[Server IP]#hostnamectl set-hostname [hostname]#yum upgradeسپس تعدادی ابزار پیش نیاز را نصب می کنم :yum install -y tmux bash-completion bash-completion-extras wget curl perl(*نصب ترمینال مولتی پلکسر tmux برای مدیریت راحت تر سرور از طریق ssh است و الزامی نیست.)سپس اسکریپت installer را از سایت خود virtualmin دریافت و اجرا می کنم:#cd ~#wget http://software.virtualmin.com/gpl/scripts/install.sh# /bin/sh install.shبصورت پیش فرض بسته نرم افزاری LAMP (Linux, Apache, MySQL, PHP/Perl/Python) نصب می شود. درصورتیکه تمایل دارید بجای وب سرور apache از nginx استفاده کنید و LEMP نصب شود از سوئیچ--bundle LEMPبرای اجرای install.sh استفاده کنید. یعنی:#/bin/sh install.sh --bundle LEMPگزینه های install.sh بشرح ذیل هستند :# sh ./install.sh--uninstall |-u - Removes all Virtualmin packages (do not use on a production system)--help |-h - This message--force |-f - Skip confirmation message--hostname |-h - Set fully qualified hostname--verbose |-v - Verbose--setup |-s - Setup software repositories and exit (no installation or configuration)--minimal |-m - Install a smaller subset of packages for low-memory/low-resource systems--bundle |-b <name> - Choose bundle to install (LAMP or LEMP, defaults to LAMP)راهنماهای کاملتر درخصوص این روش نصب (automated) را اینجا ببینید:https://www.virtualmin.com/documentation/installation/automatedپس از مراحل نصب با آدرس https://[serverIP]:10000 از طریق مرورگر وب برای اولین بار وارد پنل تحت وب مدیریت شوید و ادامه مراحل نصب را در آنجا طی خواهید کرد. پیام خطای certificate را رد کنید و با وارد کردن نام کاربری (root) و پسورد وارد پنل شوید. مراحل بعدی انتخاب های ساده است که باید انتخاب کرده و next بزنید. توضیحات هر مرحله البته کاملاً گویا است.پس از زدن next در اولین مرحله باید تعیین کنید ماژول های user interface و email processingبصورت preload بارگذاری شوند یا نه. این موضوع در memory usage سرور شما به میزان 40تا70 مگابات موثر است! من همیشه yes می زنم.در مرحله بعد اگر clamav روی سیستم فعال باشد یا با نصب فعال شود پیام استفاده یا عدم استفاده از آن را بخاطر مصرف cpu و ... را می بینید که احتمالاً غیر فعال باشد و باید next بزنید. دقت کنید که در نهایت با یک لینوکس باز طرف هستید و مثلاً clamav یا هر چیز دیگر را بعداً هم میتوانید نصب و تنظیم کنید.پس از آن فعال بودن یا نبودن spam assassin را برای Spam filtering باید تعیین کنید که ممکن است حدود 30 مگابایت RAM اشغال کند! من yesمی زنم و سپس next را بزنید.سپس باید دیتابیس های MariaDB/MySQL و PostgreSQLرا نصب کنید.من معمولاً فقط mariadb را نصب می کنم.پس از نصب mariadb/Mysql باید برای آن پسورد تعیین کنید و کاربر و دیتابیس پیش فرض آزمایشی را برای حفظ امنیت غیرفعال نمایید.در مرحله بعدی برای تنظیم و tune دیتابیس mariadb باید تعیین کنید دیتابیس های این هاست شما حدوداً در چه اندازه ای خواهند بود. بهتر است گزینه 2G and more را بزنید. تنظیمات و آپشن های mariadb را بعداً نیز می توان تغییر داد و tune کرد.در مرحله بعد باید nameserverهای اصلی سرور خود را تعریف کنید. در جایی که دامین اصلی را ثبت کرده اید باید این رکوردها را بصورت A record و با آدرس سرور خود در بخش مدیریت DNS دامنه اضافه کنید. اگر اینکار را نکرده اید تیک Skip check for resolvability را بزنید.در مرحله بعد باید نوع ذخیره پسورد اکانت ها را انتخاب کنید. اگر سرور را برای یک سایت یا چند سایت خود استفاده می کنید و بصورت عمومی روی آن اکانت وب هاستینگ نمی فروشید گزینه Store plain-text passwords را انتخاب کنید. اما درصورتیکه به اشخاصی دیگر هم اکانت و نام کاربری و کلمه عبور می دهید و سرور در اکانت های مختلف چند مدیر و دسترسی جداگانه دارد Only store hashed passwords را انتخاب کنید.برای فعال کردن XFS quotas گزینه yes را بزنید. اگر از centos استفاده می کنید احتمالاً فایل سیستم پیش فرض شما همین xfs است.درنهایت پیام اتمام نصب موفقیت آمیز را می بینید و پس از این مرحله یکبار سیستم را reboot کنید.می توانید روی علامت زنگوله در گوشه بالا سمت راست کلیک کنید و روی دکمه reboot آن کلیک کنید.یا روی زبانه virtualmin در گوشه سمت چپ بالا کلیک کنید تا داشبورد virtualmin را ببینید و آنجا روی reboot کلیک کنید.سرور شما reboot می شود و پس از بوت دوباره کنترل پنل خود فعال خواهد شد و شما به صفحه اصلی آن هدایت می شوید. اگر به صفحه اصلی هدایت نشدید یا هر زمان دیگر که خواستید داشبورد صفحه اول را ببینید می توانید روی همان زبانه virtualmin کلیک کنید.در نهایت روی دکمه re-check and refresh configuration در داشبورد اصلی کلیک کنید تا کل کار تمام شود.زبانه webmin به تنظیمات و مدیریت سرور و زبانه virtualmin به تنظیمات وب هاستینگ و مدیریت وب سایت ها و اکانت ها می پردازند.اکنون می خواهیم یک وب سایت جدید با مدیریت و پنل مستقل که اینجا Virtual Server نامیده می شود ایجاد کنیم.روی create virtual server در گوشه سمت چپ بالا کلیک می کنیم.گزینه Setup SSL website too? را تیک بزنید. دقت بفرمایید پوینتر ماوس را روی هر گزینه که ببرید یک علامت سئوال روی آن نمایش داده می شود. با کلیک روی عنوان گزینه، راهنمای آن نمایش داده می شود.این وب سایت به گزینه های پنل سمت چپ شما اضافه می شود.بعداً نیز از طریق Edit Virtual Server میتوانید اینها را ویرایش نمایید.نکته ای که باید بدانید این است که برای تعریف alias و subdomain برای آن وب سایت نیز باید از create virtual server استفاده نمایید و در آنجا این موارد را تعریف کنید.برای نصب مواردی مثل phpmyadmin یا Django از install scripts استفاده نمایید.گزینه ها و امکانات این کنترل پنل متعدد و کامل هستند و بخصوص اگر قبلاً تجربه کار و مدیریت سایر کنترل پنل ها را داشته باشید خیلی سریع همه چیز دستتان می آید. آموزش آن ها دیگر در حوصله این مقاله نیست و شاید برای موارد مختلف مقالات دیگری در این زمینه نوشته شود اما community فعالی دارد و معمولاً با یک جستجوی ساده به پاسخ سئوالات خود می رسید.