server



مدیریت پیکربندی به منظور ساده سازی فرایند کنترل تعداد زیادی سرور مجازی ، برای مدیران و تیم های عملیاتی طراحی شده اند. آنها به شما اجازه می دهند بسیاری از سیستم های مختلف را به صورت خودکار از یک مکان مرکزی کنترل کنید.
در حالی که بسیاری از ابزارهای مدیریت پیکربندی محبوب برای سیستمهای لینوکس مانند Chef و Puppet در دسترس هستند ، اینها معمولاً پیچیده تر از چیزی هستند که افراد می خواهند یا نیاز دارند. Ansible یک گزینه عالی برای این منظور است زیرا معماری ساده ای را ارائه می دهد که نیازی به نصب نرم افزار ویژه روی nodes ندارد ، از SSH برای انجام کارهای اتوماسیون و فایل های YAML برای تعریف جزئیات تهیه استفاده می کند.
در این راهنما ، به چگونگی نصب Ansible در سرور مجازی Ubuntu .04 میپردازیم و در مورد اصول استفاده از این نرم افزار به صورت جزیی میپردازیم.
Ansible چگونه کار می کند؟
Ansible با پیکربندی ماشینهای کلاینت کار میکند ، که به nodes managed شناخته میشوند ، از رایانه ای که اجزای Ansible را نصب و پیکربندی کرده است، که به آن گره ی کنترل Ansible گفته می شود.
برای بازیابی اطلاعات از سیستمهای از راه دور ، صدور دستورات و کپی کردن فایلها ، از طریق کانالهای عادی SSH ارتباط برقرار می کند. به همین دلیل ، یک سیستم Ansible نیازی به نصب هیچ نرم افزار اضافی بر روی رایانه های کلاینت ندارد.
این روشی است که Ansible مدیریت سرور مجازی ها را ساده تر می کند. هر سرور مجازی ی که درگاه SSH را در معرض دید دارد ، می تواند صرف نظر از اینکه در چه مرحله ای از چرخه زندگی خود قرار دارد ، تحت حوزه پیکربندی Ansible قرار گیرد. این بدان معناست که هر رایانه ای که بتوانید از طریق SSH مدیریت کنید ، می توانید از طریق Ansible نیز مدیریت کنید.
Ansible یک رویکرد مدولار را در پیش می گیرد و شما را قادر می سازد تا ویژگی های سیستم اصلی را برای مقابله با سناریوهای خاص گسترش دهید. ماژول ها را می توان به هر زبانی نوشت و با JSON استاندارد ارتباط برقرار کرد.
فایل های پیکربندی به دلیل ماهیت تاثیرگذار و شباهت آن با زبانهای نشانه گذاری محبوب ، عمدتاً در قالب سریال سازی داده های YAML نوشته شده اند. Ansible میتواند از طریق ابزارهای خط فرمان یا اسکریپت های پیکربندی آن ، که به Playbooks شناخته می شوند ، با هاست تعامل برقرار کند.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
یک node کنترل Ansible: node کنترل Ansible ماشینی است که ما برای اتصال و کنترل هاست های Ansible روی SSH از آن استفاده خواهیم کرد. node کنترل Ansible شما یا می تواند دستگاه محلی شما باشد یا یک سرور مجازی اختصاص داده شده برای اجرای Ansible ، اگرچه این راهنما فرض می کند که node کنترل شما یک سیستم اوبونتو .04 است. اطمینان حاصل کنید که node کنترل دارای موارد زیر است:
o یک کاربر غیر ریشه با امتیازات sudo. برای تنظیم این گزینه ، می توانید مراحل 2 و 3 راهنمای اولیه راه اندازی سرور مجازی ما برای اوبونتو .04 را دنبال کنید. با این وجود ، لطفاً توجه داشته باشید که اگر از سرور مجازی راه دور به عنوان node کنترل Ansible خود استفاده می کنید ، باید هر مرحله از این راهنما را دنبال کنید. با این کار فایروال روی سرور مجازی با ufw پیکربندی شده و دسترسی خارجی به پروفایل کاربر غیر ریشه شما امکان پذیر خواهد شد ، که هر دو به حفظ امنیت سرور مجازی از راه دور کمک می کنند.
o صفحه کلید SSH مرتبط با این کاربر. برای انجام این کار ، می توانید مرحله 1 راهنمای ما درباره نحوه تنظیم کلیدهای SSH در اوبونتو .04 را دنبال کنید.
یک یا چند هاست Ansible: هاست Ansible هر دستگاهی است که node کنترل Ansible شما برای خودکار سازی آن تنظیم شده باشد. این راهنما فرض می کند که هاست های Ansible شما سرور مجازی های Ubuntu .04 از راه دور هستند. اطمینان حاصل کنید که هر هاست Ansible دارای موارد زیر است:
o کلید عمومی SSH node کنترل Ansible به authorized_keys کاربر سیستم اضافه شده باشد. این کاربر می تواند یا root یا یک کاربر معمولی با امتیازات sudo باشد. برای تنظیم این گزینه ، می توانید مرحله 2 نحوه تنظیم کلیدهای SSH را در اوبونتو .04 دنبال کنید.
مرحله 1 – نصب Ansible
برای شروع استفاده از Ansible به عنوان ابزاری برای مدیریت زیرساخت های سرور مجازی خود ، باید نرم افزار Ansible را روی دستگاه نصب کنید که به عنوان node کنترل Ansible عمل خواهد کرد.
از node کنترل خود ، دستور زیر را اجرا کنید تا PPA (بایگانی بسته شخصی) پروژه رسمی را در لیست منابع سیستم خود وارد کنید:
$ sudo apt-add-repository ppa:ansible/ansible

هنگامی که از شما خواسته شد افزودن PPA را بپذیرید ، ENTER را فشار دهید.
سپس ، فهرست بسته بندی سیستم خود را ریفرش کنید تا از بسته های موجود در PPA که اخیراً در آن قرار گرفته آگاهی پیدا کنید:
$ sudo apt update

پس از این بروزرسانی ، می توانید نرم افزار Ansible را با دستور زیر نصب کنید:
$ sudo apt install ansible

node کنترلی Ansible شما اکنون تمامی نرم افزارهای مورد نیاز برای مدیریت هاست شما را دارد. در مرحله بعد ، به نحوه اضافه کردن هاست ها به فایل موجودی node کنترل خواهیم پرداخت تا بتواند آنها را کنترل کند.
مرحله 2 – تنظیم فایل موجودی
فایل موجودی (Inventory) شامل اطلاعات مربوط به هاست هایی است که با Ansible آنها را مدیریت خواهید کرد. شما می توانید از یک تا چند صد سرور مجازی در فایل موجودی خود داشته باشید و هاست ها را می توانید در گروه ها و زیر گروه ها سازماندهی کنید. فایل موجودی نیز اغلب برای تنظیم متغیرهایی مورد استفاده قرار می گیرد که فقط برای هاست یا گروه های خاص معتبر باشند ، تا در playbookها و قالب ها مورد استفاده قرار گیرند. برخی از متغیرها همچنین می توانند بر نحوه اجرای یک playbook اثر بگذارند ، مانند متغیر ansible_python_interpreter که به زودی مشاهده خواهیم کرد.
برای ویرایش محتوای موجودی پیش فرض Ansible ، فایل / etc / ansible / hosts را با استفاده از ویرایشگر متن مورد نظر خود، در node کنترل Ansible باز کنید:
$ sudo nano /etc/ansible/hosts

توجه: برخی از نصب های Ansible فایل موجودی پیش فرض را ایجاد نمی کنند. اگر این فایل در سیستم شما وجود ندارد ، می توانید یک فایل جدید را در / etc / ansible / hosts ایجاد کنید یا یک مسیر موجودی سفارشی را با استفاده از پارامتر -i هنگام اجرای دستورات و playbooks تهیه کنید.

فایل موجودی پیش فرض موجود توسط نصب Ansible شامل تعدادی مثال است که می توانید از آنها به عنوان مرجع برای تنظیم موجودی خود استفاده کنید. مثال زیر گروهی را به نام [servers] با سه سرور مجازی مختلف در آن تعریف می کند که هر یک توسط یک نام مستعار مشخص شده اند: server1 ،server2 و server3. حتما IP های هایلایت شده را با آدرس های IP هاست های Ansible جایگزین کنید.
/etc/ansible/hosts
[servers]
server1 ansible_host=203.0.113.111
server2 ansible_host=203.0.113.112
server3 ansible_host=203.0.113.113

[all:vars]
ansible_python_interpreter=/usr/bin/python3

زیر گروهall: vars پارامتر هاست ansible_python_interpreter را تعیین می کند که برای همه هاست های موجود در این موجودی معتبر خواهد بود. این پارامتر اطمینان حاصل می کند که سرور مجازی راه دور به جای / usr / bin / python (Python 2.7) از / usr / bin / python3 (Python 3) قابل اجرا استفاده می کند که در نسخه های اخیر اوبونتو وجود ندارد.
پس از اتمام ، فایل را با فشار دادن CTRL + X سپس Y و ENTER ذخیره کرده و آن را ببندید تا تغییرات خود را تأیید کنید.
هر زمان که می خواهید موجودی خود را بررسی کنید ، می توانید این دستور را اجرا کنید:
$ ansible-inventory –list -y

خروجی شبیه به این را خواهید دید ، اما زیرساخت سرور مجازی خود را مطابق با فایل موجودی خود تعریف می کنید:
Output
all:
children:
servers:
hosts:
server1:
ansible_host: 203.0.113.111
ansible_python_interpreter: /usr/bin/python3
server2:
ansible_host: 203.0.113.112
ansible_python_interpreter: /usr/bin/python3
server3:
ansible_host: 203.0.113.113
ansible_python_interpreter: /usr/bin/python3
ungrouped: {}

اکنون که فایل موجودی خود را پیکربندی کرده اید ، همه چیز لازم برای آزمایش اتصال به هاست های Ansible خود را دارید.
مرحله 3 – آزمایش اتصال
پس از تنظیم فایل موجودی برای شامل شدن سرور مجازیهای خود، زمان آن است که بررسی کنیم آیا Ansible قادر به اتصال به این سرور مجازیها و اجرای دستورات از طریق SSH است یا خیر.
برای این راهنما ، ما از حساب ریشه Ubuntu استفاده خواهیم کرد زیرا این تنها حساب موجود به طور پیش فرض در سرور مجازی های تازه ایجاد شده است. اگر هاست های Ansible شما قبلاً یک کاربر sudo معمولی ایجاد کرده اند ، به شما توصیه می شود که به جای ریشه از آن حساب استفاده کنید.
برای مشخص کردن کاربر سیستم از راه دور می توانید از آرگومان -u استفاده کنید. در صورت عدم ارائه ، Ansible سعی خواهد کرد که به عنوان کاربر فعلی سیستم شما در node کنترل متصل شود.
از دستگاه محلی یا node کنترل Ansible خود این دستور را اجرا کنید:
$ ansible all -m ping -u root

این دستورالعمل از ماژول داخلی پینگ Ansible برای انجام یک تست اتصال در همه nodes از موجودی پیش فرض شما ، به عنوان root استفاده می کند. ماژول ping موارد زیر را تست خواهد کرد:
آیا هاست ها در دسترس هستند.
آیا اعتبار SSH معتبری دارید؛
آیا هاست ها قادرند ماژول های Ansible را با استفاده از پایتون اجرا کنند.
شما باید خروجی مشابه این دریافت کنید:
Output
server1 | SUCCESS => {
changed”: false,
ping”: pong”
}
server2 | SUCCESS => {
changed”: false,
ping”: pong”
}
server3 | SUCCESS => {
changed”: false,
ping”: pong”
}

اگر این اولین بار است که از طریق SSH به این سرور مجازیها وصل می شوید ، از شما خواسته می شود که صحت هاست هایی را که از طریق Ansible به آنها وصل می شوید ، تأیید کنید. وقتی از شما خواسته شد ، yes را تایپ کنید و سپس برای تأیید ENTER را بزنید.
هنگامی که پاسخ pong” را از هاست دریافت کردید ، به این معنی است که شما آماده اجرای دستورات و playbookهای Ansible در آن سرور مجازی هستید.
توجه: اگر نمی توانید پاسخ موفقی از سرور مجازیهای خود دریافت کنید ، برای اطلاعات بیشتر در مورد نحوه اجرای دستورات Ansible با گزینه های مختلف اتصال ، راهنمای برگه تقلب Ansible ما را بررسی کنید.

مرحله 4 – اجرای دستورات Ad-Hoc (اختیاری)
پس از تأیید اینکه node کنترل Ansible شما قادر به برقراری ارتباط با هاست شماست ، می توانید دستورات ad-hoc و playbooks را روی سرور مجازی های خود اجرا کنید.
هر دستوری که معمولاً بر روی SSH از سرور مجازی راه دور اجرا می کنید می تواند با Ansible در سرور مجازی های مشخص شده در فایل موجودی شما اجرا شود. به عنوان نمونه ، می توانید میزان استفاده از دیسک را در همه سرورها با دستور زیر بررسی کنید:
$ ansible all -a df -h” -u root

Output

server1 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 798M 624K 798M 1% /run
/dev/vda1 155G 2.3G 153G 2% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vda15 105M 3.6M 101M 4% /boot/efi
tmpfs 798M 0 798M 0% /run/user/0

server2 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 395M 608K 394M 1% /run
/dev/vda1 78G 2.2G 76G 3% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda15 105M 3.6M 101M 4% /boot/efi
tmpfs 395M 0 395M 0% /run/user/0

فرمان هایلایت شده df -h را می توان با هر دستوری که دوست دارید جایگزین کنید.
همچنین می توانید ماژول های Ansible را از طریق دستورات ad-hoc ، مشابه آنچه قبلاً با ماژول ping برای آزمایش اتصال انجام داده ایم ، اجرا کنید. به عنوان مثال ، در اینجا چگونگی استفاده از ماژول apt برای نصب جدیدترین نسخه vim بر روی همه سرور مجازیهای موجود در موجودی شما آورده شده است:
$ ansible all -m apt -a name=vim state=latest” -u root

همچنین هنگام اجرای دستورات Ansible می توانید هاست های فردی و همچنین گروه ها و زیر گروه ها را هدف قرار دهید. به عنوان مثال ، به این ترتیب شما می توانید uptime هر هاست در گروه سرور مجازیها را بررسی کنید:
$ ansible servers -a uptime” -u root

ما می توانیم هاست های مختلفی را با جدا کردن آنها با دو نقطه مشخص کنیم:
$ ansible server1:server2 -m ping -u root

برای کسب اطلاعات بیشتر در مورد نحوه استفاده از Ansible ، از جمله نحوه اجرای playbooks برای اتوماسیون تنظیم سرور مجازی ، می توانید راهنمای مرجع Ansible ما را بررسی کنید.
نتیجه
در این راهنما ، شما Ansible را نصب کردید و یک فایل موجودی را برای اجرای دستورات ad-hoc از یک node کنترل Ansible اجرا کردید.
هنگامی که تأیید کردید که قادر هستید زیرساختهای خود را از یک دستگاه کنترلر مرکزی Ansible متصل کرده و کنترل کنید ، می توانید هر دستور یا palybook مورد نظر را در مورد آن هاست اجرا کنید. برای سرور مجازیهای جدید ، playbook ستاپ اولیه سرور مجازی نقطه شروع خوبی است. همچنین می توانید نحوه نوشتن playbookهای خود را با راهنمای ما در مورد مدیریت پیکربندی 101: نوشتن کتابهای Ansible بیاموزید.
برای کسب اطلاعات بیشتر در مورد نحوه استفاده از Ansible ، راهنمای کمکی در صفحه ما را ببینید.

 

 

 

 

برچسب‌ها:


یک سیستم مدیریت پایگاه داده منبع باز است که معمولاً به عنوان بخشی از پشته محبوب LAMP (Linux ، Apache ، MySQL ، PHP / Python / Perl) نصب می شود. برای مدیریت داده های خود از یک پایگاه داده رابطه ای و SQL (زبان پرس و جوی ساختار یافته) استفاده می کند.
نصب نسخه کوتاه ساده است: فهرست بسته خود را به روز کنید ، بسته mysql-server را نصب کنید و سپس اسکریپت امنیتی گنجانده شده را اجرا کنید.
$ sudo apt update

$ sudo apt install mysql-server

$ sudo mysql_secure_installation

در این آموزش نحوه نصب MySQL نسخه 5.7 در سرور مجازی Ubuntu .04 توضیح داده خواهد شد. با این حال ، اگر به دنبال به روزرسانی نصب MySQL موجود به نسخه 5.7 هستید ، می توانید به جای این راهنما، مقاله به روزرسانی MySQL 5.7 را مطالعه کنید.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
• یک سرور مجازی Ubuntu .04 که طبق راهنمای تنظیم اولیه سرور مجازی تنظیم شده باشد و شامل یک کاربر غیر ریشه با امتیازات sudo و فایروال باشد.
مرحله 1 – نصب MySQL
در اوبونتو .04 ، فقط آخرین نسخه MySQL بصورت پیش فرض در مخزن بسته APT گنجانده شده است. در زمان نوشتن این مقاله نسخه MySQL 5.7 است .
برای نصب آن ، ایندکس بسته را بر روی سرور مجازی خود با apt به روز کنید:
$ sudo apt update

سپس بسته پیش فرض را نصب کنید:
$ sudo apt install mysql-server

این کار MySQL را نصب می کند ، اما از شما خواسته نمی شود که رمز عبوری را تنظیم کنید یا تغییرات دیگری در پیکربندی ایجاد کنید. از آنجا که این کار باعث می شود نصب MySQL ناامن باشد ، در ادامه به این موضوع خواهیم پرداخت.
مرحله 2 – پیکربندی MySQL
برای ریفرش کردن نصب ها، بهتر است اسکریپت امنیتی موجود را اجرا کنید. این کار برخی از گزینه های پیش فرض با ایمنی کمتر را برای مواردی مانند ورود به سیستم ریشه از راه دور و کاربران نمونه تغییر میدهد. در نسخه های قدیمی MySQL ، شما باید دایرکتوری داده را به صورت دستی نیز تنظیم کنید ، اما اکنون این کار به صورت خودکار انجام می شود.
اسکریپت امنیتی را اجرا کنید:
$sudo mysql_secure_installation

