تثبيت خادم الدليل Centos 7

أهلاً بكم! اليوم في المقالة سننظر في التثبيت سينت أو إس 7 الحد الأدنى، الإعداد الأولي للشبكة وتثبيت واجهة رسومية تسمى رَفِيق. لدينا بالفعل مقال وفيديو حول هذا الموضوع، ولكن هناك العديد من التفاصيل الدقيقة عند تثبيت 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 والحزم المطلوبة

فلماذا ماتي؟ الجواب بسيط - فهو أخف بكثير، ولا يتطلب الكثير من الموارد، وسهل التثبيت للغاية. لذا، فإننا نتخذ بعض الخطوات البسيطة لتثبيت الحزم (أدناه):

  • yum groupinstall "أدوات التطوير" - تثبيت مجموعة الحزم الضرورية لكي تعمل واجهة المستخدم الرسومية (فقط إذا لم تكن مثبتة بالفعل)؛
  • yum install epel-release - تثبيت مستودع EPEL؛
  • yum groupinstall "X Window system" - تثبيت حزمة مجموعة X Window System، وسيستغرق ذلك حوالي 5 دقائق. يبلغ حجم الحزمة نفسها 73 ميجابايت؛
  • yum groupinstall "MATE Desktop" - التثبيت المباشر لـ Mate - حزمة كبيرة جدًا - 506 ميجابايت؛

في هذا الدليل، سنقوم بتثبيت نظام التشغيل CentOS 7 على خادم يدعم بنية 64 بت، نظرًا لأن المطورين لم يصدروا توزيعة لبنية 32 بت، على الأقل لم أجدها في أي مكان.

تم مؤخرًا إصدار نظام التشغيل الجديد CentOS 7، لذلك قررت تقديم تعليمات التثبيت مع لقطات شاشة مفصلة لتوجيه أولئك الذين يرغبون في تعلم كيفية تثبيت Linux CentOS 7 وتكوينه عندما يُطلب مني التدريس أو تقديم المشورة.

CentOS هو توزيع Linux يعتمد على Red Hat Enterprise Linux التجاري ومتوافق معه. يتكون Red Hat Enterprise Linux من برامج مجانية ومفتوحة المصدر، ولكنه متاح كأقراص حزمة ثنائية للمشتركين المدفوعين فقط. كما هو مطلوب بموجب رخصة GPL والتراخيص الأخرى، توفر Red Hat كافة التعليمات البرمجية المصدرية. يستخدم مطورو CentOS كود المصدر هذا لإنشاء منتج نهائي يشبه إلى حد كبير Red Hat Enterprise Linux وهو متاح للتنزيل.

قم بتنزيل CentOS 7 من الموقع الرسمي لبنية x64:
قم بتنزيل مجموعة التوزيع بحجم مناسب لك باستخدام الروابط:

دعونا نأخذ استراحة قصيرة ونشاهد الهبوط الشديد من الجبل على دراجة هوائية، سوف يحبس أنفاسكم:

سأقدم لكم اليوم رؤيتي للتكوين الأولي لخادم عالمي على نظام تشغيل شائع. سأتحدث عن كيفية إجراء الإعداد الأساسي لخادم Centos مباشرة بعد التثبيت لاستخدامه بأي صفة حسب تقديرك. منح نصيحة عمليةزيادة الأمان وسهولة استخدام الخادم. ستكون المقالة ذات صلة بإصداري Centos الأخيرين - 7 و8.

  1. قم بإدراج إعدادات السنتوس الأولية التي أقوم بها على خادم تم تثبيته حديثًا.
  2. عرض أمثلة على التكوينات التي أستخدمها في إعداد نموذجي.
  3. قم بتقديم النصائح حول إعداد السنتوس بناءً على تجربتك مع النظام.
  4. قم بتوفير قائمة بالبرامج والأدوات المساعدة النموذجية التي تساعد في إدارة الخادم.

هذه المقالة جزء من سلسلة واحدة من المقالات حول الخادم.

مقدمة

بعد إصدار إصدار Centos 8 الجديد، أصبح من الصعب وصفه في مقال واحد الإعداد الأوليكلا الخادمين، لكنني لم أرغب في تقسيم المقالة لأنها تحتوي على الكثير من الروابط الواردة من أماكن مختلفة. من الملائم أكثر الاحتفاظ بالمواد العامة في كلا الإصدارين، وهو ما سأفعله. في الوقت نفسه، ستكون الاختلافات بين الإصدارين مرئية بوضوح، لبضع سنوات بعد إصدار Centos 8، سيكون كلاهما مناسبا وسيتعين عليك استخدام كلا الإصدارين، اعتمادا على الوضع.

