نصب سرور دایرکتوری centos 7

سلام به همه! امروز در مقاله به نصب آن خواهیم پرداخت CentOS 7 Minimal، راه اندازی شبکه اولیه و نصب یک رابط گرافیکی به نام رفیق. ما قبلاً یک مقاله و ویدیو در مورد آن داریم، اما چندین نکته ظریف در هنگام نصب Minimal وجود دارد که در زیر در مورد آنها بیشتر توضیح می دهیم.

اولین تفاوت این است که تصویر کمی بزرگتر است - 700 مگابایت، اما این هنوز با حجم یک DVD یا نسخه کامل قابل مقایسه نیست. تفاوت بعدی که نسبت به قبلی وجود دارد این است که گزینه ای برای انتخاب نرم افزار اضافی برای نصب وجود ندارد (عکس زیر):

CentOS 7 همچنین توانایی فعال کردن رابط شبکه را به طور مستقیم در حین نصب اضافه کرد - این مورد در نسخه 6 نبود، با این حال، من بصری ترین راه را برای پیکربندی آن نیز نشان خواهم داد. رابط شبکهدر نسخه 7

فرآیند نصب

بنابراین، ما تمام مراحل را به ترتیب انجام می دهیم، 15-30 دقیقه صبر می کنیم و ورود / رمز عبور خود را (پس از اتصال از طریق ترمینال) وارد می کنیم.

اولین غریزه من این بود که بررسی کنم آیا رابط شبکه کار می کند و آیا آدرسی به آن اختصاص داده شده است - من دستور ifconfig را وارد کردم و همانطور که مشخص شد، این دستوردر نسخه 7 منسوخ شده است و در عوض باید از دستور ipaddr برای نمایش اطلاعات رابط ها و دستور iplink برای نمایش آمار آنها استفاده کنید.

اما از آنجایی که همه به دستورات استاندارد بسته net-tools عادت دارند، باید با استفاده از دستور yum install net-tools نصب شود. با این حال، با یادآوری اولین احساس سوء تفاهم زمانی که شبکه من در حداقل نصب در نسخه 6 کار نمی کرد، می خواهم علاوه بر این، یک راه بسیار ساده برای پیکربندی آن را نشان دهم - بیشتر در مورد آن در زیر.

مهم!دستور ifconfig منسوخ شده است. برای تعامل شبکه با سرور، توصیه می کنیم از دستور "ip" (ip -a) استفاده کنید که از نظر عملکرد (از نظر L2 و L3) به "ifconfig" برتر است.

پیکربندی رابط های شبکه با استفاده از nmtui

ما دستور nmtui را وارد می کنیم - در نتیجه، یک رابط گرافیکی ساده برای راه اندازی شبکه باید شروع شود (تصویر زیر):


به عنوان مثال، من می خواهم تنظیمات یک رابط را تغییر دهم - گزینه اول را انتخاب کنید یک اتصال را ویرایش کنیدو تصویر زیر را می بینیم:


انتخاب کنید ویرایش...و هر کاری که می خواهیم با رابط انجام دهیم :) همانطور که در تصویر زیر می بینید، سرور ما یک آدرس IP از طریق DHCP دریافت کرده است - این برای من مناسب است و من همه چیز را همانطور که هست می گذارم. هدف اصلی نمایش بود این ابزارnmtui


نصب MATE و بسته های مورد نیاز

پس چرا MATE؟ پاسخ ساده است - بسیار سبک تر است، از نظر منابع بسیار بی نیاز است و نصب آن بسیار آسان است. بنابراین، ما چند مرحله ساده را برای نصب بسته ها انجام می دهیم (در زیر):

  • yum group "ابزارهای توسعه" را نصب کنید - نصب مجموعه ای از بسته های لازم برای کارکرد رابط کاربری گرافیکی (فقط اگر قبلاً نصب نشده باشد).
  • yum install epel-release - نصب مخزن EPEL.
  • yum groupinstall "X Window system" - بسته گروه X Window System را نصب می کند، این کار حدود 5 دقیقه طول می کشد. خود بسته دارای حجم 73 مگابایت است.
  • yum group "MATE Desktop" را نصب کنید - نصب مستقیم Mate - بسته بسیار بزرگ - 506 مگابایت.

در این راهنما، ما سیستم عامل CentOS 7 را بر روی سروری نصب می کنیم که از معماری 64 بیتی پشتیبانی می کند، زیرا توسعه دهندگان توزیعی برای معماری 32 بیتی منتشر نکرده اند، حداقل من آن را در هیچ کجا پیدا نکرده ام.

اخیراً سیستم عامل جدید CentOS 7 منتشر شده است، بنابراین تصمیم گرفتم دستورالعمل نصب را با اسکرین شات های دقیق تهیه کنم تا کسانی را که می خواهند نحوه نصب و نصب را یاد بگیرند راهنمایی کنم. راه اندازی لینوکس CentOS 7 وقتی از من خواسته می شود که تدریس کنم یا مشاوره بدهم.

CentOS یک توزیع لینوکس بر اساس و سازگار با لینوکس تجاری Red Hat Enterprise Red Hat است. Red Hat Enterprise Linux متشکل از نرم افزار رایگان و متن باز است، اما به صورت دیسک بسته باینری فقط برای مشترکین پولی در دسترس است. همانطور که توسط GPL و سایر مجوزها لازم است، Red Hat همه کد منبع را ارائه می دهد. توسعه دهندگان CentOS از این کد منبع برای ایجاد محصول نهایی استفاده می کنند که بسیار شبیه لینوکس Red Hat Enterprise است و برای دانلود در دسترس است.