این امر یک سری اعلان به شما نشان میدهد که می توانید برخی از گزینه های امنیتی نصب MySQL خود را تغییر دهید. اولین سؤال از شما میپرسد که آیا می خواهید افزونه Validate Password را تنظیم کنید ، که می تواند برای تست قدرت رمز ورود MySQL استفاده شود. صرف نظر از انتخاب شما ، اعلان بعدی تنظیم رمز عبور برای کاربر ریشه MySQL خواهد بود. رمز عبور مطمئن مورد نظر خود را وارد کرده و سپس تأیید کنید.
از آنجا ، می توانید Y و سپس ENTER را فشار دهید تا پیش فرض برای همه سؤالات بعدی را بپذیرید. با این کار برخی از کاربران ناشناس و بانک اطلاعاتی آزمایشی حذف می شوند ، ورود به سیستم ریشه از راه دور غیرفعال می شود و این قوانین جدید را لود می کنند تا MySQL فوراً با تغییراتی که ایجاد کرده اید منطبق شود.
برای مقدار دهی اولیه دایرکتوری داده MySQL ، می توانید از mysql_install_db برای نسخه های قبل از 5.7.6 ، و از mysqld –initialize برای 5.7.6 و بعد از آن استفاده کنید. با این حال ، اگر MySQL را از توزیع Debian نصب کردید ، همانطور که در مرحله 1 توضیح داده شد ، دایرکتوری داده به طور خودکار آغاز می شود. شما مجبور نیستید کاری انجام دهید. اگر به هر حال سعی کنید دستور را اجرا کنید ، خطای زیر را مشاهده خواهید کرد:
Output
mysqld: Can’t create directory ‘/var/lib/mysql/’ (Errcode: 17 – File exists)
. . .
20-04-23T13:48:00.572066Z 0 [ERROR] Aborting

توجه داشته باشید که حتی اگر یک رمز عبور برای کاربر ریشه MySQL تنظیم کرده اید ، این کاربر برای تأیید اعتبار با گذرواژه هنگام اتصال به پوسته MySQL پیکربندی نشده است. در صورت تمایل می توانید با دنبال کردن مرحله 3 این کار را انجام دهید.
مرحله 3 – تنظیم تأیید اعتبار و امتیازات کاربر (اختیاری)
در سیستم های اوبونتو که MySQL 5.7 (و نسخه های بعدی) را اجرا می کند ، تأیید اعتبار کاربر ریشه MySQL بصورت پیش فرض با استفاده از افزونه auth_socket و نه با گذرواژه تنظیم شده است. این امر امنیت و قابلیت استفاده بیشتر را در بسیاری از موارد امکان پذیر می کند ، اما همچنین می تواند مواردی را که نیاز دارید به یک برنامه خارجی (مانند phpMyAdmin) برای دسترسی به کاربر اجازه بدهید، پیچیده تر کند.
به منظور استفاده از رمز عبور برای اتصال به MySQL به عنوان root ، باید روش تأیید اعتبار آن را از auth_socket به mysql_native_password تغییر دهید. برای این کار ، اعلان MySQL را از پایانه خود باز کنید:
$ sudo mysql

سپس ، با دستور زیر بررسی کنید که هر یک از حسابهای کاربری MySQL شما از کدام روش تأیید اعتبار استفاده میکند:
Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
4 rows in set (0.00 sec)

در این مثال ، می بینید که کاربر ریشه با استفاده از افزونه auth_socket ، تأیید اعتبار می کند. برای پیکربندی حساب ریشه برای تأیید اعتبار با رمز عبور ، دستور ALTER USER زیر را اجرا کنید. مطمئن شوید که رمز عبور را به رمز عبوری قوی به انتخاب خود تغییر می دهید و توجه داشته باشید که این دستور رمز اصلی را که در مرحله 2 تنظیم کرده اید تغییر می دهد:
Mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;

سپس ، FLUSH PRIVILEGES را اجرا کنید که به سرور مجازی می گوید جداول اعطای امتیاز را لود مجدد کند و تغییرات جدید شما را اعمال کند:
Mysql> FLUSH PRIVILEGES;

روش های تأیید اعتبار استفاده شده توسط هر یک از کاربران خود را دوباره بررسی کنید تا تأیید کنید که ریشه دیگر با استفاده از افزونه auth_socket احراز هویت نمی کند:
Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
4 rows in set (0.00 sec)

در این مثال می توانید مشاهده کنید که کاربر ریشه MySQL اکنون با استفاده از یک رمز عبور تأیید اعتبار می کند. پس از تأیید این موضوع روی سرور مجازی خود ، می توانید از پوسته MySQL خارج شوید:
Mysql> exit

از طرف دیگر ، برخی ممکن است دریابند که اتصال به MySQL با یک کاربر اختصاصی برای جریان کاری آن ها مناسب تر است. برای ایجاد چنین کاربری ، بار دیگر پوسته MySQL را باز کنید:
$ sudo mysql

توجه: اگر احراز هویت رمز عبور را برای ریشه فعال کرده اید ، همانطور که در پاراگراف های قبلی توضیح داده شد ، برای دسترسی به پوسته MySQL باید از دستور دیگری استفاده کنید. موارد زیر کلاینت MySQL شما را با امتیازات کاربری معمول اجرا می کند و شما فقط با تأیید اعتبار ، امتیازات ادمین را در بانک اطلاعاتی دریافت خواهید کرد:
$ mysql -u root -p

از آنجا ، یک کاربر جدید ایجاد کنید و رمزعبور قوی به آن بدهید:
Mysql> CREATE USER ‘sammy’@’localhost’ IDENTIFIED BY ‘password’;

سپس امتیازات مناسب را به کاربر جدید خود اعطا کنید. به عنوان مثال ، شما می توانید امتیازات کاربر را به تمام جداول موجود در دیتابیس بدهید و همچنین قدرت اضافه کردن ، تغییر و حذف امتیازات کاربر را با این دستور اعطا کنید:
Mysql>GRANT ALL PRIVILEGES ON *.* TO ‘sammy’@’localhost’ WITH GRANT OPTION;

توجه داشته باشید که در این مرحله ، دیگر نیازی به اجرای فرمان FLUSH PRIVILEGES ندارید. این دستور فقط در صورت تغییر جدول های اعطای امتیاز با استفاده از عباراتی مانند INSERT ، UPDATE یا DELETE مورد نیاز است. از آنجا که شما به جای تغییر کاربر موجود، یک کاربر جدید ایجاد کرده اید ، FLUSH PRIVILEGES در اینجا لازم نیست.
پس از آن ، از پوسته MySQL خارج شوید:
Mysql>exit

در آخر ، بیایید نصب MySQL را آزمایش کنیم.
مرحله 4 – تست MySQL
صرف نظر از نحوه نصب آن ، MySQL باید به صورت خودکار شروع به کار کند. برای آزمایش این موضوع ، وضعیت آن را بررسی کنید.
$ systemctl status mysql.service

خروجی مشابه زیر را مشاهده خواهید کرد:
Output
● mysql.service – MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since Wed 20-04-23 21:21:25 UTC; 30min ago
Main PID: 3754 (mysqld)
Tasks: 28
Memory: 142.3M
CPU: 1.994s
CGroup: /system.slice/mysql.service
└─3754 /usr/sbin/mysqld

اگر MySQL در حال اجرا نیست ، می توانید آن را با sudo systemctl start mysql راه اندازی کنید.
برای بررسی بیشتر ، می توانید با استفاده از ابزار mysqladmin ، که یک کلاینت است و به شما امکان اجرای دستورات ادمین را می دهد ، به پایگاه داده وصل شوید. به عنوان مثال ، این دستور می گوید به عنوان ریشه (-u root) به MySQL متصل شوید، اعلان گذرواژه را پر کنید (-p) ، و نسخه را برگردانید.
$ sudo mysqladmin -p -u root version

باید خروجی مشابه این را ببینید:
Output
mysqladmin Ver 8.42 Distrib 5.7.21, for Linux on x86_64
Copyright (c) 2000, 20, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version 5.7.21-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 30 min 54 sec

Threads: 1 Questions: 12 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 34 Que

این بدان معنی است که MySQL در حال کار است.
نتیجه
اکنون یک ستاپ ساده MySQL روی سرور مجازی خود نصب کرده اید. در اینجا چند نمونه از مراحل بعدی که می توانید انجام دهید آورده شده است:
اجرای برخی اقدامات امنیتی اضافی
جابجایی دایرکتوری داده ها
مدیریت سرور مجازی های MySQL خود با SaltStack

 

 

 

 

 

 

برچسب‌ها:


به عنوان یک ادمین سیستم ، بهترین کار شناخت وضعیت فعلی زیرساخت ها و خدمات خود میباشد. در حالت ایده آل ، می خواهید قبل از اینکه کاربران کاری کنند ، دیسک های خراب یا مشکلات برنامه را متوجه شوید. ابزارهای نظارتی مانند Checkmk می توانند به مدیران کمک کنند تا این مشکلات را پیدا کرده و سرور مجازی های سالم را حفظ کنند.
به طور کلی ، نرم افزار مانیتورینگ می تواند وضعیت سخت افزاری ، زمان فعالیت و وضعیت سرور مجازی های شما را ردیابی کند و در صورت بروز هر مشکلی هشدار دهد. در یک حالت بسیار ساده ، یک سیستم نظارتی در صورت متوقف شدن هرگونه خدمات به شما هشدار می دهد. در یک حالت قوی تر ، هشدار بلافاصله بعد از بروز هرگونه علائم مشکوک ، مانند افزایش استفاده از حافظه یا میزان غیرطبیعی اتصالات TCP ، به وجود می آید.
راه حل های مانیتورینگ بسیاری وجود دارد که درجات مختلف پیچیدگی و ویژگی های مختلف ، هم رایگان و هزینه بر را ارائه می دهد. در بسیاری از موارد ، نصب ، پیکربندی و مدیریت این ابزارها دشوار و وقت گیر است.
با این حال Checkmk ، یک روش نظارتی است که هم قوی میباشد و هم نصب آن ساده است. یک بسته نرم افزاری خود شمول است که شامل Nagios (یک سرویس هشدار دهنده محبوب و منبع باز) با افزونه هایی برای جمع آوری ، نظارت و نمودار سازی داده ها است. همچنین رابط وب Checkmk را به همراه دارد – ابزاری جامع که بسیاری از کاستی های Nagios را برطرف می کند. این دستگاه داشبورد کاربر پسند ، یک سیستم نوتیفیکیشن همه منظوره و یک مخزن دارای عوامل نظارتی آسان قابل نصب را در بسیاری از توزیع های لینوکس ارائه می دهد. اگر رابط وب Checkmk را نداشته باشد ، باید برای کارهای مختلف از نماهای مختلف استفاده کنیم و امکان استفاده از این ویژگی ها بدون استفاده از اصلاحات گسترده فایل امکان پذیر نیست.
در این راهنما Checkmk را روی یک سرور مجازی Ubuntu .04 تنظیم می کنیم و دو هاست جداگانه را مانیتور می کنیم. خود سرور مجازی اوبونتو و همچنین یک سرور مجازی جداگانه CentOS 7 را رصد خواهیم کرد ، اما می توانیم از همین روش استفاده کنیم تا تعداد هاست های بیشتری را به پیکربندی مانیتورینگ خود اضافه کنیم.
پیش نیازها
• یک سرور مجازی Ubuntu .04 با یک کاربر معمولی و غیر ریشه و دارای امتیازات sudo. با پیروی از این آموزش اولیه راه اندازی سرور مجازی می توانید نحوه آماده سازی سرور مجازی خود را بیاموزید.
• یک سرور مجازی CentOS 7 با یک کاربر معمولی و غیر ریشه و دارای امتیازات sudo. برای تهیه این سرور مجازی می توانید این آموزش اولیه تنظیم سرور مجازی را دنبال کنید.
مرحله 1 – نصب Checkmk در اوبونتو
برای استفاده از سایت مانیتور خود ابتدا باید Checkmk را روی سرور مجازی اوبونتو نصب کنیم. این کار ابزارهای لازم را به ما می دهد. Checkmk فایلهای رسمی بسته آماده استفاده برای اوبونتو را فراهم می کند که می توانیم برای نصب بسته نرم افزاری از آنها استفاده کنیم.
ابتدا ، لیست بسته ها را به روز می کنیم تا جدیدترین نسخه از لیست مخازن را داشته باشیم:
⦁ $ sudo apt update

برای جستجوی بسته ها می توانیم به سایت لیست بسته ها برویم. اوبونتو .04 را می توان در فهرست صفحه انتخاب کرد.
اکنون بسته را دانلود کنید:
⦁ $ wget https://checkmk.com/support/1.6.0p8/check-mk-raw-1.6.0p8_0.bionic_amd64.deb

سپس بسته تازه دانلود شده را نصب کنید:
⦁ $ sudo apt install -y ./check-mk-raw-1.6.0p8_0.bionic_amd64.deb

این دستور بسته Checkmk را به همراه تمام متعلقات لازم از جمله وب سرور مجازی Apache که برای دسترسی به وب به رابط مانیتورینگ استفاده می شود ، نصب می کند.
پس از اتمام نصب ، اکنون می توانیم به دستور omd دسترسی پیدا کنیم. آن را امتحان کنید:
⦁ $ sudo omd

این دستور omd به شرح زیر است:
Output
Usage (called as root):

omd help Show general help

. . .

General Options:
-V <version> set specific version, useful in combination with update/create
omd COMMAND -h, –help show available options of COMMAND

دستور omd می تواند تمام موارد Checkmk را در سرور مجازی ما مدیریت کند. می تواند همه خدمات نظارت را به طور همزمان شروع و متوقف کند ، و ما از آن برای ایجاد نمونه Checkmk استفاده خواهیم کرد. با این حال ، ابتدا ، باید تنظیمات فایروال خود را به روز کنیم تا به خارج از پورت پیش فرض دسترسی پیدا کنیم.
مرحله 2 – تعیین تنظیمات فایروال
قبل از اینکه بتوانیم با Checkmk کار کنیم ، لازم است در پیکربندی فایروال اجازه دسترسی خارجی به سرور مجازی وب را فراهم کنیم. با فرض اینکه مراحل پیش فرض تنظیمات فایروال را دنبال کرده باشید ، فایروال UFW را برای محدود کردن دسترسی به سرور مجازی خود تنظیم کرده اید.
در حین نصب ، Apache خود را با UFW ثبت می کند تا راهی آسان برای فعال یا غیرفعال کردن دسترسی به Apache از طریق فایروال فراهم کند.
برای دسترسی به Apache ، از دستور زیر استفاده کنید:
⦁ $ sudo ufw allow Apache

اکنون تغییرات را تأیید کنید:
⦁ $ sudo ufw status

خواهید دید که Apache در بین سرویس های مجاز ذکر شده است:
Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
Apache ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Apache (v6) ALLOW Anywhere (v6)

این به ما امکان دسترسی به رابط وب Checkmk را می دهد.
در مرحله بعدی ، اولین نمونه مانیتورینگ Checkmk را ایجاد خواهیم کرد.
مرحله 3 – ایجاد یک نمونه مانیتورینگ Checkmk
Checkmk برای جداسازی چندین نسخه Checkmk روی یک سرور مجازی از مفهوم نمونه ها یا نصب های فردی استفاده می کند. در بیشتر موارد ، تنها یک نسخه از Checkmk کافی است و اینگونه است که ما در این راهنما نرم افزار را پیکربندی می کنیم.
ابتدا باید یک نمونه جدید را نامگذاری کنیم و در تمام این متن از monitoring استفاده خواهیم کرد. برای ایجاد نمونه ، این دستور را تایپ کنید:
⦁ $ sudo omd create monitoring

ابزار omd همه چیز را بطور خودکار برای ما تنظیم می کند. خروجی فرمان شبیه به زیر خواهد بود:
Output
Adding /opt/omd/sites/monitoring/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/monitoring/tmp…OK
Restarting Apache…OK
Created new site monitoring with version 1.6.0p8.cre.

The site can be started with omd start monitoring.
The default web UI is available at http://your_ubuntu_server/monitoring/

The admin user for the web applications is cmkadmin with password: your-default-password
(It can be changed with ‘htpasswd -m ~/etc/htpasswd cmkadmin’ as site user.)
Please do a su – monitoring for administration of this site.

در این خروجی آدرس URL ، نام کاربری پیش فرض و رمز عبور برای دسترسی به رابط مانیتورینگ ما هایلایت می شوند. نمونه اکنون ایجاد شده است ، اما هنوز شروع نشده است. برای شروع مثال ، تایپ کنید:
⦁ $ sudo omd start monitoring

در حال حاضر تمام ابزارها و سرویس های لازم به طور همزمان آغاز می شوند. در پایان خروجی را مشاهده خواهیم کرد که تایید میکند همه سرویس های ما با موفقیت شروع شده است:
Output
Starting mkeventd…OK
Starting rrdcached…OK
Starting npcd…OK
Starting nagios…OK
Starting apache…OK
Initializing Crontab…OK

نمونه به روز و در حال اجرا است.
برای دسترسی به نمونه Checkmk ، در مرورگر وب http: // your_ubuntu_server_ip / monitor / را باز کنید. از شما خواسته می شود که یک رمز عبور وارد کنید. از اعتبارات پیش فرض چاپ شده روی صفحه استفاده کنید. بعداً این پیش فرض ها را تغییر خواهیم داد.
صفحه Checkmk با یک داشبورد باز می شود ، که تمام خدمات و وضعیت سرور مجازی های ما را در لیست ها نشان می دهد و از نمودارهای عملی شبیه کره زمین استفاده می کند. بلافاصله پس از نصب ، این موارد خالی است ، اما به زودی آن را برای نمایش سرویس ها و سیستم های خود ایجاد خواهیم کرد.

در مرحله بعد رمزعبور پیش فرض را برای ایمن سازی سایت با استفاده از این رابط تغییر خواهیم داد.
مرحله 4 – تغییر رمز عبور ادمین
در حین نصب ، Checkmk یک رمز عبور تصادفی برای کاربر ادمین cmkadmin ایجاد می کند. این گذرواژه قرار است هنگام نصب تغییر یابد و به همین دلیل اغلب کوتاه است و چندان ایمن نیست. ما می توانیم این رمز را از طریق رابط وب تغییر دهیم.
ابتدا ، صفحه کاربران را از منوی WATO – Configuration در سمت چپ باز کنید. در این لیست کلیه کاربرانی که در حال حاضر به سایت Checkmk دسترسی دارند نشان داده میشوند. در نصب جدید فقط دو کاربر لیست می شوند. اولین مورد ، automation ، برای استفاده با ابزارهای خودکار در نظر گرفته شده است. دومی کاربر cmkadmin است که ما برای ورود به سایت استفاده می کردیم.

برای تغییر جزئیات آن از جمله رمز عبور ، روی آی مداد کنار کاربر cmkadmin کلیک کنید.