يستخدم Centos 7 مدير الحزم يموفي سنتوس 8 - dnf. وفي الوقت نفسه، تركوا رابطًا رمزيًا من yum إلى dnf، حتى تتمكن من كتابة الاسم الأول والثاني. من أجل الاتساق، سأستخدم yum طوال الوقت، لكنني أحذرك، فقط حتى تفهم سبب قيامي بذلك بهذه الطريقة. في الواقع، يستخدم CentOS 8 dnf، وهو مدير حزم مختلف وأكثر حداثة يسمح لك بالعمل مع إصدارات مختلفة من نفس البرنامج. لهذا الغرض، يتم استخدام مستودعات منفصلة ظهرت لـ Centos 8.

الإعداد الأولي لـ CentOS

أنا شخصياً أبدأ في إعداد أي نظام، سواء كان سنتوس أو غيره، بعد التثبيت عن طريق تحديث النظام بالكامل. إذا كانت صورة التثبيت حديثة، أو تم التثبيت عبر الشبكة، فمن المرجح ألا تكون هناك تحديثات. غالبًا ما تكون موجودة، حيث لا يتم دائمًا تحديث صور التثبيت بانتظام.

تحديث النظام

# تحديث يم

لتسهيل الإدارة، أقوم دائمًا بتثبيت Midnight Commander، أو فقط 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

إذا رأيت الجواب :

باش: ifconfig: الأمر غير معثور عليه

هذا يعني أن الأداة المساعدة غير مثبتة. بدلاً من ifconfig في CentOS، توجد الآن أداة مساعدة الملكية الفكرية. وهذا لا ينطبق فقط على السنتوس. هذه هي الصورة الموجودة في جميع توزيعات Linux الحديثة الشائعة تقريبًا. لقد اعتدت على ifconfig لفترة طويلة، على الرغم من أنني لم أستخدمه كثيرًا مؤخرًا. لقد أحببت دائمًا أن كل شيء هو نفسه تقريبًا في توزيعات Linux المختلفة. باستخدام ifconfig، يمكنك تكوين الشبكة ليس فقط في Linux، ولكن أيضًا في freebsd. انها مريحة. وعندما يكون لكل توزيع أداة خاصة به، فهذا ليس مناسبا. على الرغم من أن هذا الآن لم يعد ذا صلة للغاية، لأنني لم أعد أعمل مع Freebsd، وتتوفر الأداة المساعدة IP في جميع توزيعات Linux. ومع ذلك، إذا كنت بحاجة إلى ifconfig، فيمكنك تثبيت الحزمة أدوات الشبكة، الذي يتضمن:

# يم تثبيت أدوات الشبكة

لكي تعمل أوامر nslookup أو أوامر المضيف على سبيل المثال، نحتاج إلى تثبيت الحزمة bind-utils. إذا لم يتم ذلك، فاستخدم الأمر:

#nslookup

سيكون الإخراج:

باش: nslookup: لم يتم العثور على الأمر

لذلك دعونا نقوم بتثبيت bind-utils:

# yum install bind-utils

تعطيل سيلينوكس

تعطيل سيلينوكس. استخدامه وتكوينه أمر منفصل. لن أفعل هذا الآن. لذلك دعونا نطفئه:

# mcedit /etc/sysconfig/selinux

تغيير القيمة

SELINUX=معطل

يمكنك إعادة التشغيل لتصبح التغييرات سارية المفعول:

# اعادة التشغيل

وإذا كنت تريد تعطيل SELinux دون إعادة التشغيل، فقم بتشغيل الأمر:

#سيتينفورس 0