CentOS 7 را از وب سایت رسمی برای معماری x64 دانلود کنید:
کیت توزیع را در اندازه مناسب با استفاده از پیوندها دانلود کنید:

بیایید کمی استراحت کنیم و فرود شدید از کوه را با دوچرخه تماشا کنیم، نفس شما را بند می آورد:

امروز شما را با دیدگاه خود از پیکربندی اولیه یک سرور جهانی در یک سیستم عامل محبوب آشنا می کنم. من در مورد نحوه انجام تنظیمات اولیه سرور centos بلافاصله پس از نصب صحبت خواهم کرد تا از آن در هر ظرفیتی بنا به صلاحدید خود استفاده کنید. داده شده توصیه عملیافزایش امنیت و سهولت استفاده از سرور. این مقاله مربوط به دو نسخه جدید Centos - 7 و 8 خواهد بود.

  1. تنظیمات اولیه centos را که روی سرور تازه نصب شده انجام می دهم لیست کنید.
  2. نمونه‌هایی از پیکربندی‌هایی را که من در یک راه‌اندازی معمولی استفاده می‌کنم نشان دهید.
  3. بر اساس تجربه خود با سیستم، در مورد راه اندازی centos راهنمایی کنید.
  4. فهرستی از برنامه ها و ابزارهای معمولی که به مدیریت سرور کمک می کنند ارائه دهید.

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

معرفی

پس از انتشار نسخه جدید Centos 8، توصیف آن در یک مقاله دشوار شد راه اندازی اولیههر دو سرور، اما من نمی خواستم مقاله را تقسیم کنم زیرا لینک های ورودی زیادی از مکان های مختلف دارد. حفظ مطالب عمومی در هر دو نسخه راحت تر است، کاری که من انجام خواهم داد. در عین حال، تفاوت بین دو نسخه به وضوح قابل مشاهده خواهد بود؛ تا یکی دو سال پس از انتشار centos 8، هر دو مرتبط خواهند بود و بسته به شرایط باید از هر دو نسخه استفاده کنید.

Centos 7 از یک مدیریت بسته استفاده می کند خوشگلو در Centos 8 - dnf. در همان زمان، آنها یک پیوند نمادین از yum به dnf گذاشتند، بنابراین شما می توانید هم نام اول و هم نام دوم را بنویسید. برای ثبات، من از yum در تمام مدت استفاده خواهم کرد، اما به شما هشدار می دهم، فقط برای اینکه بفهمید چرا این کار را به این صورت انجام می دهم. در واقع، CentOS 8 از dnf استفاده می کند، این یک مدیر بسته متفاوت و مدرن است که به شما امکان می دهد با نسخه های مختلف یک نرم افزار کار کنید. برای این منظور از مخازن جداگانه ای که برای centos 8 ظاهر شده اند استفاده می شود.

راه اندازی اولیه CentOS

من شخصاً پس از نصب با به روز رسانی کامل سیستم، هرگونه راه اندازی سیستم را، چه centos یا دیگری، شروع می کنم. اگر تصویر نصب تازه بود یا نصب از طریق شبکه انجام شد، به احتمال زیاد هیچ به روز رسانی وجود نخواهد داشت. اغلب آنها وجود دارند، زیرا تصاویر نصب همیشه به طور منظم به روز نمی شوند.

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

# به روز رسانی yum

برای سهولت مدیریت، من همیشه Midnight Commander یا فقط mc را نصب می کنم:

# yum نصب mc

و بلافاصله برای آن، برجسته سازی نحو را برای همه فایل هایی که به صراحت در فایل علامت گذاری نشده اند روشن می کنم. /usr/share/mc/syntax/Syntaxنحو برای اسکریپت های sh و bash. این نحو جهانی برای فایل‌های پیکربندی که اغلب نیاز به کار با آنها در سرور دارید مناسب است. رونویسی فایل ناشناخته. نحو. این الگویی است که برای فایل‌های .conf و .cf اعمال می‌شود، زیرا هیچ نحو صریحی به آنها پیوست نشده است.

# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

ابزارهای شبکه در آینده مفید خواهند بود. بسته به مجموعه بسته های اولیه ای که هنگام نصب سیستم انتخاب می کنید، یک یا مجموعه دیگری خواهید داشت ابزارهای شبکه. در اینجا لیستی از مواردی است که من شخصاً به آنها عادت دارم - ifconfig، netstat، nslookup و برخی دیگر. اگر به آن نیاز دارید، درست مثل من، پس پیشنهاد می کنم اگر قبلاً نصب نشده اند، آنها را جداگانه نصب کنید. اگر به آنها نیاز خاصی ندارید و از آنها استفاده نمی کنید، می توانید از نصب آنها صرف نظر کنید. بیایید بررسی کنیم که در حال حاضر چه چیزی در سیستم داریم

# ifconfig

اگر جواب را دیدید:

Bash: ifconfig: دستور پیدا نشد

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

# yum نصب net-tools

برای اینکه دستورات nslookup یا مثلاً هاست کار کنند، باید بسته را نصب کنیم bind-utils. اگر این کار انجام نشد، از دستور زیر استفاده کنید:

#nslookup

خروجی خواهد بود:

Bash: nslookup: دستور پیدا نشد

پس بیایید bind-utils را نصب کنیم:

# yum install bind-utils

SELinux را غیرفعال کنید

SELinux را غیرفعال کنید. استفاده و پیکربندی آن یک موضوع جداگانه است. الان این کار را نمی کنم پس بیایید آن را خاموش کنیم:

# mcedit /etc/sysconfig/selinux

مقدار را تغییر دهید

SELINUX=غیرفعال است

برای اعمال تغییرات می توانید راه اندازی مجدد کنید:

# راه اندازی مجدد

و اگر می خواهید SELinux را بدون راه اندازی مجدد غیرفعال کنید، دستور را اجرا کنید:

#setenforce 0

من دائماً در مورد این موضوع انتقادهای زیادی دریافت می کنم غیرفعال کردن SELinux. من می دانم چگونه کار می کند، می دانم چگونه آن را پیکربندی کنم. واقعاً خیلی پیچیده نیست و تسلط بر آن دشوار نیست. این انتخاب آگاهانه من است، اگرچه گاهی اوقات آن را تغییر می دهم. روش کار من با سیستم به گونه ای است که اغلب نیازی به SELinux ندارم، بنابراین زمان را برای آن تلف نمی کنم و centos را در تنظیمات اولیه غیرفعال می کنم. امنیت سیستم یک تلاش پیچیده است، به ویژه در دنیای مدرن توسعه وب، جایی که میکروسرویس ها و کانتینرها بر فضای زندگی حاکم هستند. SELinux یک ابزار طاقچه است که همیشه و همه جا مورد نیاز نیست. بنابراین در این مقاله جایی ندارد. کسانی که به آن نیاز دارند به طور جداگانه SELinux را فعال کرده و آن را پیکربندی می کنند.

تعیین پارامترهای شبکه

پس از نصب به تنظیمات اولیه centos ادامه می دهیم. اکنون اگر به دلایلی در حین نصب این کار را انجام ندادیم، یا اگر نیاز به تغییر آنها داشتید، این کار را انجام خواهیم داد. به طور کلی، شبکه در Centos با استفاده از پیکربندی می شود مدیر شبکهو ابزار کنسول آن nmtui. همراه با نصب اولیه سیستم است. یک رابط گرافیکی ساده و واضح وجود دارد، بنابراین چیزی برای گفتن وجود ندارد. من بیشتر به پیکربندی شبکه از طریق فایل های پیکربندی اسکریپت های شبکه عادت دارم. در centos نسخه 7 آنها خارج از جعبه حضور دارند، در نسخه 8 آنها حذف شدند. برای استفاده از آنها برای پیکربندی شبکه، باید بسته را جداگانه نصب کنید اسکریپت های شبکه.

# yum نصب اسکریپت های شبکه

اکنون می توانید شبکه را پیکربندی کنید. برای این کار فایل را باز کنید /etc/sysconfig/network-scripts/ifcfg-eth0

# mcedit /etc/sysconfig/network-scripts/ifcfg-eth0

اگر دریافت کنید تنظیمات شبکهاز طریق dhcp، سپس حداقل مجموعه تنظیمات در فایل پیکربندی به صورت زیر خواهد بود.

TYPE="Ethernet" BOOTPROTO="dhcp" DEFROUTE="بله" IPV4_FAILURE_FATAL="نه" NAME="eth0" DEVICE="eth0" ONBOOT="بله"

برای پیکربندی یک آدرس IP ثابت، تنظیمات به صورت زیر خواهد بود.

TYPE="Ethernet" BOOTPROTO="هیچ" DEFROUTE="بله" IPV4_FAILURE_FATAL="خیر" NAME="eth0" DEVICE="eth0" ONBOOT="بله" IPADDR=192.168.167.117 DNS1=196.7FW123P 192.168.167.113

در قسمت IPADDR آدرس شما را وارد می کنیم، در PREFIX ماسک شبکه، در GATEWAY دروازه، آدرس DNSسرور DNS. فایل را ذخیره کنید و شبکه را مجددا راه اندازی کنید تا تنظیمات اعمال شود:

# systemctl راه اندازی مجدد شبکه

راه اندازی فایروال

افزودن مخازن

هنگام راه اندازی Centos، اغلب به نرم افزاری نیاز دارید که در شلغم استاندارد گنجانده نشده باشد. برای نصب بسته های اضافی نیاز دارید. محبوب ترین آنها EPEL است. قبلا rpmforge بود اما چند سالی هست که بسته شده. همه او را فراموش کردند. ما مخزن EPEL را به هم وصل می کنیم. همه چیز با آن ساده است، از شلغم استاندارد اضافه شده است:

# yum نصب epel-release

همچنین برای CentOS 7، مخزن REMI بسیار مفید است، که به شما امکان می‌دهد نسخه‌های جدیدتر php را برخلاف نسخه‌های موجود در مخزن استاندارد نصب کنید. یادآوری می کنم که این نسخه PHP 5.4 است که دیگر خوب نیست و از پشتیبانی حذف شده است.

# دور در دقیقه -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm

برای Centos 8 remi هنوز مرتبط نیست، اما فکر می کنم موقتی است. اصولاً این دو مخزن در سنتو معمولاً در حالت کلی برای من کافی است. برخی دیگر برای نیازهای خاص برای نصب نرم افزارهای مختلف متصل می شوند.

راه اندازی ذخیره سازی تاریخچه در bash_history

بیایید به راه اندازی سیستم centos روی سرور برویم. ایجاد برخی تغییرات در مکانیزم استاندارد برای ذخیره تاریخچه فرمان مفید خواهد بود. اغلب زمانی که نیاز دارید یکی از دستورات وارد شده قبلی را به خاطر بسپارید، کمک می کند. تنظیمات استاندارد دارای محدودیت هایی هستند که ناخوشایند هستند. در اینجا لیست آنها است:

  1. به طور پیش فرض، تنها 1000 دستور آخر ذخیره می شود. اگر تعداد آنها بیشتر باشد، موارد قدیمی حذف شده و با موارد جدید جایگزین می شوند.
  2. هیچ تاریخ اجرایی برای دستورات وجود ندارد، فقط فهرستی از آنها به ترتیب اجرا وجود دارد.
  3. فایل لیست فرمان پس از پایان جلسه به روز می شود. در طول جلسات موازی، برخی از دستورات ممکن است از بین بروند.
  4. کاملاً همه دستورات ذخیره می شوند، اگرچه ذخیره برخی از آنها فایده ای ندارد.

