نصب webmin بر روی Ubuntu

رضا فرخندگان ۲۳ بهمن ۱۳۹۷ ۰ دیدگاه

در این مقاله نصب Webmin بر روی Ubuntu را توضیح خواهیم داد. در مقالات قبلی به‌صورت کامل درباره‌ی Webmin و کاربردهای آن صحبت کردیم. همچنین روش نصب Webmin بر روی CentOS را آموزش دادیم. بنابراین بدون مقدمه به سراغ روش نصب Webmin بر روی Ubuntu می‌رویم.

با این آموزش شما می‌توانید Webmin را در سرور خود نصب و پیکربندی کرده و دسترسی به آن را توسط گواهینامه Let’s Encrypt و وب سرور آپاچی (Apache) ایمن کنید.

نصب webmin بر روی Ubuntu

پیش‌نیازها

پیش از شروع نصب به موارد زیر نیاز داریم:

  • یک سرور Ubuntu همراه با کاربر غیر روت با امتیازات sudo و یک فایروال.
  • یک وب سرور آپاچی نصب‌شده بر روی سیستم‌عامل Ubuntu. آپاچی دامنه‌ی Let’s Encrypt را تائید کرده و نقش یک پروکسی را در webmin ایفا می‌کند.
  • یک نام دامنه همراه با DNS A record متصل به IP آدرس سرور.
  • یک Certbot نصب‌شده برای ایجاد گواهینامه TLS/SSL در Webmin.
نصب webmin بر روی Ubuntu

مرحله اول: نصب webmin بر روی Ubuntu

در ابتدا باید مخزن Webmin را اضافه کنیم تا بتوانیم با استفاده از بسته‌های آن مراحل نصب و به‌روزرسانی را انجام دهیم. ما این کار را توسط اضافه کردن مخزن به فایل etc/apt/source.list/ انجام می‌دهیم.

فایل را در ویرایشگر متن خود باز کنید:

sudo nano /etc/apt/sources.list

سپس این خط را به انتهای فایل ضمیمه کنید تا مخزن جدید اضافه شود:

etc/apt/sources.list/

 . . .

deb http://download.webmin.com/download/repository sarge contrib

فایل را ذخیره کرده و از ویرایشگر خارج شوید.

سپس کلید PGP مؤلفه‌ی Webmin را اضافه کنید تا سیستم شما بتواند مخزن جدید را بپذیرد:

wget http://www.webmin.com/jcameron-key.asc

sudo apt-key add jcameron-key.asc

لیست بسته‌ها را به‌روزرسانی کنید:

sudo apt update

اکنون می‌توانید Webmin را نصب کنید:

sudo apt install webmin

هنگامی‌که نصب به پایان رسید، پیغام زیر را مشاهده خواهید کرد:

Output

Webmin install complete. You can now login to

https://your_server_ip:۱۰۰۰۰ as root with your root password, or as any user who can use `sudo`.

مراحل نصب در این مرحله به پایان رسیده و اکنون می‌توانیم دسترسی به webmin را با قرار دادن آن در وب سرور آپاچی و اضافه کردن گواهینامه معتبر TLS/SSL ایمن کنیم.

مرحله دوم: ایمن کردن Webmin با آپاچی

به‌منظور دسترسی به Webmin شما باید پورت شماره ۱۰۰۰۰ را مشخص کرده و مطمئن شوید که این پورت در فایروال شما باز است. البته این کار زیاد مناسب نیست؛ به‌خصوص اگر برای دسترسی به Webmin از یک FQDN مانند webmin.your_domain استفاده می‌کنید. به همین دلیل ما از هاست مجازی آپاچی برای سرور Webmin در پورت ۱۰۰۰۰ استفاده می‌کنیم. سپس این هاست مجازی را با استفاده از گواهینامه‌ی TLS/SSL از Let’s Encrypt ایمن خواهیم کرد.

ابتدا یک فایل هاست مجازی آپاچی در دایرکتوری پیکربندی آپاچی ایجاد کنید:

sudo nano /etc/apache2/sites-available/your_domain.conf

عبارات زیر را به فایل اضافه کنید (آدرس ایمیل و دامنه‌ی خود را جایگزین کنید).

etc/apache2/sites-available/your_domain.conf/