أتلقى باستمرار الكثير من الانتقادات حول هذا الموضوع تعطيل SELinux. أعرف كيف يعمل، وأعرف كيفية تكوينه. إنها في الحقيقة ليست معقدة للغاية وليس من الصعب إتقانها. هذا هو خياري الواعي، على الرغم من أنني أقوم بتعديله أحيانًا. إن الطريقة التي أعمل بها مع النظام تجعلني في أغلب الأحيان لا أحتاج إلى SELinux، لذلك لا أضيع الوقت عليه وأقوم بتعطيل السنتوس في الإعداد الأساسي. يعد أمان النظام مسعى معقدًا، خاصة في العالم الحديث تطوير الشبكة، حيث تحكم الخدمات الصغيرة والحاويات المجثم. SELinux هي أداة متخصصة ليست هناك حاجة إليها دائمًا وليس في كل مكان. ولذلك لا مكان له في هذا المقال. أولئك الذين يحتاجون إليه سوف يقومون بتمكين SELinux بشكل منفصل وتكوينه.

تحديد معلمات الشبكة

نواصل الإعداد الأساسي لـ Centos بعد التثبيت. الآن سنفعل ذلك إذا لم نفعل ذلك لسبب ما أثناء التثبيت، أو إذا كنت بحاجة إلى تغييرها. بشكل عام، يتم تكوين الشبكة في Centos باستخدام مدير الشبكةوفائدة وحدة التحكم الخاصة به nmtui. لأنه يأتي مع التثبيت الأساسي للنظام. هناك واجهة رسومية بسيطة وواضحة، لذلك ليس هناك ما يمكن قوله. أنا معتاد أكثر على تكوين الشبكة من خلال ملفات تكوين البرامج النصية للشبكة. في الإصدار 7 من Centos، كانت موجودة خارج الصندوق، وفي الإصدار 8 تمت إزالتها. لاستخدامها لتكوين الشبكة، يجب عليك تثبيت الحزمة بشكل منفصل مخطوطات الشبكة.

# يم تثبيت البرامج النصية للشبكة

الآن يمكنك تكوين الشبكة. للقيام بذلك، افتح الملف /etc/sysconfig/network-scripts/ifcfg-eth0

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

إذا تلقيت اعدادات الشبكةعبر dhcp، فسيكون الحد الأدنى لمجموعة الإعدادات في ملف التكوين كما يلي.

TYPE = "Ethernet" BOOTPROTO = "dhcp" DEFROUTE = "yes" IPV4_FAILURE_FATAL = "no" NAME = "eth0" DEVICE = "eth0" ONBOOT = "نعم"

لتكوين عنوان IP ثابت، ستكون الإعدادات كما يلي.

TYPE = "Ethernet" BOOTPROTO = "none" DEFROUTE = "yes" IPV4_FAILURE_FATAL = "no" NAME = "eth0" DEVICE = "eth0" ONBOOT = "yes" IPADDR = 192.168.167.117 DNS1 = 192.168.167.113 بادئة = 28 بوابة = 192.168.167.113

في حقل IPADDR، ندخل عنوانك، في بادئة قناع الشبكة، في GATEWAY البوابة، عنوان DNSخادم DNS. احفظ الملف وأعد تشغيل الشبكة لتطبيق الإعدادات:

# إعادة تشغيل شبكة systemctl

إعداد جدار الحماية

إضافة المستودعات

عند إعداد Centos، غالبًا ما تحتاج إلى برنامج غير مضمن في اللفت القياسي. لتثبيت حزم إضافية تحتاج إليها. الأكثر شعبية هو EPEL. كان هناك rpmforge، ولكن تم إغلاقه لعدة سنوات. نسي الجميع عنه. نقوم بتوصيل مستودع EPEL. كل شيء بسيط معه، يضاف من اللفت القياسي:

# يم تثبيت epel الإصدار

بالنسبة لـ 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(نقطة في البداية). يمكنك فتحه باستخدام أي محرر ومشاهدته. لعرض القائمة بسهولة أكبر، يمكنك إدخال الأمر في وحدة التحكم:

#تاريخ

وانظر قائمة مرقمة. يمكنك العثور بسرعة على أمر محدد عن طريق تصفية الأسطر الضرورية فقط، على سبيل المثال مثل هذا:

#تاريخ | grep يم

بهذه الطريقة سنرى جميع الخيارات لتشغيل أمر 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-cron، يتم إنشاء مهمة تلقائية لتشغيل الأداة المساعدة /etc/cron.dailyو /etc/cron.hourly. بشكل افتراضي، تقوم الأداة المساعدة بتنزيل التحديثات، ولكنها لا تقوم بتطبيقها. بدلا من ذلك، المسؤول على المحلية صندوق بريديتم إرسال إشعار التحديثات إلى الجذر. ثم تنتقل إلى الوضع اليدوي وتقرر ما إذا كنت تريد تثبيت التحديثات أم لا في الوقت المناسب لك. أجد أن وضع التشغيل هذا هو الأكثر ملاءمة، لذلك لا أغير هذه الإعدادات.

يمكنك تكوين yum-cron من خلال ملفات التكوين الموجودة في /etc/yum/yum-cron.confو يم-كرون-hourly.conf. لقد تم التعليق عليهم بشكل جيد، لذلك تفسيرات مفصلةلا تحتاج. ألفت انتباهكم إلى هذا القسم حيث يمكنك تحديد المعلمات لإرسال الرسائل. بشكل افتراضي، يتم إرسال البريد عبر المضيف المحلي. يمكنك تغيير الإعدادات هنا وإرسال الرسائل عبر خادم بريد تابع لجهة خارجية. ولكن بدلاً من ذلك، أفضل شخصيًا تكوين الخادم بالكامل عالميًا لإعادة توجيه بريد الجذر المحلي إلى صندوق بريد خارجي من خلال التفويض على خادم SMTP آخر.

DNF-تلقائي

كما قلت سابقًا، يستخدم Centos 8 مدير حزم مختلفًا - dnf. يتم تكوين تحديثات الحزمة هناك من خلال الأداة المساعدة dnf-تلقائي. لنقم بتثبيته وتكوينه.

# يم تثبيت dnf-تلقائي

لم يعد cron هو الذي يدير عمليات الإطلاق المجدولة، بل أصبح systemd مع برنامج الجدولة المدمج الخاص به. عرض الموقتات بداية تلقائيةيمكنك استخدام الأمر:

# مؤقتات قائمة systemctl *dnf-*

إذا لم تكن هناك مهام هناك، فيمكنك إضافة مؤقت يدويًا:

# تمكين systemctl - الآن 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 systemd: تم إنشاء شريحة user-0.slice. 16 أكتوبر 14:01:01 ملفات xs systemd: بدء تشغيل user-0.slice. 16 أكتوبر 14:01:01 xs-files systemd: بدأت الجلسة 14440 لجذر المستخدم. 16 أكتوبر 14:01:01 xs-files systemd: بدء الجلسة 14440 لجذر المستخدم. 16 أكتوبر 14:01:01 xs-files systemd: تمت إزالة الشريحة user-0.slice. 16 أكتوبر 14:01:01 ملفات xs systemd: إيقاف user-0.slice. 16 أكتوبر 15:01:01 ملفات xs systemd: تم إنشاء شريحة user-0.slice. 16 أكتوبر 15:01:01 ملفات xs systemd: بدء تشغيل user-0.slice. 16 أكتوبر 15:01:01 xs-files systemd: بدأت الجلسة 14441 لجذر المستخدم. 16 أكتوبر 15:01:01 xs-files systemd: بدء الجلسة 14441 لجذر المستخدم. 16 أكتوبر 15:01:01 xs-files systemd: بدأت الجلسة 14442 لجذر المستخدم. 16 أكتوبر 15:01:01 xs-files systemd: بدء الجلسة 14442 لجذر المستخدم. 16 أكتوبر 15:01:01 xs-files systemd: تمت إزالة الشريحة user-0.slice. 16 أكتوبر 15:01:01 ملفات xs systemd: إيقاف user-0.slice. 16 أكتوبر 16:01:01 ملفات xs systemd: تم إنشاء شريحة user-0.slice. 16 أكتوبر 16:01:01 ملفات xs systemd: بدء تشغيل user-0.slice. 16 أكتوبر 16:01:01 xs-files systemd: بدأت الجلسة 14443 لجذر المستخدم. 16 أكتوبر 16:01:01 xs-files systemd: بدء الجلسة 14443 لجذر المستخدم. 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 تجاهل-systemd-session-slice.conf إذا كان $programname == "systemd" و$msg يحتوي على "بدء الجلسة" أو $msg يحتوي على "الجلسة التي تم البدء بها" أو $msg يحتوي على "تم الإنشاء" أو $msg يحتوي على "بدء تشغيل شريحة المستخدم" أو $msg يحتوي على "بدء تشغيل شريحة المستخدم لـ" أو $msg يحتوي على "بدء تشغيل شريحة المستخدم لـ" أو $msg يحتوي على "شريحة المستخدم التي تمت إزالتها لـ" أو $msg يحتوي على "إيقاف شريحة المستخدم لـ" ) ثم توقف