لیست دستورات اخیراً اجرا شده در فهرست اصلی کاربر در فایل ذخیره می شود .bash_history(نقطه در ابتدا). می توانید آن را با هر ویرایشگر باز کنید و مشاهده کنید. برای نمایش راحت تر لیست، می توانید دستور را در کنسول وارد کنید:

#تاریخ

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

#تاریخچه | گرپ یام

به این ترتیب تمامی گزینه های اجرای دستور yum را که در تاریخچه ذخیره می شوند، مشاهده خواهیم کرد. کاستی های ذکر شده را اصلاح خواهیم کرد تنظیمات استانداردذخیره تاریخچه فرمان در CentOS برای این کار باید فایل را ویرایش کنید .bashrc، که در همان دایرکتوری فایل تاریخچه قرار دارد. خطوط زیر را به آن اضافه کنید:

صادرات HISTSIZE=10000 صادرات HISTTIMEFORMAT="%h %d %H:%M:%S " PROMPT_COMMAND="history -a" صادرات HISTIGNORE="ls:ll:history:w:htop"

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

برای اعمال تغییرات، باید از سیستم خارج شوید و دوباره متصل شوید یا دستور زیر را اجرا کنید:

# منبع ~/.bashrc

این همه در مورد راه اندازی ذخیره سازی تاریخچه فرمان است. چیزهای جالب زیادی وجود دارد که می توانید در فایل bashrc. پیکربندی کنید. یک زمانی من را به خود مشغول کردم و آزمایش کردم، اما بعد همه چیز را رها کردم زیرا منطقی نبود. هنگام کار با سرورهای مشتری، اغلب bash پیش فرض را می بینم، بنابراین بهتر است به آن عادت کرده و در آن کار کنید. و تنظیمات و تزئینات فردی تعداد زیادی از رایانه ها و سرورهای شخصی است. نه کارگران بنابراین من هیچ چیز دیگری را طبق استاندارد سرور centos در این زمینه پیکربندی نمی کنم.

به روز رسانی خودکار سیستم

برای حفظ امنیت سرور در سطح مناسب، لازم است حداقل آن را به موقع به روز کنید - هم خود هسته با ابزارهای سیستم و هم بسته های دیگر. شما می توانید این کار را به صورت دستی انجام دهید، اما برای کارهای بیشتر کار کارآمدبهتر است اجرای خودکار را پیکربندی کنید. نصب به‌روزرسانی‌ها به صورت خودکار ضروری نیست، اما حداقل در دسترس بودن آنها را بررسی کنید. من معمولا این استراتژی را دنبال می کنم.

یام کرون

برای بررسی خودکاربه روز رسانی در Centos 7 ابزار به ما کمک خواهد کرد یام کرون. به طور سنتی از طریق yum از مخزن استاندارد نصب می شود.

# yum نصب yum-cron

پس از نصب yum-cron، یک وظیفه خودکار برای اجرای برنامه در آن ایجاد می شود /etc/cron.dailyو /etc/cron.hourly. به‌طور پیش‌فرض، برنامه کاربردی به‌روزرسانی‌ها را دانلود می‌کند، اما آنها را اعمال نمی‌کند. در عوض، مدیر در محلی صندوق پستیاطلاع رسانی به روز رسانی به روت ارسال می شود. سپس به حالت دستی می روید و تصمیم می گیرید که آیا به روز رسانی ها را در زمانی مناسب برای شما نصب کنید یا خیر. من این حالت عملکرد را راحت ترین می دانم، بنابراین این تنظیمات را تغییر نمی دهم.

می‌توانید yum-cron را از طریق فایل‌های پیکربندی که در آن قرار دارند، پیکربندی کنید /etc/yum/yum-cron.confو yum-cron-hourly.conf. آنها به خوبی اظهار نظر می کنند، بنابراین در توضیحات مفصلنیازی نیست توجه شما را به بخش جلب می کنم ، جایی که می توانید پارامترهای ارسال پیام را مشخص کنید. به طور پیش فرض، نامه از طریق میزبان محلی ارسال می شود. می توانید تنظیمات را در اینجا تغییر دهید و از طریق یک سرور پست الکترونیکی شخص ثالث پیام ارسال کنید. اما در عوض، من شخصاً ترجیح می‌دهم کل سرور را به صورت سراسری پیکربندی کنم تا ایمیل ریشه محلی را از طریق مجوز در سرور smtp دیگر به صندوق پستی خارجی ارسال کند.

Dnf اتوماتیک

همانطور که قبلاً گفتم، Centos 8 از یک مدیر بسته متفاوت استفاده می کند - dnf. پیکربندی به‌روزرسانی‌های بسته در آنجا از طریق برنامه کاربردی انجام می‌شود dnf اتوماتیک. بیایید آن را نصب و پیکربندی کنیم.

# yum نصب dnf-automatic

دیگر cron نیست که راه‌اندازی‌های زمان‌بندی شده را مدیریت می‌کند، بلکه با زمان‌بندی داخلی خود سیستم‌بندی می‌شود. مشاهده تایمرها شروع خودکارمی توانید از دستور استفاده کنید:

# systemctl لیست تایمر *dnf-*

اگر هیچ کاری در آنجا وجود ندارد، می توانید یک تایمر را به صورت دستی اضافه کنید:

# systemctl --now dnf-automatic.timer را فعال کنید

تایمر پیش‌فرض تنظیم شده است تا یک ساعت پس از راه‌اندازی سرور، dnf-automatic شروع شود و هر روز تکرار شود. پیکربندی تایمر در اینجا زندگی می کند - /etc/systemd/system/multi-user.target.wants/dnf-automatic.timer.

پیکربندی برای dnf-automatic موجود است /etc/dnf/automatic.conf. به طور پیش فرض، فقط به روز رسانی ها را دانلود می کند، اما آنها را اعمال نمی کند. پیکربندی به خوبی توضیح داده شده است، بنابراین می توانید آن را به دلخواه شخصی سازی کنید. توضیح خاصی لازم نیست. به صلاحدید خود بسته های به روز رسانی سیستم را پیکربندی کنید. همانطور که قبلاً گفتم، من آنها را به طور خودکار دانلود می کنم. من همیشه نصب را با کنترل دستی تحت کنترل نگه می دارم.

سیل پیام در /var/log/messages را غیرفعال کنید

با ادامه پیکربندی centos، یک ناراحتی کوچک را اصلاح خواهیم کرد. در نصب پیش فرض نسخه هفتم سیستم، کل سیستم شما ثبت می شود /var/log/messagesپس از مدتی سرور با رکوردهای زیر مسدود می شود.

16 اکتبر 14:01:01 xs-files systemd: برش ایجاد شده user-0.slice. 16 اکتبر 14:01:01 xs-files systemd: شروع کاربر-0.slice. 16 اکتبر 14:01:01 xs-files systemd: شروع جلسه 14440 کاربر root. 16 اکتبر 14:01:01 xs-files systemd: شروع جلسه 14440 کاربر root. 16 اکتبر 14:01:01 xs-files systemd: برش حذف شده user-0.slice. 16 اکتبر 14:01:01 xs-files systemd: توقف user-0.slice. 16 اکتبر 15:01:01 xs-files systemd: برش ایجاد شده user-0.slice. 16 اکتبر 15:01:01 xs-files systemd: شروع کاربر-0.slice. 16 اکتبر 15:01:01 xs-files systemd: شروع جلسه 14441 کاربر root. 16 اکتبر 15:01:01 xs-files systemd: شروع جلسه 14441 کاربر root. 16 اکتبر 15:01:01 xs-files systemd: شروع جلسه 14442 کاربر root. 16 اکتبر 15:01:01 xs-files systemd: شروع جلسه 14442 کاربر root. 16 اکتبر 15:01:01 xs-files systemd: برش حذف شده user-0.slice. 16 اکتبر 15:01:01 xs-files systemd: توقف user-0.slice. اکتبر 16 16:01:01 xs-files systemd: برش ایجاد شده user-0.slice. 16 اکتبر 16:01:01 xs-files systemd: شروع کاربر-0.slice. 16 اکتبر 16:01:01 xs-files systemd: شروع جلسه 14443 کاربر root. 16 اکتبر 16:01:01 xs-files systemd: شروع جلسه 14443 کاربر root. 16 اکتبر 16:01:01 xs-files systemd: برش حذف شده user-0.slice.

من در Centos 8 متوجه آنها نشدم، بنابراین نیازی به انجام کاری در آنجا ندارم. پیام ها هیچ سود عملی ارائه نمی دهند، بنابراین ما آنها را خاموش می کنیم. برای انجام این کار، یک قانون جداگانه برای rsyslog ایجاد می کنیم که در آن تمام قالب های پیامی را که برش می دهیم لیست می کنیم. بیایید این قانون را در یک فایل جداگانه قرار دهیم /etc/rsyslog.d/ignore-systemd-session-slice.conf.

# cd /etc/rsyslog.d && mcedit ignore-systemd-session-slice.conf if $programname == "systemd" و ($msg حاوی "Starting Session" یا $msg حاوی "Started Session" یا $msg حاوی "Created" است slice" یا $msg حاوی "Starting user-" یا $msg حاوی "Starting User Slice of" یا $msg حاوی "Removed Session" یا $msg حاوی "Removed Slice User Slice of" یا $msg حاوی "Stopping User Slice of" است. ) سپس متوقف شود

فایل را ذخیره کنید و rsyslog را مجددا راه اندازی کنید تا تنظیمات اعمال شود.

# systemctl rsyslog را راه اندازی مجدد کنید

لازم به درک است که در این مورد ما flooding را در فایل log فقط برای غیرفعال می کنیم سرور محلی. اگر گزارش‌ها را در ذخیره می‌کنید، این قانون باید روی آن پیکربندی شود.

نصب iftop، atop، htop، lsof در CentOS

و در نهایت، برای تکمیل تنظیمات، چند ابزار مفید را اضافه خواهیم کرد که ممکن است در حین کار سرور مفید باشند.

iftop بارگیری رابط شبکه را در زمان واقعی نشان می دهد، می توان آن را با کلیدهای مختلف راه اندازی کرد، من در این مورد با جزئیات صحبت نمی کنم، اطلاعاتی در مورد این موضوع در اینترنت وجود دارد. ما گذاشتیم:

# yum نصب iftop

و دو مدیر وظیفه جالب، من اغلب از htop استفاده می کنم، اما گاهی اوقات atop مفید است. بیایید هر دو را نصب کنیم، خودتان ببینید، بفهمید که چه چیزی را بیشتر دوست دارید، چه چیزی برای شما مناسب است:

# yum install htop # yum install atop

برای نمایش اطلاعات در مورد فایل هایی که توسط کدام فرآیندها استفاده می شوند، به شما توصیه می کنم که این ابزار را نصب کنید lsof. به احتمال زیاد دیر یا زود هنگام تشخیص سرور مفید خواهد بود.

# یام wget bzip2 traceroute gdisk را نصب کنید

این همه برای من است. پایه ای راه اندازی CentOSتکمیل شده است، می توانید شروع به نصب و پیکربندی عملکرد اصلی کنید.

راه اندازی ایمیل سیستم

برای تکمیل راه‌اندازی سرور CentOS، مطمئن شویم که نامه‌های آدرس‌دهی شده به ریشه محلی از طریق یک سرور پست الکترونیکی خارجی به صندوق پستی انتخاب شده ارسال می‌شود. اگر این کار انجام نشد، به صورت محلی در یک فایل کامپایل می شود /var/spool/mail/root. و ممکن است اطلاعات مهم و مفیدی وجود داشته باشد. بیایید آن را طوری پیکربندی کنیم که به صندوق پستی مدیر سیستم ارسال شود.

من در یک مقاله جداگانه در مورد این موضوع صحبت کردم -. در اینجا فقط دستورات و راه اندازی سریع. بسته های لازم را نصب کنید:

# yum install mailx cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain postfix

بیایید چیزی شبیه به این پیکربندی برای postfix ترسیم کنیم.

Cat /etc/postfix/main.cf ## تنظیمات پیش فرض شروع ##################### queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix inet_interfaces = localhost inet_protocols = allknown_local_recipient_reject_code = 550 alias_maps = hash:/etc:buthase/alis_tabases vel = 2 دستور debugger_ = PATH =/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin / newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.10.1/samples readme_directory /us / doc/postfix-2.10.1/README_FILES ## CONFIG DEFAULT END ###################### نام سرور به عنوان خروجی توسط دستور hostname myhostname = centos- xs.local # در اینجا، منطقاً باید فقط دامنه را رها کنید، اما در این صورت بهتر است نام کامل سرور را بگذارید تا فیلد # فرستنده حاوی نام کامل سرور باشد، این باعث می شود راحت تر برای تجزیه پیام های سرویس mydomain = centos-test.xs.local mydestination = $myhostname myorigin = $mydomain # آدرس سروری که از طریق آن نامه را ارسال خواهیم کرد relayhost = mailsrv.mymail.ru:25 smtp_use_tls = بله :/etc/postfix/sasl_passwd smtp_sasl_security_options = ناشناس smtp_t ls_security_level = ممکن است

ما یک فایل با اطلاعات نام کاربری و رمز عبور برای مجوز ایجاد می کنیم.

# mcedit /etc/postfix/sasl_passwd mailsrv.mymail.ru:25 [ایمیل محافظت شده]:کلمه عبور

یک فایل db ایجاد کنید.

# postmap /etc/postfix/sasl_passwd

اکنون می توانید postfix را مجددا راه اندازی کنید و بررسی کنید که آیا کار می کند یا خیر.

# systemctl postfix راه اندازی مجدد

به نام مستعار استاندارد برای root in /etc/نام مستعار، یک آدرس خارجی اضافه کنید که در آن ایمیل آدرس داده شده به root تکرار می شود. برای انجام این کار، فایل مشخص شده را با تغییر خط آخر ویرایش کنید.

#ریشه: مارک

ریشه: ریشه، [ایمیل محافظت شده]

به روز رسانی پایگاه داده گواهی:

#newaliases

بیایید نامه ای از طریق کنسول به ریشه محلی ارسال کنیم:

# df -h | mail -s "استفاده از دیسک" ریشه

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

Relay=smtp.yandex.ru:25, delay=0.25, delays=0/0/0.24/0.01, dsn=5.7.1, status=bounced (میزبان smtp.yandex.ru گفت: 553 5.7.1 آدرس فرستنده رد شد: متعلق به کاربر auth نیست. (در پاسخ به دستور MAIL FROM))

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

این تنظیمات ایمیل محلی را تکمیل می کند. اکنون تمام نامه‌های خطاب به ریشه محلی، به عنوان مثال، گزارش‌های cron، در یک صندوق پستی خارجی کپی می‌شوند و از طریق یک سرور پست الکترونیکی کامل ارسال می‌شوند. بنابراین نامه‌ها به‌طور معمول، بدون پایان دادن به هرزنامه، تحویل داده می‌شوند (اگرچه نه لزوما، فیلترهای اکتشافی نیز وجود دارد).

نتیجه

ما برخی از مراحل اولیه را برای راه‌اندازی سرور CentOS طی کرده‌ایم، کاری که معمولاً هنگام تهیه سرور بلافاصله پس از نصب انجام می‌دهم. من تظاهر نمی‌کنم که حقیقت مطلق هستم؛ ممکن است چیزی را از دست بدهم یا کاری را انجام دهم که کاملاً درست نیست. خوشحال می شوم نظرات و پیشنهادات منطقی و منطقی داشته باشم.