گذرواژه را به روز کنید ، یک ایمیل ادمین اضافه کنید و هرگونه تغییر دلخواه دیگری میخواهید انجام دهید.
پس از ذخیره تغییرات ، از ما خواسته می شود دوباره با استفاده از اعتبار جدید خود وارد سیستم شوید. این کار را انجام دهید و به داشبورد برگردید ، جایی که باید برای پیاده سازی کامل پیکربندی جدید خود یک کار دیگر نیز انجام دهیم.
یکبار دیگر از منوی WATO – Configuration پیکربندی در سمت چپ ، صفحه کاربران را باز کنید. دکمه نارنجی در گوشه بالا سمت چپ با عنوان 1 Change به ما می گوید که ما در پیکربندی Checkmk تغییراتی ایجاد کرده ایم و باید آنها را ذخیره و فعال کنیم. این اتفاق هر بار که می خواهیم پیکربندی سیستم نظارت خود را تغییر دهیم ، تکرار میشود و نه تنها پس از ویرایش اطلاعات کاربری. برای ذخیره و فعال کردن تغییرات در حال انتظار ، باید روی این دکمه کلیک کرده و با فعال سازی تغییرات ذکر شده با استفاده از گزینه ” Activate affected” در صفحه زیر موافقت کنید.

پس از فعال سازی تغییرات ، داده های کاربر جدید در فایل های پیکربندی نوشته شده و توسط همه اجزای سیستم استفاده می شود. Checkmk به طور خودکار مراقب اجزای سیستم مانیتورینگ فردی ، لود مجدد آنها در صورت وم و مدیریت کلیه فایل های پیکربندی مورد نیاز است.
نصب Checkmk اکنون آماده استفاده است. در مرحله بعد ، هاست اول را به سیستم نظارت خود اضافه خواهیم کرد.
مرحله 5 – نظارت بر هاست اول
اکنون آماده مانیتورینگ هاست اول هستیم. برای انجام این کار ، ابتدا check-mk-agent را روی سرور مجازی اوبونتو نصب خواهیم کرد. سپس ، دسترسی به داده های مانیتورینگ را با استفاده از xinetd محدود خواهیم کرد.
مؤلفه های نصب شده با Checkmk وظیفه دریافت ، ذخیره و ارائه اطلاعات نظارت را دارند. آنها خود اطلاعات را ارائه نمی دهند.
برای جمع آوری داده های واقعی ، از عامل Checkmk استفاده خواهیم کرد. از آنجا که عامل Checkmk به طور خاص برای این کار طراحی شده ، قادر به نظارت بر همه اجزای حیاتی سیستم به طور همزمان و گزارش آن اطلاعات به نمونه Checkmk است.
نصب عامل
اولین هاستی که مانیتور خواهیم کرد your_ubuntu_server خواهد بود – سرور مجازی ی که ما خود نمونه Checkmk را نصب کرده ایم.
برای شروع ، باید عامل Checkmk را نصب کنیم. بسته های مربوط به همه توزیع های عمده ، از جمله اوبونتو ، مستقیماً از رابط وب موجود است. صفحه Monitoring Agents را از منوی WATO – Configuration در سمت چپ باز کنید. دانلودهای موجود با محبوب ترین بسته ها را در قسمت اول با برچسب Packaged agents مشاهده خواهید کرد.

بسته check-mk-agent_1.6.0p8-1_all.deb مناسب برای توزیع های مبتنی بر دبیان ، از جمله اوبونتو است. لینک دانلود آن بسته را از مرورگر وب کپی کنید و از آن آدرس برای دانلود بسته استفاده کنید.
$ wget http://your_ubuntu_server_ip/monitoring/check_mk/agents/check-mk-agent_1.6.0p8-1_all.deb

پس از دانلود ، بسته را نصب کنید:
⦁ $ apt install -y ./check-mk-agent_1.6.0p8-1_all.deb

اکنون تأیید کنید که عامل با موفقیت نصب شده است:
⦁ $ check_mk_agent

این دستور متن بسیار طولانی را به نمایش می گذارد که به نظر می رسد مانند gibberish اما همه اطلاعات حیاتی درباره سیستم را در یک جا جمع می کند.
Output
<<<check_mk>>>
Version: 1.6.0p8
AgentOS: linux
. . .
[monitoring”]
<<<job>>>
<<<local>>>

این خروجی این دستور است که Checkmk برای جمع آوری داده های وضعیت از هاست های مانیتور شده، از آن استفاده می کند. اکنون ، دسترسی به داده های مانیتورینگ را با xinetd محدود خواهیم کرد.
محدود کردن دسترسی به داده های مانیتورینگ با استفاده از xinetd
به طور پیش فرض ، داده های check_mk_agent با استفاده از xinetd ارائه می شوند، مکانیزمی که پس از دستیابی به آن ، داده ها را از پورت شبکه خاص خارج می کند. این بدان معنی است که ما می توانیم با استفاده از telnet به پورت 6556 (پورت پیش فرض Checkmk) از هر رایانه دیگری در اینترنت به check_mk_agent دسترسی پیدا کنیم ، مگر اینکه پیکربندی فایروال ما آن را مجاز نداند.
این حالت رویکرد امنیتی خوبی برای انتشار اطلاعات حیاتی در مورد سرور مجازی ها به هر کسی در اینترنت نیست. ما فقط باید هاست هایی را مجاز کنیم که Checkmk را اجرا می کنند و برای دستیابی به این داده ها تحت نظارت ما هستند ، به طوری که فقط سیستم نظارت ما بتواند آن را جمع کند.
اگر آموزش اولیه راه اندازی سرور مجازی شامل مراحل تنظیم فایروال را دنبال کرده اید ، دسترسی به عامل Checkmk به طور پیش فرض مسدود شده است. با این وجود ، یک راه این است که این محدودیت های دسترسی را مستقیماً در پیکربندی سرویس اعمال کنید و برای محافظت از آن فقط به فایروال اعتماد نکنید.
برای محدود کردن دسترسی به داده های عامل ، باید فایل پیکربندی را در /etc/xinetd.d/check_mk ویرایش کنیم. فایل پیکربندی را در ویرایشگر مورد علاقه خود باز کنید. برای استفاده از nano ، تایپ کنید:
⦁ $ sudo nano /etc/xinetd.d/check_mk

این بخش را پیدا کنید:
/etc/xinetd.d/check_mk
. . .
# configure the IP address(es) of your Nagios server here:
#only_from = 127.0.0.1 10.0.20.1 10.0.20.2
. . .

تنظیم only_from مسئولیت محدود کردن دسترسی به آدرسهای IP خاص را دارد. از آنجا که ما اکنون در حال کار بر روی نظارت بر سرور مجازی ی هستیم که Checkmk روی آن کار می کند ، بهتر است فقط به localhost اجازه اتصال دهیم. تنظیمات پیکربندی را باطل و به روز کنید:
/etc/xinetd.d/check_mk
. . .
# configure the IP address(es) of your Nagios server here:
only_from = 127.0.0.1
. . .
فایل را ذخیره کنید و از آن خارج شوید.
برای تغییراتی که باید انجام شود ، باید daemon xinetd را مجدداً راه اندازی کنیم. اکنون این کار را انجام دهید:
⦁ $ sudo systemctl restart xinetd

اکنون عامل ما در حال اجراست و محدود به پذیرش اتصالات محلی است. ما می توانیم با استفاده از Checkmk ، مانیتورینگ را برای هاست پیکربندی کنیم.
پیکربندی هاست در رابط وب Checkmk
ابتدا ، برای اضافه کردن یک هاست جدید جهت نظارت ، باید به منوی هاست ها در فهرست WATO – Configuration در سمت چپ برویم. از اینجا روی ایجاد هاست جدید کلیک کنید. برخی اطلاعات هاست از ما خواسته می شود.
نام هاست نامی آشناست که Checkmk برای نظارت از آن استفاده خواهد کرد. ممکن است یک نام دامنه کاملاً واجد شرایط باشد ، اما لازم نیست. در این مثال ، ما دقیقاً مانند نام نمونه Checkmk ، هاست را monitoring نامیدیم. از آنجا که onitoring برای آدرس IP ما قابل حل نیست ، باید آدرس IP سرور مجازی خود را نیز ارائه کنیم. و از آنجا که ما هاست محلی را رصد می کنیم ، IP به سادگی 127.0.0.1 خواهد بود. برای فعال کردن ورودی دستی IP ، جعبه آدرس IPv4 را بررسی کنید و مقدار را در قسمت متن وارد کنید.
پیکربندی پیش فرض بخش Data Source به عامل Checkmk برای ارائه داده های نظارت متکی است ، که مسئله خوبی است. تنظیمات Networking Segment برای مشخص کردن هاست ها در شبکه های از راه دور استفاده می شود ، که با تاخیر قابل انتظار بیشتری مشخص می شوند که نشانه ای از نقص نیست. از آنجا که این یک هاست محلی است ، تنظیم پیش فرض نیز مناسب خواهد بود.
برای ذخیره هاست و پیکربندی کنترل سرویس ها ، روی دکمه Save & go to services کلیک کنید.