<VirtualHost *:80>

        ServerAdmin your_email

        ServerName your_domain

        ProxyPass / http://localhost:10000/

        ProxyPassReverse / http://localhost:10000/

</VirtualHost>

این پیکربندی به آپاچی فرمان می‌دهد تا درخواست‌ها را از http://localhost:10000 سرور Webmin عبور دهد. همچنین تضمین می‌کند که لینک‌های درونی تولیدشده توسط Webmin از آپاچی عبور می‌کنند.

فایل را ذخیره کرده و از ویرایشگر خارج شوید.

سپس باید به Webmin فرمان دهیم که استفاده از TLS / SSL را متوقف کند، چون آپاچی این کار را برای ما فراهم خواهد کرد.

فایل etc/webmin/miniserv.conf/ را در ویرایشگر خود باز کنید:

sudo nano /etc/webmin/miniserv.conf

خط زیر را پیدا کنید:

etc/webmin/miniserv.conf/

ssl=1

عدد ۱ را به ۰ تغییر دهید. با این کار به webmin فرمان می‌دهید که استفاده از SSL را متوقف کند.

اضافه کردن دامنه

سپس دامنه‌ی خود را به فهرست دامنه‌های مجاز اضافه خواهیم کرد. با این کار به Webmin می‌فهمانیم هنگامی‌که از دامنه‌ی خود به پنل متصل می‌شویم، خطری او را تهدید نمی‌کند.

فایل etc/webmin/config/ را در ویرایشگر خود باز کنید:

sudo nano /etc/webmin/config

خط زیر را به انتهای فایل اضافه کرده و دامنه‌ی خود را جایگزین عبارت your_domain کنید:

etc/webmin/config/

 . . .

referers=your_domain

فایل را ذخیره کرده و از ویرایشگر خارج شوید.

سپس webmin را ریستارت کنید تا تغییرات لحاظ شوند:

sudo systemctl restart webmin

سپس ماژول proxy_http آپاچی را فعال کنید:

sudo a2enmod proxy_http

خروجی زیر را مشاهده خواهید کرد:

Output

Considering dependency proxy for proxy_http:

Enabling module proxy.

Enabling module proxy_http.

To activate the new configuration, you need to run:

  systemctl restart apache2

این خروجی پیشنهاد می‌دهد که آپاچی را ریستارت کنید. اما ابتدا باید هاست مجازی آپاچی جدیدی که ایجاد کرده‌اید را فعال کنید:

sudo a2ensite your_domain

خروجی زیر را مشاهده خواهید کرد که در آن مشخص‌شده سایت شما فعال‌شده است:

Output

Enabling site your_domain.

To activate the new configuration, you need to run:

  systemctl reload apache2

اکنون آپاچی را ریستارت کنید تا ماژول proxy_http و هاست مجازی جدید فعال شوند:

sudo systemctl restart apache2

نکته: اطمینان حاصل کنید که مجوز ورود ترافیک به وب سرور را در پورت‌های ۸۰ و ۴۴۳ داده باشید. این کار را می‌توانید از طریق فرمان sudo “ufw allow in “Apache Full انجام دهید.

آدرس http://your domain را در مرورگر خود وارد کنید تا صفحه‌ی ورود به Webmin باز شود.

هشدار: فعلاً وارد Webmin نشوید، چون هنوز SSL را فعال نکرده‌ایم.

 

مرحله سوم: فعال کردن گواهینامه

در این مرحله باید یک گواهینامه تنظیم کنیم تا هنگام استفاده از Webmin ارتباط ما کدگذاری شود. بدین منظور از Let’s Encrypt استفاده خواهیم کرد.

به Certbot فرمان دهید تا یک گواهینامه TSL/SSL برای دامنه‌ی شما تولید کند و آپاچی را به نحوی پیکربندی کند که ترافیک به سمت سایت امن فرستاده شود:

sudo certbot –apache –email your_email -d your_domain –agree-tos –redirect –noninteractive

خروجی زیر را مشاهده خواهید کرد:

Output

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Plugins selected: Authenticator apache, Installer apache

Obtaining a new certificate

Performing the following challenges:

http-01 challenge for your_domain

Enabled Apache rewrite module

Waiting for verification…