..
  • درک ویژگی های استقرار، پیکربندی و نگهداری شبکه های ساخته شده بر روی لینوکس.
  • توانایی حل سریع مشکلات در حال ظهور و اطمینان از عملکرد پایدار و بدون وقفه سیستم.
  • خود را در آزمون ورودی امتحان کنید و برای جزئیات بیشتر برنامه را ببینید.

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

    CentOS چیست؟

    CentOS لینوکس است که مزیت اصلی آن ثبات است. این سیستممانند نزدیکترین رقیب خود فدورا، بر روی آن ساخته شد کد منبعتوزیع پولی Red Hat Linux. دومی به نوبه خود یک ابزار ایده آل برای مدیران سیستم است که کار آنها به قابلیت پیش بینی، عملکرد پایدار و مدیریت راحت نیاز دارد.

    CentOS نمی تواند به بیشترین حد خود ببالد آخرین نسخه هابسته ها، بر خلاف همان فدورا، اما هر کدام مدیر سیستماو تنها زمانی از این بابت خوشحال خواهد شد که فدورا یا یکی دیگر از توزیع‌های مدرن با آخرین بسته‌های آن "سقوط کند" و CentOS بدون در نظر گرفتن شرایط به کار خود ادامه دهد. این مطالب به طور خلاصه روند راه اندازی و نصب CentOS 7، ویژگی های اصلی سیستم و محیط کاری را شرح می دهد.

    CentOS 7 را دانلود کنید

    قبل از نصب CentOS 7، باید توزیع سیستم عامل را از وب سایت رسمی دانلود کنید.

    چندین گزینه دانلود وجود دارد:

    • فایل ISO برای رایت روی دیسک - گزینه عالیبرای اکثر افراد با یک سیستم کامل و رابط گرافیکی.
    • فایل ISO برای نصب از هارد دیسکو درایوهای فلش USB - کامل ترین مجموعه بسته ها.
    • ISO برای حداقل بارگیری - فقط شامل سیستم عامل اصلی با حداقل مجموعه بسته ها و بدون رابط گرافیکی است (با این نسخه از توزیع می توانید به راحتی سرور را بدون نصب هیچ چیز اضافی "بالا ببرید").

    در میان فایل های بوت می توانید دو تصویر دیسک "زنده" با دو محیط کاری متفاوت (KDE و Gnome) پیدا کنید. این تصاویر برای کسانی مناسب است که می خواهند سیستم را قبل از نصب روی آن امتحان کنند HDD.

    نصب CentOS 7

    حتی اگر یک تصویر حداقلی را انتخاب کنید، CentOS 7 استفاده از یک رابط گرافیکی را برای نصب سیستم بر روی هارد دیسک شما پیشنهاد می کند.

    این فرآیند در 6 مرحله اصلی انجام می شود:

    • تنظیم تاریخ و زمان - در این مرحله، فقط منطقه زمانی خود را انتخاب کنید، و زمان به طور خودکار تنظیم می شود.
    • تنظیم زبان و طرح - شما باید یک زبان سیستم اصلی و یک زبان اضافی را انتخاب کنید و همچنین طرح‌بندی‌های صفحه کلید مورد نیاز را برای آنها مشخص کنید.
    • منبع نصب - در این مرحله نمی توانید چیزی را تغییر دهید، سپس فایل های نصب از رسانه سیستم گرفته می شود.
    • نرم افزار نصب - در این مرحله لازم است حداقل بسته نرم افزاری را انتخاب کنید، زیرا ما نیاز به استقرار یک سرور بدون دسکتاپ و رابط گرافیکی داریم.
    • محل نصب - در این مرحله هارد دیسکی که نصب روی آن انجام می شود و همچنین پارتیشن بندی را انتخاب می کنیم.
    • راه اندازی اینترنت - در اینجا باید اطلاعات مربوط به اتصال اینترنت خود را وارد کنید.

    پس از وارد کردن داده ها، باید یک پروفایل کاربری ایجاد کنید و رمز عبور Root را مشخص کنید. پس از اتمام مراحل نصب، رایانه شما مجدداً راه اندازی می شود و از شما می خواهد که سیستم عامل جدید را راه اندازی کنید.

    نصب سرور CentOS 7

    در اینجا به طور خلاصه در مورد نحوه استقرار یک سرور جهانی مبتنی بر CentOS 7 با حداقل مجموعه ای از ابزارهای لازم که برای عملکرد کامل آن لازم است صحبت خواهیم کرد.

    بنابراین، ابتدا باید خود سرور را پیدا کنید. می توانید آن را به صورت آنلاین استخدام کنید (از 250 روبل) یا آن را پیکربندی کنید ماشین محلی. تنها چیزی که مورد نیاز خواهد بود، اعتبارنامه SSH است که برای ورود به سرور استفاده می شود. بیایید یک آدرس پستی انتزاعی را به عنوان مثال در نظر بگیریم. [ایمیل محافظت شده]و نام کاربری و رمز عبور نیز سنتو هستند.

    شما باید پیکربندی را با ایجاد یک کاربر و دادن تمام حقوق لازم به او شروع کنید:

    • با استفاده از دستور useradd centos یک کاربر اضافه کنید.
    • ما یک رمز عبور منحصر به فرد برای آن ایجاد می کنیم - passwd centos.
    • ما سیستم را مجبور می کنیم تا ایمیل اصلی را برای این کاربر ارسال کند - vi /etc/aliases;
    • ما با دستور visudo به کاربر حقوق sudo می دهیم (خط فرمان با تأیید عملیات پاسخ می دهد).

    پس از آن باید فایروال و SeLinux را غیرفعال کنید. این باید انجام شود تا به طور تصادفی خود را از حقوق دسترسی به سرور محروم نکنید. می‌توانید فایروال را با استفاده از دستورات فایروالd stop systemctl و فایروال غیرفعال سیستمctl متوقف کنید. وضعیت SeLinux کمی پیچیده تر است: شما باید فایل پیکربندی مربوطه را در ویرایشگر متن Vi با استفاده از دستور vi /etc/selinux/config، خط SELINUX=enabled را در آنجا پیدا کنید و آن را با SELINUX=disabled جایگزین کنید. سپس باید سیستم را ریبوت کنید.

    مرحله بعدی نصب، نصب SSH است.

    برای انجام این کار شما نیاز دارید:

    • کلیدهای مربوطه را از شمال اضافه کنید [ایمیل محافظت شده].
    • پورت فایل پیکربندی /etc/ssh/sshd_config را به پورت 222 تغییر دهید.
    • ممنوعیت ورود به سرور بدون حقوق ریشهبا وارد کردن خط PermitRootLogin بدون رمز عبور.
    • و سرور را با دستور systemctl restart sshd ریستارت کنید.

    شما همچنین باید تمام سیستم ها را به روز کنید و ذخیره سازی های epel و rpmforge را نصب کنید. برای انجام این کار شما نیاز دارید:

    • تمام عناصر سیستم را با دستور yum update به روز کنید.
    • اجزای سیستم جدید را با استفاده از دستور به روز رسانی yum -enablerepo=cr دانلود کنید.
    • اگر کامپوننت‌های موجود کافی نیستند، می‌توانید نسخه‌های مدرن‌تری از epel و rpmforge را با وارد کردن دستور yum -y install *آدرس مخزن که نسخه مورد نیاز در آن ذخیره می‌شود دانلود کنید. نرم افزار* (یک مخزن مناسب را می توان به راحتی در منابع تخصصی پیدا کرد).

    بررسی سرویس ها، راه اندازی Apache و PHP

    برای نصب اجزای اضافی در فریم سرور موجود، باید برخی از سرویس‌ها و سرویس‌های MTA را بررسی و غیرفعال کنید.

    برای انجام این کار شما نیاز دارید:

    • بررسی کنید که کدام سرویس ها از قبل با استفاده از فرمان systemctl -t در حال اجرا هستند.
    • همه موارد غیرضروری را غیرفعال کنید و از شروع آنها جلوگیری کنید، به عنوان مثال، برای نصب سرویس های پستی باید postfix را با استفاده از دستور systemctl stop postfix و systemctl disable postfix غیرفعال کنید.

    سپس باید Apache و PHP را دانلود کنید که برای عملکرد کامل سرور ما ضروری هستند.

    بنابراین برای این:

    • بسته آپاچی را با دستور yum -y install httpd نصب کنید.
    • ما تغییراتی را در فایل پیکربندی ایجاد می کنیم (شما باید آدرس سرور، نام، امضاها و غیره را مشخص کنید).
    • ما Apache را راه اندازی می کنیم و تابع autorun را با دستور systemctl start httpd و systemctl enable httpd فعال می کنیم.
    • سپس PHP را با دستور yum -y install php php-mbstring php-near اضافه کنید.
    • Apache را با دستور systemctl restart httpd ریستارت کنید.

    نصب سیستم مدیریت پایگاه داده MySql

    قبل از نصب MySql در CentOS 7، شایان ذکر است که هنگام استفاده از مدیریت دانلود استاندارد Yum، سیستم نسخه جایگزین برنامه به نام MariaDB را دانلود می کند، بنابراین در مورد CentOS باید راه حلی را انجام دهید.

    برای نصب MySql نیاز دارید:

    • مشتری MySql را با استفاده از دستور wget *پیوند فایل با کلاینت MySql* از مخزن رسمی نرم افزار دانلود کنید.
    • سپس با sudo rpm -ivh *نام کامل فایل rpm با نسخه دلخواه MySql* نصب کنید و sudo yum mysql-server را نصب کنید.
    • سپس با وارد کردن دوبار عملیات را تایید کنید خط فرمان Y.

    مانیتورینگ Zabbix

    برای نصب Zabbix در CentOS 7، باید آخرین نسخه کلاینت را در وب سایت رسمی توسعه دهنده پیدا کنید و سپس آن را روی سیستم نصب کنید.

    برای انجام این کار شما نیاز دارید:

    • یک مخزن با دستور rpm Uvh *پیوند به فایل rpm با اضافه کنید نسخه فعلیزبیکس*.
    • لیست نرم افزارهای موجود را با دستور yum update به روز کنید.
    • سپس کلاینت Zabbix را با دستور yum install zabbix-agent روی سیستم نصب کنید.
    • پس از آن، تنها چیزی که باقی می ماند این است که نسخه مشتری را بررسی کنید (یک سوم مورد نیاز است) و با وارد کردن Y در خط فرمان به همه درخواست ها پاسخ مثبت دهید.

    نصب سرور ایمیل زیمبرا

    قبل از نصب Zimbra در CentOS 7، باید سیستم را برای این کار آماده کنید.

    بنابراین، شما باید موارد زیر را انجام دهید:

    • فایل etc/host و hostname را به درستی پیکربندی کنید.
    • همه پورت های زیمبرا در iptables مجاز هستند.
    • SeLinux را خاموش کنید.
    • تمام خدمات MTA را غیرفعال کنید.
    • با دستور yum update -y سیستم عامل را به روز کنید.
    • سپس باید بسته های مناسب را با دستور yum install perl perl-core ntpl nmap sudo libidn gmp دانلود کنید.
    • سپس - خود ابزار Zimbra *به فایل با نسخه فعلی ابزار Zimbra پیوند دهید*.
    • فایل را با دستور tar از بسته بندی خارج کرده و با دستور cd به دایرکتوری مربوطه بروید.
    • سپس باید فرآیند نصب را با دستور ./install.sh —platform-override شروع کنید.


    
    بالا