Checkmk موجودی خودکار را انجام می دهد. این بدان معناست که خروجی عامل را دریافت می کند و آن را رمزگشایی می کند تا بداند چه نوع خدماتی را می تواند نظارت کند. کلیه خدمات در دسترس برای نظارت در لیست خواهد بود از جمله لود CPU ، استفاده از حافظه و فضای خالی روی دیسک ها.
برای فعال کردن نظارت بر همه خدمات یافت شده ، باید روی دکمه Monitor در بخش خدمات Undecided (currently not monitored) کلیک کنید. صفحه ریفرش میشود ، اما اکنون همه سرویس ها در زیر بخش خدمات مانیتور شده قرار می گیرند و به ما اطلاع می دهند که در واقع تحت نظارت هستند.
همانطور که در هنگام تغییر رمزعبور کاربر خود ، این تغییرات جدید قبل از اجرای زنده باید ذخیره و فعال شوند. دکمه 2 change را فشار داده و با استفاده از دکمه Activate affected ، تغییرات را بپذیرید. پس از آن ، مانیتور هاست به حالت آماده اجرا می شود.
اکنون آماده همکاری با داده های سرور مجازی خود هستید. با استفاده از منوی Overview/Main Overview در سمت چپ نگاهی به داشبورد اصلی بیاندازید.
کار با داده های مانیتورینگ
اکنون با استفاده از مورد منوی Overview/Main Overview در سمت چپ نگاهی به داشبورد اصلی خواهیم انداخت:

کره زمین اکنون کاملاً سبز است و جدول می گوید که یک هاست بدون هیچ مشکلی در حال اجرا است. ما می توانیم لیست کامل هاست ، که اکنون از یک هاست واحد تشکیل شده است ، در نمای Hosts/All hosts (با استفاده از منوی سمت چپ) مشاهده کنیم.

در آنجا خواهیم دید که چه تعداد خدمات مطلوبی وجود دارند (به رنگ سبز نشان داده شده است) ، چه تعداد از آنها شکست خورده اند و چه تعداد از آنها در انتظار بررسی هستند. بعد از کلیک بر روی نام هاست ، قادر خواهیم بود لیست کلیه خدمات را با وضعیت کامل و Perf-O-Meter آنها مشاهده کنیم. Perf-O-Meter عملکرد یک سرویس منفرد را نسبت به آنچه Checkmk مطلوب میداند ، نشان می دهد.

کلیه خدماتی که داده های قابل بازگشت را نشان می دهند ، یک نماد گراف را در کنار نام خود نشان می دهند. ما می توانیم از آن نماد برای دسترسی به نمودارهای مرتبط با سرویس استفاده کنیم. از آنجا که نظارت هاست تازه است ، تقریباً هیچ چیزی روی نمودارها وجود ندارد – اما بعد از مدتی نمودارها اطلاعات ارزشمندی در مورد تغییر عملکرد سرویس ما با گذشت زمان ارائه می دهند.

هنگامی که هر یک از این خدمات خراب یا بازیابی نشوند ، اطلاعات در داشبورد نشان داده می شود. برای عدم موفقیت در خدمات خطای قرمز نشان داده می شود و بروز مشکل در نمودار کره زمین نیز قابل مشاهده خواهد بود.

پس از ریکاوری ، همه چیز به صورت سبز نشان داده می شود ، اما وضعیت ورود به سیستم در سمت راست حاوی اطلاعاتی درباره مشکلات گذشته خواهد بود.

اکنون که کمی داشبورد را کاوش کرده ایم ، بیایید هاست دوم را به عنوان نمونه مانیتورینگ خود اضافه کنیم.
مرحله 6 – نظارت بر هاست CentOS دوم
وقتی هاست های مختلفی دارید ، مانیتورینگ واقعاً کارآمد خواهد بود. اکنون سرور مجازی دوم را به نمونه Checkmk اضافه خواهیم کرد ، این بار CentOS 7 در حال اجرا را اضافه میکنیم.
مانند سرور مجازی Ubuntu ، نصب عامل Checkmk برای جمع آوری داده های نظارت بر CentOS ضروری است. اما این بار به یک صفحه rpm از صفحه Monitoring Agents در رابط وب ، با نام check-mk-agent-1.6.0p8-1.noarch.rpm ، احتیاج خواهیم داشت.
ابتدا باید xinetd را نصب کنیم که به طور پیش فرض در نصب CentOS موجود نیست. به یاد خواهیم آورد ، Xinetd یک Daemon است که وظیفه تهیه داده های مانیتورینگ ارائه شده توسط check_mk_agent از طریق شبکه را دارد.
در سرور مجازی CentOS خود ، ابتدا xinetd را نصب کنید:
⦁ $ sudo yum install -y xinetd

اکنون می توانیم بسته عامل نظارتی مورد نیاز سرور مجازی CentOS خود را دانلود و نصب کنیم:
⦁ $ sudo yum install -y http://your_ubuntu_server_ip/monitoring/check_mk/agents/check-mk-agent-1.6.0p8-1.noarch.rpm

درست مانند قبل ، با اجرای check_mk_agent می توانیم تأیید کنیم که عامل به درستی کار می کند:
⦁ $ sudo check_mk_agent
خروجی مشابه سرور مجازی اوبونتو خواهد بود. اکنون دسترسی به عامل را محدود خواهیم کرد.
محدود کردن دسترسی
این بار یک هاست محلی را نظارت نخواهیم کرد ، بنابراین xinetd باید امکاناتی را برای جمع آوری داده ها از سرور مجازی اوبونتو ، که Checkmk در آن نصب است ، فراهم آورد. برای انجام این کار، ابتدا فایل پیکربندی خود را باز کنید:
⦁ $ sudo vi /etc/xinetd.d/check_mk

در اینجا پیکربندی سرویس check_mk خود را مشاهده می کنید ، چگونگی دستیابی به عامل Checkmk از طریق Daemon xinetd را می توانید مشخص کنید. دو خط زیر را پیدا کنید:
/etc/xinetd.d/check_mk
. . .
# configure the IP address(es) of your Nagios server here:
#only_from = 127.0.0.1 10.0.20.1 10.0.20.2
. . .

اکنون خط دوم را حذف کنید و آدرس های IP محلی را با آدرس__ubuntu_server_ip خود جایگزین کنید:
/etc/xinetd.d/check_mk
. . .
# configure the IP address(es) of your Nagios server here:
only_from = your_ubuntu_server_ip
. . .

با تایپ:x و سپس ENTER فایل را ذخیره کنید و خارج شوید. سرویس xinetd را با استفاده از دستور زیر ریستارت کنید:
⦁ $ sudo systemctl restart xinetd

اکنون می توانیم Checkmk را پیکربندی کنیم تا هاست CentOS 7 خود را کنترل کنیم.
پیکربندی هاست جدید در Checkmk
برای اضافه کردن هاست های اضافی به Checkmk ، مانند گذشته از منوی هاست ها استفاده می کنیم. این بار می خواهیم نام هاست را centos مینامیم ، آدرس IP آن را پیکربندی میکنیم و WAN (با تأخیر زیاد) را در زیر کادر انتخاب Networking Segment انتخاب میکنیم ، زیرا هاست در شبکه دیگری قرار دارد. اگر از این مرحله عبور کردیم و آن را به صورت محلی رها کردیم ، Checkmk به زودی به ما هشدار می دهد که هاست از کار افتاده است ، زیرا انتظار می رود خیلی سریعتر از آنچه ممکن است از طریق اینترنت به پرس و جوهای عامل پاسخ دهد.

روی Save & go to servicesکلیک کنید ، که خدمات موجود برای نظارت بر روی سرور مجازی CentOS را نشان می دهند. لیست بسیار شبیه به لیست هاست اول خواهد بود. این بار نیز باید روی Monitor کلیک کرده و سپس با استفاده از دکمه نارنجی در گوشه بالا سمت چپ تغییرات را فعال کنیم.
پس از فعال سازی تغییرات ، می توانیم تأیید کنیم که هاست در صفحه All hosts نظارت می شود. به آنجا بروید. اکنون دو هاست ، monitoring و centos قابل مشاهده خواهند بود.

اکنون یک سرور مجازی اوبونتو و یک سرور مجازی CentOS را با Checkmk نظارت می کنید. حتی امکان نظارت بر هاست های بیشتر وجود دارد. در واقع ، هیچ حد بالایی غیر از عملکرد سرور وجود ندارد ، که تا زمانی که تعداد هاست شما در محدود چند صد مورد باشد ، مشکلی ایجاد نمی شود. علاوه بر این ، فرآیند برای هر هاست دیگر یکسان است. عاملین Checkmk در بسته های deb و rpm روی Ubuntu ، CentOS و اکثر توزیع های لینوکس کار می کنند.
نتیجه
در این راهنما دو سرور مجازی با دو توزیع مختلف لینوکس تنظیم می کنیم: ubuntu و CentOS. سپس برای کنترل هر دو سرور مجازی ، Checkmk را نصب و پیکربندی کردیم و رابط وب قدرتمند Checkmk را بررسی کردیم.
Checkmk امکان تنظیم آسان سیستم مانیتورینگ کامل و همه کاره را فراهم می کند ، که تمام سختی کار پیکربندی دستی را در یک رابط کاربری وب آسان و پر از گزینه ها و ویژگی های مختلف جمع میکند. با استفاده از این ابزارها می توان چندین هاست را کنترل کرد، ایمیل ، پیام کوتاه یا نوتیفیکیشن های بروز مشکل را تنظیم نمود، بررسی های چندگانه برای خدمات بیشتر تنظیم کرد، بر دسترسی و عملکرد نظارت کرد و غیره.
برای کسب اطلاعات بیشتر در مورد Checkmk ، حتماً به مطالب رسمی مراجعه کنید.

 

برچسب‌ها:,