احفظ الملف وأعد تشغيل rsyslog لتطبيق الإعدادات.

# إعادة تشغيل Systemctl rsyslog

من الضروري أن نفهم أنه في هذه الحالة نقوم بتعطيل الفيضان في ملف السجل فقط لـ الملقم المحلي. إذا قمت بتخزين سجلات الدخول، فسوف تحتاج إلى تكوين هذه القاعدة عليها.

تثبيت iftop وatop وhtop وlsof على CentOS

وأخيرًا، لإكمال الإعداد، سنضيف بعض الأدوات المساعدة المفيدة التي قد تكون مفيدة أثناء تشغيل الخادم.

يُظهر iftop تحميل واجهة الشبكة في الوقت الفعلي، ويمكن تشغيله بمفاتيح مختلفة، ولن أتطرق إلى هذا بالتفصيل، فهناك معلومات حول هذا الموضوع على الإنترنت. نضع:

# يم تثبيت iftop

واثنين من مديري المهام المثيرين للاهتمام، غالبًا ما أستخدم htop، ولكن في بعض الأحيان يكون Atop مفيدًا. دعنا نثبت كليهما، ونرى بنفسك، ونكتشف ما تفضله وما يناسبك:

# يم تثبيت htop # يم تثبيت فوق

لعرض معلومات حول الملفات التي يتم استخدامها من خلال العمليات، أنصحك بتثبيت الأداة المساعدة lsof. من المرجح أن يكون مفيدًا عاجلاً أم آجلاً عند تشخيص الخادم.

# yum install wget bzip2 Traceroute Gdisk

هذا كل شيء بالنسبة لي. أساسي إعداد سينت أو إسبعد الانتهاء، يمكنك البدء في تثبيت الوظيفة الرئيسية وتكوينها.

إعداد بريد النظام

لإنهاء إعداد خادم CentOS، دعونا نتأكد من إرسال البريد الموجه إلى الجذر المحلي عبر خادم بريد خارجي إلى صندوق البريد المحدد. إذا لم يتم ذلك، فسيتم تجميعه محليًا في ملف /var/spool/mail/root. وقد تكون هناك معلومات مهمة ومفيدة. فلنقم بتكوينه ليتم إرساله إلى صندوق بريد مسؤول النظام.

تحدثت عن هذا بالتفصيل في مقال منفصل -. هنا فقط الأوامر و التثبيت السريع. تثبيت الحزم اللازمة:

# يم تثبيت 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 = مضيف محلي inet_protocols = الكل غير معروف_local_recipient_reject_code = 550 alias_maps = hash:/etc/alias alias_database = hash:/etc/aliases debug_peer_level = 2 debugger_ Command = 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 = /usr/share / doc/postfix-2.10.1/README_FILES ## نهاية التكوين الافتراضي ###################### # اسم الخادم كإخراج بواسطة الأمر hostname myhostname = Centos- test.xs.local # هنا، منطقيا، تحتاج إلى ترك المجال فقط، ولكن في هذه الحالة من الأفضل ترك الاسم الكامل للخادم بحيث يحتوي حقل المرسل # على الاسم الكامل للخادم، وهذا يجعله أكثر ملاءمة لتحليل رسائل الخدمة mydomain = Centos-test.xs.local mydestination = $myhostname myorigin = $mydomain # عنوان الخادم الذي سنرسل من خلاله البريد Relayhost = mailsrv.mymail.ru:25 smtp_use_tls = Yes smtp_sasl_auth_enable = Yes smtp_sasl_password_maps = hash :/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_t ls_security_level = may

نقوم بإنشاء ملف يحتوي على معلومات حول اسم المستخدم وكلمة المرور للحصول على الترخيص.

# mcedit /etc/postfix/sasl_passwd mailsrv.mymail.ru:25 [البريد الإلكتروني محمي]:كلمة المرور

إنشاء ملف ديسيبل.

# خريطة البريد /etc/postfix/sasl_passwd

يمكنك الآن إعادة تشغيل postfix والتحقق من أنه يعمل.

# إعادة تشغيل systemctl postfix

