در این آموزش قصد داریم یاد بگیریم چطور در سرور مجازی لینوکسی، ساعت سیستم (Timezone) و نام سرور (Hostname) را تنظیم کنیم تا هم زمانبندی سرویسها دقیق باشد و هم سرور در شبکه با نام مشخصی شناخته شود.
مرحله اول: بررسی زمان فعلی سیستم
بعد از ورود از طریق SSH، ابتدا باید زمان فعلی سیستم را بررسی کنید تا بدانید سرور شما در حال حاضر از چه منطقه زمانی استفاده میکند. برای این کار دستور زیر را اجرا کنید:
timedatectl
با اجرای این دستور، اطلاعات دقیقی از جمله زمان فعلی، منطقه زمانی فعلی، هماهنگی با ساعت جهانی (UTC) و وضعیت همگامسازی NTP نمایش داده میشود. در خروجی به قسمت Time zone دقت کنید؛ اگر منطقه زمانی اشتباه باشد، باید آن را در مراحل بعد اصلاح کنید.
مرحله دوم: پیدا کردن منطقه زمانی مناسب
سیستمعاملهای لینوکسی مجموعهای از مناطق زمانی را در مسیر /usr/share/zoneinfo نگهداری میکنند. برای دیدن این مناطق و پیدا کردن گزینهی مورد نظر، میتوانید از دستور زیر استفاده کنید:
timedatectl list-timezones
اگر لیست برای شما طولانی است، برای فیلتر کردن نتیجه میتوانید از grep استفاده کنید. مثلاً برای پیدا کردن منطقه تهران بنویسید:
timedatectl list-timezones | grep Tehran
در خروجی باید عبارتی مثل Asia/Tehran را مشاهده کنید. این همان رشتهای است که در مرحله بعد برای تنظیم منطقه زمانی از آن استفاده میکنیم.
مرحله سوم: تنظیم منطقه زمانی سرور
برای اعمال منطقه زمانی دلخواه، کافیست از دستور زیر استفاده کنید. در این مثال ما منطقه زمانی تهران را انتخاب میکنیم:
sudo timedatectl set-timezone Asia/Tehran
این دستور بدون نیاز به ریستارت، تنظیمات زمان سیستم را تغییر میدهد. پس از اجرا، برای اطمینان از اعمال تغییرات، دوباره دستور timedatectl را وارد کنید و بررسی کنید که مقدار Time zone برابر با Asia/Tehran شده باشد.
روش جایگزین در CentOS و RHEL
در توزیعهای CentOS یا RHEL، تنظیم منطقه زمانی از طریق ایجاد لینک بین فایل منطقه زمانی و مسیر /etc/localtime انجام میشود. برای این کار دستور زیر را اجرا کنید:
sudo ln -sf /usr/share/zoneinfo/Asia/Tehran /etc/localtime
در این روش سیستم از فایل مربوط به منطقه زمانی تهران برای تنظیم ساعت استفاده میکند. در ادامه، با دستور زیر ساعت سختافزاری سیستم را نیز با ساعت جدید هماهنگ کنید تا بعد از ریبوت نیز تنظیمات حفظ شود:
sudo hwclock --systohc
تنظیم منطقه زمانی در Debian
در Debian میتوانید از ابزار متنی tzdata برای انتخاب منطقه زمانی استفاده کنید. این ابزار با اجرای دستور زیر باز میشود:
sudo dpkg-reconfigure tzdata
پس از اجرا، منویی متنی نمایش داده میشود که ابتدا باید قاره (مثلاً Asia) و سپس شهر (مثلاً Tehran) را انتخاب کنید. پس از انتخاب، سیستم بهصورت خودکار تنظیمات را ذخیره و نمایش میدهد.
مرحله چهارم: بررسی نام فعلی سرور (Hostname)
حالا که ساعت سیستم تنظیم شده است، بهتر است نام سرور را نیز بررسی و در صورت نیاز تغییر دهیم. برای مشاهدهی نام فعلی، دستور زیر را اجرا کنید:
hostnamectl
در خروجی این دستور بخش Static hostname نام فعلی سرور را نشان میدهد. اگر سرور شما هنوز نام عمومی (مثل ubuntu یا localhost) دارد، بهتر است آن را با نامی مرتبط با پروژه یا دامنهتان جایگزین کنید تا در شناسایی لاگها و مدیریت شبکه راحتتر باشید.
مرحله پنجم: تغییر نام سرور (Hostname)
برای تغییر نام سرور از دستور زیر استفاده کنید. در این مثال نام سرور را به vps1.iranserver.local تغییر میدهیم:
sudo hostnamectl set-hostname vps1.iranserver.local
توصیه میشود از نامی استفاده کنید که شامل ساختار مشخصی باشد؛ مثلاً نام سرور به همراه زیردامنه یا منطقه دیتاسنتر. بعد از اجرای دستور، ترمینال را مجدداً بارگذاری کنید تا نام جدید در بالای خط فرمان نمایش داده شود.
مرحله ششم: ثبت hostname در فایل hosts
گاهی اوقات پس از تغییر نام سرور، برخی برنامهها یا سرویسها به دلیل عدم شناسایی نام جدید با خطا مواجه میشوند. برای جلوگیری از این موضوع، باید نام جدید را در فایل /etc/hosts ثبت کنید. برای این کار از ویرایشگر nano استفاده کنید:
sudo nano /etc/hosts
در فایل باز شده، مطمئن شوید خطوط زیر وجود دارند یا اصلاح شوند:
127.0.0.1 localhost
127.0.1.1 vps1.iranserver.local vps1
پس از ذخیره و خروج، تغییرات بلافاصله اعمال میشوند و ارتباط بین نام سرور و IP محلی برقرار خواهد شد.
مرحله هفتم: بررسی نهایی تنظیمات
در پایان، بهتر است هر دو دستور زیر را اجرا کنید تا از صحت تنظیمات مطمئن شوید:
hostnamectl
timedatectl
اگر خروجی شامل نام جدید سرور و منطقه زمانی تنظیمشده باشد، یعنی همه چیز بهدرستی انجام شده است. از این پس لاگهای سیستم با ساعت صحیح ثبت میشوند و سرور شما در شبکه با نام جدید شناخته خواهد شد.
در نهایت، با انجام مراحل بالا، سرور شما دارای ساعت دقیق و نام قابل شناسایی خواهد بود. این کار باعث میشود مدیریت، مانیتورینگ و عیبیابی سرور در آینده بسیار سادهتر و دقیقتر انجام شود.