وب Apache از هاست های مجازی برای مدیریت دامنه های متعدد بر روی یک نمونه واحد استفاده می کند. به طور مشابه ، PHP-FPM از یک Daemon برای مدیریت چندین نسخه PHP در یک نمونه واحد استفاده می کند. می توانید از Apache و PHP-FPM با هم استفاده کنید تا هاست چند برنامه وب PHP باشید که هر یک از نسخه متفاوت PHP استفاده میکند و همه روی یک سرور یکسان و به طور همزمان کار کنند. این ویژگی از این لحاظ مفید است که برنامه های مختلف ممکن است به نسخه های مختلف PHP نیاز داشته باشند ، اما برخی از پشته های سرور ، مانند پشته LAMP که به طور معمول پیکربندی شده است ، فقط می توانند یکی را مدیریت کنند. ترکیب Apache با PHP-FPM همچنین یک راه حل مقرون به صرفه تر از میزبانی هر برنامه به طور خاص است.
PHP-FPM همچنین گزینه های پیکربندی برای ورود به سیستم stderr و stdout ، ریستارت اضطراری و spawning روند تطبیقی ​​را ارائه می دهد ، که برای سایت های دارای بار سنگین مفید است. در حقیقت ، استفاده از Apache با PHP-FPM یکی از بهترین پشته ها برای هاستینگ برنامه های PHP ، به خصوص از لحاظ عملکرد میباشد.
در این آموزش دو سایت PHP را به صورت یکجا تنظیم خواهید کرد. هر سایت از دامنه خود استفاده می کند و هر دامنه نسخه PHP خود را مستقر می کند. اولی ، site1.your_domain ، PHP 7.0 را مستقر می کند. دومی ، site2.your_domain ، PHP 7.2 را مستقر می کند.
پیش نیازها
• یک سرور CentOS 7 با حداقل 1 گیگابایت رم که طبق راهنمای راه اندازی سرور اولیه با تنظیم شده باشد ، شامل کاربر sudo غیر ریشه و فایروال.
•وب سرور Apache که با دنبال کردن آموزش نحوه نصب وب سرور Apache در CentOS 7 راه اندازی شود.
• نام دامنه پیکربندی شده برای اشاره به سرور CentOS 7 شما. برای اهداف این آموزش ، از دو زیر دامنه استفاده خواهیم کرد که هر یک با یک رکورد A در تنظیمات DNS ما مشخص شده اند: site1.your_domain و site2.your_domain.
مرحله 1 – نصب PHP ورژن های 7.0 و 7.2 با PHP-FPM
با تکمیل پیش نیازها، اکنون نسخه های PHP 7.0 و 7.2 را نصب خواهید کرد. مخزن SCL )مجموعه نرم افزار) نسخه های بیشماری از پشته PHP را برای سیستم CentOS 7 نگه می دارد. اگر به جدیدترین نسخه PHP نیاز دارید و در SCL موجود نیست ، به جای آن ، Remi PPA (بایگانی بسته شخصی) را بررسی کنید.
با نصب مخزن SCL در سیستم خود شروع کنید:
⦁ $ sudo yum install centos-release-scl -y

ابتدا بیابیم جستجو کنیم که نسخه های PHP 7 در SCL در دسترس هستند:
⦁ $ sudo yum list rh-php7[0-9].x86_64

خروجی مانند این را خواهید دید:
Output
Available Packages
rh-php70.x86_64 2.3-1.el7 centos-sclo-rh
rh-php71.x86_64 1-1.el7 centos-sclo-rh
rh-php72.x86_64 1-2.el7 centos-sclo-rh
rh-php73.x86_64 1-1.el7

توجه داشته باشید که جدیدترین نسخه ، PHP 7.3 نیز موجود است. برای مثال ما نسخه های 7.0 و 7.2 را نصب خواهیم کرد.
بیایید با نسخه قدیمی تر شروع کنیم. rh-php70 و rh-php70-php-fpm را نصب کنید:
⦁ $ sudo yum install rh-php70 rh-php70-php-fpm -y

⦁ rh-php70 متابسته ای است که برنامه های PHP را اجرا می کند.
⦁ rh-php70-php-fpm مترجم Fast Manager Manager را فراهم می کند که به عنوان یک Daemon اجرا می شود و درخواست های Fast / CGI را دریافت می کند.
حالا فرایند را برای نسخه PHP 7.2 تکرار کنید. rh-php72 و rh-php72-php-fpm را نصب کنید.
⦁ $ sudo yum install rh-php72 rh-php72-php-fpm -y

در مرحله بعدی ، دستورات زیر را برای شروع استفاده از هر دو مجموعه نرم افزار اجرا کنید:
⦁ $ sudo scl enable rh-php70 bash

⦁ $ sudo scl enable rh-php72 bash

به طور پیش فرض ، هر دو نسخه PHP پورت 9000 را گوش می دهند. اما در این آموزش می خواهیم دو نسخه را همزمان اجرا کنیم. بنابراین ، بیایید دو پورت جدید را تعیین کنیم:
برای تحقق این امر می توانید /etc/opt/rh/rh-php70/php-fpm.d/www.conf را در ویرایشگر متن مورد علاقه خود باز کرده و هر عدد 9000 را به 9002 تغییر دهید. سپس فایل را ذخیره کرده و ببندید و فرآیند را برای /etc/opt/rh/rh-php72/php-fpm.d/www.conf تکرار کنید ، اکنون 9000 را با 9003 جایگزین کنید. در غیر این صورت ، می توانید از این دو دستور sed برای انجام جایگزینی استفاده کنید:
⦁ $ sudo sed -i ‘s/:9000/:9002/’ /etc/opt/rh/rh-php70/php-fpm.d/www.conf

⦁ $ sudo sed -i ‘s/:9000/:9003/’ /etc/opt/rh/rh-php72/php-fpm.d/www.conf

اکنون برای هر یک از خدمات PHP خود پورت اختصاصی تعیین کرده اید. با این حال ، قبل از این که این تغییرات کار کنند ، باید پورت ها را به پیکربندی SELinux اضافه کنید.
SELinux مخفف Security Enhanced Linux است و به طور پیش فرض در CentOS 7 فعال می شود. شما باید پورت های جدید 9002 و 9003 خود را به پایگاه داده SELinux اضافه کنید و آنها را به خدمات httpd خود اختصاص دهید ، در غیر این صورت برنامه های شما اجرا نمی شوند. برای انجام این کار از دستور semanage استفاده کنید:
⦁ $ sudo semanage port -a -t http_port_t -p tcp 9002

⦁ $ sudo semanage port -a -t http_port_t -p tcp 9003

پرچم -a مشخص می کند که شما یک آبجکت را به بانک اطلاعاتی اضافه می کنید. پرچم -t نوع آبجکت را مشخص می کند ، که در این حالت http_port_t است. و پرچم -p پروتکل tcp را تعیین می کند. می توانید در این آموزش و یا با مراجعه به مطالب رسمی SELinux درباره SELinux و فرمان semanage اطلاعات بیشتری کسب کنید.
اکنون آماده شروع و فعال کردن خدمات PHP خود هستید. با سرویس rh-php70-php-fpm خود شروع کنید و آن را فعال کنید تا در بوت شروع شود:
⦁ $ sudo systemctl start rh-php70-php-fpm

⦁ $ sudo systemctl enable rh-php70-php-fpm

در مرحله بعدی ، وضعیت سرویس rh-php70-php-fpm خود را تأیید کنید:
⦁ $ sudo systemctl status rh-php70-php-fpm

خروجی مانند این را خواهید دید:
Output
● rh-php70-php-fpm.service – The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/rh-php70-php-fpm.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-04- 04:49:59 UTC; 1min 6s ago
Main PID: 52 (php-fpm)
Status: Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec”
CGroup: /system.slice/rh-php70-php-fpm.service
├─52 php-fpm: master process (/etc/opt/rh/rh-php70/php-fpm.conf)
├─53 php-fpm: pool www
├─54 php-fpm: pool www
├─55 php-fpm: pool www
├─56 php-fpm: pool www
└─57 php-fpm: pool www

Apr 04:49:59 centos-s-1vcpu-1gb-blr1-01 systemd[1]: Starting The PHP FastCGI Process Manager…
Apr 04:49:59 centos-s-1vcpu-1gb-blr1-01 systemd[1]: Started The PHP FastCGI Process Manager.

با تکرار این فرایند ، سرویس rh-php72-php-fpm را راه اندازی کنید و آن را فعال کنید تا از بوت شروع شود:
⦁ $ sudo systemctl start rh-php72-php-fpm

⦁ $ sudo systemctl enable rh-php72-php-fpm

در مرحله بعد ، وضعیت سرویس rh-php72-php-fpm خود را تأیید کنید:
⦁ $ sudo systemctl status rh-php72-php-fpm

خروجی دیگری مانند این را مشاهده خواهید کرد:
Output
● rh-php72-php-fpm.service – The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/rh-php72-php-fpm.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-04- 04:50:04 UTC; 1min 59s ago
Main PID: 76 (php-fpm)
Status: Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec”
CGroup: /system.slice/rh-php72-php-fpm.service
├─76 php-fpm: master process (/etc/opt/rh/rh-php72/php-fpm.conf)
├─77 php-fpm: pool www
├─78 php-fpm: pool www
├─79 php-fpm: pool www
├─80 php-fpm: pool www
└─81 php-fpm: pool www

Apr 04:50:04 centos-s-1vcpu-1gb-blr1-01 systemd[1]: Starting The PHP FastCGI Process Manager…
Apr 04:50:04 centos-s-1vcpu-1gb-blr1-01 systemd[1]: Started The PHP FastCGI Process Manager.

