لإدارة موقعك على خادم محلي ، تحتاج إلى تثبيت العديد من المكونات الإضافية ، والتي تنظم نظامًا واحدًا يعمل بسلاسة وبدون أي أخطاء. يمكن اعتبار أحد المكونات الرئيسية لمثل هذا الهيكل خادم الويب. غالبًا ما يفضل المستخدمون استخدام Apache نظرًا لبساطته ومرونته في التكوين ، فضلاً عن القدرة على توصيل الوحدات الخارجية. ومع ذلك ، فإن التثبيت والتهيئة الأساسية ليست عملية سريعة بل إنها صعبة بالنسبة للبعض ، لذلك نود التحدث عن هذا بمزيد من التفصيل ، مع أخذ توزيع CentOS 7 كمثال.
قم بتثبيت Apache على CentOS 7
سيتم تقسيم بنية مقالة اليوم إلى مراحل بحيث يفهم حتى أكثر المستخدمين المبتدئين كيفية إجراء تثبيت وإعداد خادم الويب المعني بالضبط. دعنا نوضح على الفور أننا لا نقدم أدلة للتكوين التفصيلي لـ Apache ، حيث يعتمد ذلك على التفضيلات الشخصية للمستخدم والمكونات المهمة المتبقية. للحصول على هذه المعلومات ، نوصي دائمًا بالرجوع إلى الوثائق الرسمية.
الخطوة الأولى: الإعداد والتركيب
لنبدأ على الفور بتثبيت مكونات Apache وإضافة جميع خدمات الدعم. نقترح استخدام مستودع التوزيع لهذا الغرض ، حيث يتم دائمًا تحميل أحدث إصدار ثابت من البرنامج هناك ، ولا تستغرق عملية التثبيت نفسها الكثير من الوقت.
- يركض "طرفية"، على سبيل المثال ، من خلال الرمز الموجود في القسم المفضلة.
- إذا سبق لك تثبيت Apache على جهاز الكمبيوتر الخاص بك أو قمت بإزالة أحد مكوناته عن طريق الخطأ ، فما عليك سوى استخدام الأمر
sudo yum تحديث httpd
بتنشيطه بالضغط على المفتاح أدخل. - يتم تنفيذ هذا الإجراء نيابة عن المستخدم المتميز ، مما يعني أنه سيتعين عليك تأكيده من خلال تحديد كلمة المرور لهذا الحساب.
- إذا تم تثبيت التحديثات ، فسيتم إخطارك بذلك ، وإذا كانت الحزمة مفقودة ، فستظهر رسالة أخرى من الطبيعة المقابلة.
- الآن دعنا نتحدث عن تثبيت Apache من البداية. كما قلنا بالفعل ، سنستخدم المستودعات الرسمية لهذا ، لذلك ، تحتاج إلى إدخال الأمر
sudo yum تثبيت httpd
. - عندما يظهر إشعار حول تثبيت الحزمة ، قم بتأكيده باختيار الخيار ذ.
- انتظر حتى يكتمل التثبيت ، وأثناء ذلك لا تغلق جلسة المحطة الحالية ، حتى لا تقاطع العملية.
- عند الانتهاء ، يوصى على الفور ببدء تشغيل خادم الويب ، والذي يمكن القيام به عبر
sudo systemctl ابدأ httpd
. - تحقق من الوضع الحالي عبر
sudo systemctl status httpd
. - تنبيه "نشط: نشط (قيد التشغيل)" يعني أن Apache يعمل الآن بشكل صحيح ويمكنك المتابعة إلى تكوينه الإضافي.
كان هذا كل ما يجب معرفته حول إجراء إعداد خادم الويب الأساسي. كما ترون ، لا يوجد شيء معقد في ذلك. بعد ذلك ، نريد التحدث عن التفاعل مع الخدمات الرئيسية وإعداد التكوين الأساسي ، ويبقى لك أن تقرر ما إذا كان يجب عليك دراسة هذه التعليمات أو لديك بالفعل معرفة بالتكوين والإدارة.
الخطوة الثانية: إدارة خدمة Apache
يعمل خادم الويب على CentOS ، مثل التوزيعات الأخرى ، في الخلفية كخدمة. بشكل افتراضي ، يتم إضافته لبدء التشغيل ، وقد تحدثنا بالفعل عن التنشيط والتحقق من الحالة مسبقًا. إذا كنت ترغب في إدارة هذه الأداة ، يتم ذلك على النحو التالي:
- أدخل
sudo systemctl توقف httpd
لوقف اباتشي تماما. - سيتم تنفيذ هذا وجميع الأوامر اللاحقة نيابة عن المستخدم المتميز ، لذلك ستحتاج إلى تأكيده عن طريق إدخال كلمة المرور المناسبة.
- تتم إعادة التشغيل من خلال الأمر
sudo systemctl إعادة تشغيل httpd
... هذا الأمر مناسب في تلك المواقف عندما يتعطل الخادم أو يحتاج إلى إعادة التشغيل بسبب خصائص التفاعل مع المكونات الأخرى. - استعمال
sudo systemctl إعادة تحميل httpd
إذا كنت تريد تفعيل جميع التغييرات التي تم إجراؤها بعد التكوين دون قطع أي من الاتصالات. - أمر
sudo systemctl تعطيل httpd
يزيل Apache من بدء التشغيل ، وsudo systemctl تمكين httpd
إرجاع الحالة القياسية. بالإضافة إلى ذلك ، عند تمكين هذا الخيار ، سيتم إخطارك بإنشاء ارتباط رمزي جديد مسؤول عن هذا الخيار.
كما ترى ، تتحكم معظم الأوامر القياسية في حالة الخدمة. لن يكون من الصعب تذكرها إذا كنت مضطرًا غالبًا إلى اللجوء إلى مثل هذه الإجراءات أثناء إدارة شبكة أو موقع منفصل أو أي تطبيقات.
الخطوة 3: التكوين الأساسي
يتضمن التكوين الأساسي إعداد مضيف ظاهري ، وهو مفيد لعزل الإعدادات واستضافة مجالات مختلفة على نفس الخادم. يكفي مضيف افتراضي واحد إذا كنت تتعامل مع موقع واحد فقط ، ولكن عند تسجيل مجالات أخرى ، سيكون عليك اللجوء إلى إنشاء معلمات إضافية. الآن سنأخذ مضيفًا افتراضيًا قياسيًا كمثال ، وسوف تقوم بتغيير عنوانه إذا لزم الأمر.
- لنبدأ بإنشاء دليل حيث سيتم تخزين جميع ملفات الطفل الخاصة بالمضيف الظاهري. يتم ذلك من خلال الأمر
sudo mkdir -p /var/www/example.com/html
. - مطلوب أيضًا مجلد إضافي ، حيث سيتم حفظ سجلات الأحداث تلقائيًا. لإضافته ، أدخل
sudo mkdir -p /var/www/example.com/log
. - قم بتعيين الأذونات الافتراضية على الدليل عبر
sudo chown -R $ USER: $ USER /var/www/example.com/html
. - بالإضافة إلى تعيين وامتيازات لكل مستخدم عن طريق الإدراج
sudo chmod -R 755 / var / www
. - لنبدأ في إنشاء صفحة رئيسية نموذجية سيتم عرضها عند التحقق من صحة المضيف. قم بإنشاء ملف نصي جديد من خلال محرر مناسب ، على سبيل المثال ، باستخدام nano ، يجب عليك إدخال
sudo nano /var/www/example.com/html/index.html
. - عند فتح محرر نصوص ، سيتم إخطارك بأن هذا ملف جديد. لا تقلق ، هكذا ينبغي أن يكون. نقوم بإنشائه عن قصد من خلال ضبط التكوين المناسب.
- الصق الرمز أدناه هناك ، واستبدل التحية القياسية بأي نص. إذا كنت ترغب في ذلك ، يمكنك إعادة تصميم الهيكل بالكامل عن طريق إنشاء صفحة تناسبك.
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html></code>
- احفظ التغييرات بالضغط على السيطرة + Oثم اترك محرر النصوص عبر السيطرة + X.
- كانت هذه مجرد إعدادات أولية. الآن دعنا ننتقل إلى المضيف الظاهري نفسه: تحتاج أولاً إلى تحديد المجلدات لتخزينها. للقيام بذلك ، أدخل
sudo mkdir / etc / httpd / sites-available / etc / httpd / sites-enabled
. - بعد ذلك ، أخبر خادم الويب أنه يحتاج إلى الاتصال بالمكونات الأخرى الآن. يتم تنفيذ هذه المهمة عن طريق تحرير ملف التكوين الرئيسي. قم بتشغيله من خلال محرر نصوص بتحديد
sudo nano /etc/httpd/conf/httpd.conf
. - انتقل إلى أسفل القائمة وأدخل السطر
IncludeOptional مواقع تمكين / *. Conf
. - تذكر حفظ جميع التغييرات قبل الخروج من محرر النصوص.
- لإنشاء المضيف الظاهري نفسه ، تحتاج إلى ملف تكوين آخر. قم بإنشائه عبر
sudo nano /etc/httpd/sites-available/example.com.conf
. - الصق المحتوى التالي هناك ، واستبدل الأسطر المطلوبة بأسطرك.
اسم الخادم www.example.com
ServerAlias example.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/requests.log مجتمعة
- يبقى فقط تنشيط الملف عن طريق إنشاء ارتباط رمزي عبر
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf
.
الخطوة 4: تكوين التحكم في الوصول
إذا كنا نتحدث عن تكوين المعلمات العامة ، فمن الضروري توفير التحكم في الوصول ، وتحديد عدد من المستخدمين الذين سيكونون قادرين على إجراء تغييرات على الأدلة التي تم النظر فيها مسبقًا. يتم تنفيذ هذا الإجراء باستخدام أداة SELinux القياسية المسؤولة عن إدارة مستويات الوصول.
- اضبط إعداد الأمان العالمي عبر
sudo setsebool -P httpd_unified 1
... سيضمن أن يتم التعامل مع جميع أنواع العمليات على أنها واحدة. - بعد ذلك ، يوصى بالتحقق من خيارات SELinux الحالية التي تم توفيرها تلقائيًا. للقيام بذلك ، اكتب
sudo ls -dZ /var/www/example.com/log/
. - نتيجة لذلك ، سترى المحتوى drwxr-xr-x. جذر الجذر unconfined_u: object_r: httpd_sys_content_t: s0 /var/www/example.com/log/... هذا يعني أن Apache الآن يمكنه قراءة تلك الملفات التي تم إنشاؤها في المجلد المثبت فقط ، على التوالي ، سيتعين عليك تغيير التكوين.
- يتم تنفيذ هذه المهمة من خلال
sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)؟"
. - احفظ التغييرات واجعلها سارية المفعول بعد إعادة تشغيل الخادم عن طريق الدخول
sudo restorecon -R -v /var/www/example.com/log
. - تحقق الآن من التغييرات مرة أخرى عبر
sudo ls -dZ /var/www/example.com/log/
. - كما ترى ، الناتج الناتج هو من النموذج drwxr-xr-x. جذر الجذر unconfined_u: object_r: httpd_log_t: s0 /var/www/example.com/logلذلك كل شيء صحيح.
- يبقى فقط لاختبار كل التغييرات. للقيام بذلك ، أدخل
sudo systemctl إعادة تشغيل httpd
وانقر فوق أدخل. - قم بتأكيد الإجراء باستخدام كلمة مرور المستخدم المتميز.
- قم بإنشاء طلب كتالوج مرة أخرى عن طريق الكتابة
ls -lZ /var/www/example.com/log
... إذا كان المحتوى الذي يظهر بالتنسيق-rw-r - r--. 1 خطأ جذر .log -rw-r - r--. 1 جذر 0 طلبات
، فهذا يعني أن جميع الإعدادات السابقة تم إجراؤها بشكل صحيح.
كنت معتادًا على إجراء التثبيت والتكوين العام لخادم الويب Apache على CentOS 7. كما ترى ، لن يستغرق التثبيت نفسه الكثير من الوقت ، وكل الصعوبات تتعلق فقط بالتكوين. إذا لم يكن الدليل المقدم حول تغيير المعلمات وإدارة Apache كافيًا لك ، فننصحك بدراسة الوثائق الرسمية باستخدام الرابط أدناه.