إلى الاسم المستعار القياسي للجذر / الخ / الأسماء المستعارة، أضف عنوانًا خارجيًا حيث سيتم تكرار البريد الموجه إلى الجذر. للقيام بذلك، قم بتحرير الملف المحدد، وتغيير السطر الأخير.

#الجذر: مارك

الجذر: جذر، [البريد الإلكتروني محمي]

تحديث قاعدة بيانات الشهادات:

#أسماء_جديدة

دعنا نرسل رسالة عبر وحدة التحكم إلى الجذر المحلي:

# مدافع -ح | البريد - جذر "استخدام القرص".

يجب أن تذهب الرسالة إلى صندوق بريد خارجي. إذا كنت تستخدم صندوق بريد Yandex، فمن المرجح أن تتلقى خطأ في السجل خادم البريدولن يتم إرسال الرسالة.

التتابع=smtp.yandex.ru:25، التأخير=0.25، التأخير=0/0/0.24/0.01، dsn=5.7.1، الحالة=ارتداد (قال المضيف smtp.yandex.ru: 553 5.7.1 تم رفض عنوان المرسل: غير مملوكة لمستخدم المصادقة. (ردًا على أمر "البريد من"))

يعني هذا الخطأ أن مرسل البريد الخاص بك ليس هو نفس صندوق البريد الذي تستخدمه للترخيص. سأخبرك بكيفية إصلاح هذا في مقال منفصل -. مع أنظمة البريد الأخرى التي لا يوجد بها مثل هذا الفحص، يجب أن يكون كل شيء على ما يرام كما هو.

هذا يكمل إعداد البريد المحلي. الآن سيتم تكرار جميع الرسائل الموجهة إلى الجذر المحلي، على سبيل المثال، التقارير من cron، إلى صندوق بريد خارجي، وإرسالها عبر خادم بريد كامل. لذلك سيتم تسليم الرسائل بشكل طبيعي، دون أن ينتهي بها الأمر في البريد العشوائي (على الرغم من أنه ليس بالضرورة، هناك أيضًا مرشحات إرشادية).

خاتمة

لقد مررنا ببعض الخطوات الأولية لإعداد خادم CentOS، وهو ما أفعله عادةً عند إعداد الخادم مباشرة بعد التثبيت. أنا لا أدعي أنني الحقيقة المطلقة، ربما أفتقد شيئًا ما أو أفعل شيئًا غير صحيح تمامًا. سأكون سعيدًا بالحصول على تعليقات واقتراحات معقولة وذات مغزى.