Cleaning up challenges

Created an SSL vhost at /etc/apache2/sites-available/your_domain-le-ssl.conf

Enabled Apache socache_shmcb module

Enabled Apache ssl module

Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-ssl.conf

Enabling available site: /etc/apache2/sites-available/your_domain-le-ssl.conf

Enabled Apache rewrite module

Redirecting vhost in /etc/apache2/sites-enabled/your_domain.conf to ssl vhost in /etc/apache2/sites-available/your_domain-le-ssl.conf

 

——————————————————————————-

Congratulations! You have successfully enabled https://your_domain

 

You should test your configuration at:

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain

——————————————————————————-

 

این خروجی مشخص می‌کند که گواهینامه نصب‌شده و آپاچی به صورتی تنظیم‌شده که درخواست‌ها را از http://your_domain به https://your_domain بفرستد.

خوب تا اینجا موفق شده‌ایم Webmin را نصب و آن را ایمن کنیم. اکنون بیایید ببینیم که چگونه باید از آن استفاده کنیم.

مرحله چهارم: استفاده از Webmin

Webmin ماژولی است که می‌تواند همه‌چیز را از BIND DNS سرور گرفته تا اضافه کردن کاربر در سیستم کنترل کند. بیایید ببینیم چگونه می‌توانیم کاربر جدید اضافه کنیم و سپس چگونه با استفاده از Webmin بسته‌های نرم‌افزاری را به‌روزرسانی کنیم.

برای ورود به Webmin آدرس http://your_domain را وارد کرده و سپس یا با کاربر روت یا با کاربر غیر روت با امتیازات sudo وارد شوید.

مدیریت کاربران و گروه‌ها

به‌منظور مدیریت کاربران و گروه‌ها، ابتدا وارد سربرگ System شده و سپس بر روی دکمه‌ی Users and Groups کلیک کنید. در اینجا شما می‌توانید یک کاربر یا گروه اضافه کرده و آن‌ها را مدیریت کنید.

ما یک کاربر جدید با نام Deploy ایجاد می‌کنیم و از آن برای برنامه‌های میزبانی وب استفاده خواهیم کرد. بدین منظور در بالای جدول کاربران، بر روی عبارت Create a new user کلیک کنید. وارد صفحه‌‌ای با نام Creat User خواهید شد. در این صفحه شما می‌توانید تنظیمات مربوط به نام کاربری، رمز عبور و گروه‌ها را انجام دهید.

برای ایجاد کاربر جدید، مراحل زیر را دنبال کنید:

 ۱. در قسمت username عبارت deploy را وارد کنید.

 ۲. برای User ID گزینه‌ی Automatic را انتخاب کنید.

 ۳. در قسمت Real Name یک نام توصیفی مانند Deployment user وارد کنید.

 ۴. برای Home Directory گزینه‌ی Automatic را انتخاب کنید.

 ۵. برای Shell در قسمت پایینی فهرست، گزینه‌ی bin/bash/ را انتخاب کنید.

 ۶. برای Password گزینه‌ی Normal Password را انتخاب کرده و رمز عبور دلخواه خود را وارد کنید.

 ۷. برای Primary Group گزینه‌ی New group with same name as user را انتخاب کنید.

 ۸. برای Secondary Group گزینه‌ی sudo را از فهرست All groups انتخاب کنید. سپس دکمه‌ی -> را بزنید تا گروه را به فهرست in groups اضافه کنید.

 ۹. گزینه‌ی Create را بزنید تا کاربر جدید ایجاد شود.

در زمان ایجاد کاربر جدید می‌توانید تنظیماتی مانند انقضای رمز عبور و Shell را انجام دهید.

اکنون می‌توانیم وارد مرحله‌ی نصب به‌روزرسانی‌ها در سیستم خود شویم.

به‌روزرسانی بسته‌ها

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

نصب webmin بر روی Ubuntu

بر روی لینک کلیک کنید و Update selected packages را انتخاب کنید تا به‌روزرسانی شروع شود. ممکن است از شما خواسته شود تا سرور را ریبوت کنید، که می‌توانید این کار را با Webmin انجام دهید.

فناوران شبکه سینداد (آهنگ نوآوری)

سینداد یعنی هدیه‌ی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.