در این مرحله شما دو نسخه PHP را روی سرور خود نصب کرده اید. در مرحله بعد ، برای هر وب سایتی که می خواهید مستقر کنید ، یک ساختار دایرکتوری ایجاد خواهید کرد.
مرحله 2 – ایجاد ساختارهای دیرکتوری برای هر دو وب سایت
در این بخش یک دایرکتوری ریشه مستند و یک صفحه ایندکس برای هر یک از وب سایت ها ایجاد می کنید
ابتدا دایرکتوری های ریشه مستندات را برای هر دوی site1.your_domain و site2.your_domain ایجاد کنید:
⦁ $ sudo mkdir /var/www/site1.your_domain

⦁ $ sudo mkdir /var/www/site2.your_domain

به طور پیش فرض ، وب سرور Apache به عنوان یک کاربر Apache و یک گروه Apache اجرا می شود. بنابراین / var / www / و کلیه فایل ها و زیرشاخه های آن نیز باید متعلق به آنها باشد. دستورالعمل های زیر را برای تأیید صحت مالکیت و مجوزهای دیرکتوری های ریشه وب سایت خود اجرا کنید:
⦁ $ sudo chown -R apache:apache /var/www/site1.your_domain

⦁ $ sudo chown -R apache:apache /var/www/site2.your_domain

⦁ $ sudo chmod -R 755 /var/www/site1.your_domain

⦁ $ sudo chmod -R 755 /var/www/site2.your_domain

دستور chown مالکیت دو دایرکتوری وب سایت شما را به کاربر apache و گروه apache تغییر می دهد. دستور chmod مجوزهای مرتبط با آن کاربر و گروه و سایر افراد را تغییر می دهد.
در مرحله بعد یک فایل info.php را در هر فهرست ریشه وب سایت ایجاد خواهید کرد. با این کار اطلاعات نسخه PHP هر وب سایت نمایش داده می شود. با site1 شروع کنید:
⦁ $ sudo vi /var/www/site1.your_domain/info.php

خط زیر را اضافه کنید:
/var/www/site1.your_domain/info.php
<?php phpinfo(); ?>

فایل را ذخیره کنید و ببندید. اکنون فایل info.php که در site2 ایجاد کرده اید را کپی کنید:
⦁ $ sudo cp /var/www/site1.your_domain/info.php /var/www/site2.your_domain/info.php

سرور وب شما اکنون دارای دیرکتوری های ریشه مستند است که هر سایت برای ارائه داده ها به بازدید کنندگان به آن نیاز دارد. در مرحله بعدی ، وب سرور Apache خود را پیکربندی خواهید کرد تا با دو نسخه مختلف PHP کار کند.
مرحله 3 – پیکربندی Apache برای هر دو وب سایت
در این بخش دو فایل پیکربندی هاست مجازی ایجاد خواهید کرد. با این کار دو وب سایت شما قادر خواهند بود همزمان با دو نسخه مختلف PHP کار کنند.
برای اینکه Apache بتواند این محتوا را ارائه دهد ، باید یک فایل هاست مجازی با دستورالعمل های صحیح ایجاد کنید. شما دو فایل پیکربندی هاست مجازی جدید را درون دیرکتوری (/etc/httpd/conf.d/) ایجاد خواهید کرد.
ابتدا یک فایل پیکربندی هاست مجازی جدید برای وب سایت site1.your_domain ایجاد کنید. در اینجا Apache را برای ارائه محتوا با استفاده از PHP 7.0 هدایت می کنید:
⦁ $ sudo vi /etc/httpd/conf.d/site1.your_domain.conf

محتوای زیر را اضافه کنید. اطمینان حاصل کنید که مسیر فهردیرکتوریست وب سایت ، نام سرور ، پورت و نسخه PHP با تنظیمات شما مطابقت دارد:
/etc/httpd/conf.d/site1.your_domain.conf

<VirtualHost *:80>
ServerAdmin admin@site1.your_domain
ServerName site1.your_domain
DocumentRoot /var/www/site1.your_domain
DirectoryIndex info.php
SetHandler proxy:fcgi://127.0.0.1:9002
ScriptAlias /cgi-bin/ /var/www/cgi-bin/”
AddHandler php70-fcgi .php
Action php70-fcgi /cgi-bin/php70.fcgi
ErrorLog /var/log/httpd/site1.your_domain_error.log
CustomLog /var/log/httpd/site1.your_domain_access.log combined
</VirtualHost>

برای DocumentRoot مسیر دایرکتوری ریشه وب سایت خود را مشخص می کنید. برای ServerAdmin ایمیلی را اضافه می کنید که مدیر سایت your_domain بتواند به آن دسترسی پیدا کند. برای ServerName آدرس url زیر دامنه خود را اضافه می کنید. برای SetHandler پورت9002 را مشخص می کنید. دستورالعمل های باقیمانده نیز خدمات شما را برای پیاده سازی PHP 7.0 پیکربندی می کنند.
فایل را ذخیره کنید و ببندید.
در مرحله بعدی ، یک فایل پیکربندی هاست مجازی جدید برای وب سایت site2.your_domain ایجاد کنید. شما برای استقرار PHP 7.2 این زیر دامنه را مشخص می کنید:
⦁ $ sudo vi /etc/httpd/conf.d/site2.your_domain.conf

محتوای زیر را اضافه کنید. دوباره مطمئن شوید که مسیر دیرکتوری وب سایت ، نام سرور ، پورت و نسخه PHP با اطلاعات منحصر به فرد شما مطابقت دارد:
/etc/httpd/conf.d/site2.your_domain.conf
<VirtualHost *:80>
ServerAdmin admin@site2.your_domain
ServerName site2.your_domain
DocumentRoot /var/www/site2.your_domain
DirectoryIndex info.php
SetHandler proxy:fcgi://127.0.0.1:9003
ScriptAlias /cgi-bin/ /var/www/cgi-bin/”
AddHandler php72-fcgi .php
Action php72-fcgi /cgi-bin/php72.fcgi
ErrorLog /var/log/httpd/site2.your_domain_error.log
CustomLog /var/log/httpd/site2.your_domain_access.log combined
</VirtualHost>

پس از اتمام فایل را ذخیره کنید و ببندید. سپس فایل پیکربندی Apache را برای هرگونه خطای نحوی بررسی کنید:
⦁ sudo apachectl configtest

خروجی زیر را مشاهده خواهید کرد :
Output
⦁ Syntax OK

در آخر ، سرویس Apache را ریستارت کنید تا تغییرات خود را به اجرا درآورید:
⦁ $ sudo systemctl restart httpd

اکنون که Apache را برای سرویس دهی به هر سایت پیکربندی کرده اید ، آنها را آزمایش می کنید تا مطمئن شوید که نسخه های مناسب PHP در حال اجرا هستند.
مرحله 4 – آزمایش هر دو وب سایت
در این مرحله ، شما برای اجرای دو نسخه مختلف از PHP ، دو وب سایت پیکربندی کرده اید. حالا نتایج را آزمایش کنید.
مرورگر وب خود را باز کنید و از هر دو سایت http: //site1.your_domain و http: //site2.your_domain بازدید کنید. دو صفحه را مشاهده خواهید کرد که به شکل زیر است:

به عناوین توجه کنید. صفحه اول نشان می دهد که site1.your_domain نسخه 7.0 را مستقر کرده است. دومی نشان می دهد که site1.your_domain نسخه 7.2 را مستقر کرده است.
اکنون که سایت های خود را آزمایش کرده اید ، فایل های info.php را حذف کنید. از آنجا که آنها حاوی اطلاعات حساس در مورد سرور شما هستند و در دسترس کاربران غیرمجاز قرار میگیرند ، آسیب پذیری امنیتی ایجاد می کنند. فایل ها را حذف کنید:
⦁ $ sudo rm -rf /var/www/site1.your_domain/info.php

⦁ $ sudo rm -rf /var/www/site2.your_domain/info.php

اکنون یک سرور CentOS 7 واحد دارید که دو وب سایت با دو نسخه مختلف PHP را اداره می کند. با این حال PHP-FPM به این یک برنامه محدود نمی شود.
نتیجه
اکنون هاست های مجازی و PHP-FPM را برای ارائه خدمات به چندین وب سایت و نسخه های مختلف PHP در یک سرور واحد ترکیب کرده اید. تنها محدودیت عملی روی تعداد سایت های PHP و نسخه های PHP که سرویس Apache شما قادر به کنترل آن است ، قدرت پردازش نمونه شماست.
از اینجا شما ممکن است به کاوش در مورد ویژگی های پیشرفته تر PHP-FPM بپردازید ، مانند فرآیند spawning تطبیقی یا اینکه چگونه می تواند sdtout و stderr را وارد کند. اکنون می توانید وب سایت های خود را ایمن کنید. برای دستیابی به این هدف ، می توانید آموزش ما در مورد چگونگی تأمین امنیت سایتهای خود با مجوزهای رایگان TLS / SSL از Let’s Encrypt را دنبال کنید.

 

برچسب‌ها:,


تبلیغات

آخرین ارسال ها

آخرین جستجو ها

مرکز توانبخشی پویش عایق رطوبتی فارکس حرفه ای معهد اللغة العربیة BTS & ARMY WORLD سیستم اطلاعاتی حسابداری همیاران علم گاه نوشته های من پانزدهـــم فروردین تدریس خصوصی مکالمه زبان انگلیسی