..
  • فهم تفاصيل نشر وتكوين وصيانة الشبكات المبنية على Linux.
  • القدرة على حل المشكلات الناشئة بسرعة وضمان التشغيل المستقر وغير المنقطع للنظام.
  • اختبر نفسك في اختبار القبول وراجع البرنامج لمزيد من التفاصيل.

    كثير من الناس لا يشككون في أن جميع الخدمات التي نستخدمها على الإنترنت تعتمد على نفس أجهزة الكمبيوتر التي تعمل في شققنا، إلا أنها تم تكوينها بشكل مختلف تماما، ولا يمكن أن تتباهى بجمالها واجهة رسوميةويتم إدارتها باستخدام فرق متخصصة. تسمى أجهزة الكمبيوتر هذه الخوادم. يعرف الأشخاص المطلعون، بالطبع، كيفية تكوين و"رفع" الخادم الخاص بهم. يحتاج أولئك الجدد في هذا العمل إلى دراسة أكثر من منتدى حتى يتمكنوا في النهاية من التعامل معه. هناك شيء واحد مؤكد: لإعداد خادم غير مكلف ومستقر، تحتاج إلى اختيار قاعدة غير مكلفة ومستقرة بنفس القدر، وهي نظام التشغيلعلى أساس لينكس. يقع اختيار الأغلبية على CentOS 7. تحتوي هذه المادة على معلومات مختصرةحول كيفية تثبيت CentOS 7 وإنشاء خادم أساسي يعتمد عليه.

    ما هو سينت أو إس؟

    CentOS هو Linux، وميزته الرئيسية هي الاستقرار. هذا النظام، مثل أقرب منافسيها فيدورا، تم بناؤها عليه مصدر الرمزالتوزيع المدفوع لـ Red Hat Linux. يعد هذا الأخير بدوره أداة مثالية لمسؤولي النظام الذين يتطلب عملهم القدرة على التنبؤ والتشغيل المستقر والإدارة المريحة.

    لا يمكن لـ CentOS التفاخر بأكثر من ذلك أحدث الإصداراتحزم، على عكس نفس فيدورا، ولكن كل منهما مدير النظامسيكون سعيدًا بهذا فقط عندما "تسقط" Fedora أو أي توزيعة حديثة أخرى بأحدث حزمها، ويستمر CentOS في العمل بهدوء بغض النظر عن الظروف. تصف هذه المادة بإيجاز عملية إعداد وتثبيت CentOS 7، والميزات الرئيسية للنظام وبيئة العمل.

    تحميل سينت او اس 7

    قبل تثبيت CentOS 7، يجب عليك تنزيل توزيعة نظام التشغيل من الموقع الرسمي.

    هناك عدة خيارات للتنزيل:

    • ملف ISO للحرق على القرص - الخيار الأمثلبالنسبة لمعظم الأشخاص الذين لديهم نظام كامل وواجهة رسومية؛
    • ملف ISO للتثبيت منه قرص صلبومحركات أقراص فلاش USB - مجموعة الحزم الأكثر اكتمالا؛
    • ISO للحد الأدنى من التنزيل - يحتوي فقط على نظام التشغيل الأساسي مع الحد الأدنى من مجموعة الحزم وبدون واجهة رسومية (مع هذا الإصدار من التوزيع، يمكنك بسهولة "رفع" الخادم دون تثبيت أي شيء إضافي).

    من بين ملفات التمهيد، يمكنك العثور على صورتين "حيتين" للقرص مع بيئتي عمل مختلفتين (KDE وGnome). هذه الصور مناسبة لمن يريد تجربة النظام قبل تثبيته الأقراص الصلبة.

    تثبيت سينت أو إس 7

    حتى إذا قمت بتحديد صورة صغيرة، فسيعرض عليك CentOS 7 استخدام واجهة رسومية لتثبيت النظام على محرك الأقراص الثابتة لديك.

    تتم هذه العملية في 6 خطوات رئيسية:

    • ضبط التاريخ والوقت - في هذه المرحلة، ما عليك سوى تحديد المنطقة الزمنية الخاصة بك، وسيتم ضبط الوقت تلقائيًا.
    • إعداد اللغة والتخطيط - يجب عليك تحديد لغة نظام أساسية واحدة ولغة إضافية، بالإضافة إلى تحديد تخطيطات لوحة المفاتيح المطلوبة لهما.
    • مصدر التثبيت - في هذه المرحلة لا يمكنك تغيير أي شيء، ثم سيتم أخذ ملفات التثبيت من وسائط النظام.
    • برنامج التثبيت - في هذه المرحلة من الضروري تحديد الحد الأدنى من حزمة البرامج، لأننا نحتاج إلى نشر خادم بدون سطح مكتب وواجهة رسومية.
    • موقع التثبيت - في هذه المرحلة نختار القرص الصلب الذي سيتم التثبيت عليه، وكذلك التقسيم.
    • إعداد الإنترنت - هنا تحتاج إلى إدخال معلومات حول اتصالك بالإنترنت.

    بعد إدخال البيانات، ستحتاج إلى إنشاء ملف تعريف مستخدم وتحديد كلمة مرور الجذر. بمجرد اكتمال عملية التثبيت، سيتم إعادة تشغيل جهاز الكمبيوتر الخاص بك ويطالبك ببدء تشغيل نظام التشغيل الجديد.

    تثبيت خادم CentOS 7

    سنتحدث هنا بإيجاز عن كيفية نشر خادم عالمي يعتمد على CentOS 7 مع الحد الأدنى من الأدوات اللازمة للتشغيل الكامل.

    لذلك، أولا تحتاج إلى العثور على الخادم نفسه. يمكنك إما استئجاره عبر الإنترنت (من 250 روبل) أو تهيئته الجهاز المحلي. الشيء الوحيد المطلوب هو بيانات اعتماد SSH التي سيتم استخدامها لتسجيل الدخول إلى الخادم. لنأخذ عنوانًا بريديًا مجردًا كمثال. [البريد الإلكتروني محمي]واسم المستخدم وكلمة المرور هما أيضًا سنتوس.

    يجب أن تبدأ عملية التهيئة عن طريق إنشاء مستخدم ومنحه كافة الحقوق اللازمة:

    • إضافة مستخدم باستخدام الأمر useradd Centos؛
    • نقوم بإنشاء كلمة مرور فريدة لها - passwd Centos؛
    • نجبر النظام على إرسال بريد جذر إلى هذا المستخدم - vi /etc/aliases;
    • نمنح المستخدم حقوق sudo باستخدام الأمر visudo (سيستجيب سطر الأوامر بتأكيد العملية).

    بعد ذلك تحتاج إلى تعطيل جدار الحماية وSeLinux. يجب أن يتم ذلك حتى لا تحرم نفسك عن طريق الخطأ من حقوق الوصول إلى الخادم. يمكنك إيقاف جدار الحماية مؤقتًا باستخدام أمري systemctl stop firewalld وsystemctl Disable firewalld. الوضع مع SeLinux أكثر تعقيدًا بعض الشيء: تحتاج إلى فتح ملف التكوين المقابل فيه محرر النصباستخدام الأمر 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 *address of the repository حيث تم تخزين الإصدار المطلوب برمجة* (يمكن العثور بسهولة على مستودع مناسب على الموارد المتخصصة).

    التحقق من الخدمات وإعداد Apache وPHP

    لتثبيت مكونات إضافية في إطار خادم موجود، ستحتاج إلى التحقق من بعض الخدمات وخدمات MTA وتعطيلها.

    للقيام بذلك تحتاج:

    • تحقق من الخدمات التي تعمل بالفعل باستخدام أمر الخدمة systemctl -t.
    • قم بتعطيل كافة العناصر غير الضرورية ومنعها من البدء، على سبيل المثال، لتثبيت خدمات البريد، ستحتاج إلى تعطيل postfix باستخدام أوامر systemctl stop postfix وsystemctl Disable postfix.

    فأنت بحاجة إلى تنزيل Apache وPHP، وهما ضروريان للتشغيل الكامل لخادمنا.

    لذلك لهذا:

    • قم بتثبيت حزمة Apache باستخدام الأمر yum -y install httpd.
    • نقوم بإجراء تغييرات على ملف التكوين (تحتاج إلى تحديد عنوان الخادم والاسم والتوقيعات وما إلى ذلك).
    • نبدأ تشغيل Apache ونقوم بتمكين وظيفة التشغيل التلقائي باستخدام الأمرين 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 install mysql-server.
    • ثم قم بتأكيد العملية مرتين عن طريق الدخول سطر الأوامري.

    مراقبة زابيكس

    لتثبيت Zabbix على CentOS 7، تحتاج إلى العثور على أحدث إصدار من العميل على الموقع الرسمي للمطور ثم تثبيته على النظام.

    للقيام بذلك تحتاج:

    • أضف مستودعًا باستخدام الأمر rpm Uvh *رابط إلى ملف rpm باستخدام النسخة الحاليةزابيكس*.
    • قم بتحديث قائمة البرامج المتاحة باستخدام أمر yum update.
    • ثم قم بتثبيت عميل Zabbix على النظام باستخدام الأمر yum install zabbix-agent.
    • بعد ذلك، كل ما تبقى هو التحقق من إصدار العميل (الثالث مطلوب) والإجابة بالإيجاب على جميع الطلبات عن طريق إدخال Y في سطر الأوامر.

    تثبيت خادم بريد Zimbra

    قبل تثبيت Zimbra على CentOS 7، تحتاج إلى إعداد النظام لذلك.

    لذلك، عليك القيام بما يلي:

    • قم بتكوين ملف etc/hosts واسم المضيف بشكل صحيح.
    • السماح بجميع منافذ Zimbra في iptables.
    • قم بإيقاف تشغيل SeLinux.
    • تعطيل كافة خدمات MTA.
    • قم بتحديث نظام التشغيل باستخدام الأمر yum update -y.
    • ثم تحتاج إلى تنزيل الحزم المناسبة باستخدام الأمر yum install perl perl-core ntpl nmap sudo libidn gmp.
    • ثم - الأداة المساعدة Zimbra نفسها *رابط إلى الملف الذي يحتوي على الإصدار الحالي من الأداة المساعدة Zimbra*.
    • قم بفك ضغط الملف باستخدام الأمر tar وانتقل إلى الدليل المناسب باستخدام الأمر cd.
    • ثم تحتاج إلى بدء عملية التثبيت باستخدام الأمر ./install.sh —platform-override.


    
    قمة