نصب آپاچی با استفاده از Ansible

ansible-automate-linux-tasks

در یکی از پست های قبلی Ansible را معرفی کردیم، در این پست از انسیبل برای تنظیم آپاچی و راه اندازی یک وب سرور استفاده خواهیم کرد. با این کار نیازی نیست هر بار که سرور یا دیوایس جدیدی که تهیه می‌کنید، روی آن کل عملیات تنظیم آپاچی را اجرا کنید، فقط کافی است آن را به انسیبل معرفی کنید و روی آن توانید ssh بزنید.

برای این کار ابتدا باید چند فایل و دایرکتوری بسازید، ساختار آن را در پایین می‌توانید ببینید:

 

ansible.cfg حاوی تنظیمات انسیبل خواهد بود، یکی از چیز هایی که تنظیم می‌کنیم فایلی است که در آن هاست ها را معرفی کرده ایم، در اینجا فایل hosts را که به تازگی ساخته‌ایم به آن معرفی کردیم:

فایل hosts هم که حاوی لیست هاست ها و گروه بندی آن‌ها است. در اینجا گروهی به نام apache ساختیم و IP سیستمی که قرار است تنظیم شود را به همراه نام کاربری که برای ssh استفاده خواهد شد را مشخص کردیم(ubuntu نام کاربری است)

نام کاربری مربوط به ssh اختیاری است، اگر آن را مشخص نکنیم از نام کاربری کاربر جاری استفاده خواهد شد.

یکی از ساده‌ترین ماژول های انسیبل ping است که معمولاً برای تست اتصال به سرور مورد نظر به کار می رود. حالت کلی دستورات معمولاً چنین شکلی دارد:

پس برای اینکه اتصال به سرور را تست کنیم باید این دستور را اجرا کنیم:

حال به فایل apache.yml می رسیم. این فایل حاوی playbook ماست. یعنی می‌توانیم لیستی از کار ها و هاست هایی که این کار ها باید روی آن‌ها اجرا شوند را مشخص می‌کنیم و با یک دستور همه آن‌ها با هم اعمال خواهند شد. ساختار فایل همانطور که از نامش پیداست YAML است، پس احتمالاً فهم آن برایتان خیلی سخت نخواهد بود!

معنای این playbook این است که انسیبل برای هاست های دسته ی apache با دسترسی sudo کار هایی که در بخش task گفته شده را انجام خواهد داد. اما این این task چه معنایی می دهد؟
قسمت name نامی است که به آن task اختصاص داده ایم. در اینجا install apache را انتخاب کردیم.
قسمت apt پارامتر های ماژول apt را مشخص کرده، name نام پکیجی است که apt باید آن را نصب کند(می تواند لیستی از پکیج ها باشد)، state سه مقدار می‌تواند دریافت کند، latest که مطمئن می‌شود آخرین نسخه نصب شده، present به سادگی فقط چک می‌کند که پکیج نصب شده، و absent باعث می‌شود که اگر پکیج نصب بود، حذف شود. قسمت بعدی که update_cache است، در صورتی که yes تنظیم شود معادل اجرای دستور apt-get update خواهد بود.
ش
حال به سادگی اجرای یک دستور آپاچی روی هاست های دسته ی آپاچی نصب خواهد شد:

–ask-sudo-pass باعث می‌شود تا انسیبل از شما پسورد sudo را بخواهد چون در فایل playbook سودو را فعال کرده بودیم و برای اجرای apt به آن نیاز بود.

تبریک!آپاچی با موفقیت نصب شد 🙂

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

لینک

Source :

bogotobogo

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *