كيفية تكوين MariaDB SSL وإنشاء اتصالات آمنة من عملاء مختلفين. تثبيت MariaDB على دبيان تثبيت mariadb

مرحبًا!

أنا أؤيد قرارك بالكامل! لقد قمت بترحيل خوادمي إلى MariaDB من MySQL منذ 3 سنوات ولم تكن بطريقة جيدة. أصبحت إصدارات MySQL أسوأ فأسوأ بعد أن اشترتها Oracle. كان للأعطال والأخطاء المستمرة في الجداول تأثير سلبي على توفر المواقع، لذلك تم اتخاذ القرار بالتبديل إلى MariaDB.

والنتيجة مبررة تمامًا، حيث أن MariaDB مستقر للغاية ومُحسّن بشكل جيد. إن مدة التشغيل لمدة ثلاث سنوات دون انقطاع على عدة خوادم تثبت ذلك تمامًا.

تحديد إصدار MariaDB

  • هل يجب أن يكون /var/run/php5-fpm.sock موجودًا بالفعل على الخادم؟ في أوبونتو 16.04 لم أجد مثل هذا الملف في /var/run
  • هناك فرعين لـ MariaDB - 5.x و10.x.

    5.x هي إصدارات قريبة قدر الإمكان من أحدث إصدارات MySQL، وهي متوافقة تمامًا مع MySQL. إذا كنت تنتقل للتو إلى MariaDB من MySQL، فإن هذا الخط من الإصدارات يناسبك.

    10.x - خط جديدالإصدارات التي بدأت بعد الإصدار 5.5. لا تقوم هذه الإصدارات بنسخ كافة الميزات الجديدة لأحدث إصدارات MySQL بشكل كامل، ولكنها تحتوي على ميزات فريدة خاصة بها. لا تزال متوافقة مع MySQL، ولكن إذا كنت قد بدأت للتو في استخدام MariaDB، فمن الأفضل أن تبدأ بالإصدار 5.5.

    تثبيت MariaDB على خادم Linux

    عادةً لا يتم تضمين توزيعات MariaDB في مستودعات توزيعات Linux الرئيسية (على سبيل المثال، CentOS 6 وCentOS 7). ولكن، حتى لو كان هناك، فمن الأفضل تثبيت مستودع MariaDB الأصلي على النظام حتى يكون لديك دائمًا الإصدارات الحالية. لتثبيت مستودع yum، اتبع التعليمات:

    1. إنشاء ملف جديدالمستودع باستخدام الأمر:

    السادس /etc/yum.repos.d/MariaDB.repo

    اضغط على المفتاح i للدخول إلى وضع التحرير للمحرر vi.

    2. احصل على الملف النصي لإصدار توزيع Linux الخاص بك من هذا الرابط. ستحتاج إلى تحديد اسم التوزيع وإصداره ومستوى البت الخاص به:

    انسخ النص الخاص بملف المستودع، والصقه في ملفك، ثم اضغط على ":wq" للخروج من محرر vi وحفظه.

    يمكنك الآن تثبيت برامج MariaDB Server والبيئة باستخدام yum:

    يم تثبيت خادم MariaDB عميل MariaDB

    يمكن تثبيت مكتبات لغات البرمجة المختلفة لـ MySQL وهي متوافقة تمامًا. على سبيل المثال، بالنسبة لـ PHP:

    أنت الآن بحاجة إلى بدء تشغيل خادم MariaDB المثبت والمتابعة لتكوينه:

    إذا فعلت كل شيء بشكل صحيح، فستظهر لك هذه الرسالة:

    إعداد ماريا دي بي

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

    الإعداد الأولي لكلمة مرور جذر MySQL:

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

    /usr/bin/mysql_secure_installation

    اتبع التعليمات وقم بتعيين كلمة مرور الجذر.

    إذا كان لديك أي أسئلة أو كنت بحاجة إلى توضيح، يرجى طرح سؤال أو ترك تعليق.

    يسعدني دائمًا تقديم المساعدة!

    أعتقد أن الجميع يعلم أن MariaDB هو فرع من MySQL. تم تطوير ودعم MariaDB بواسطة شركة MariaDB Corporation Ab ومؤسسة MariaDB. المطور الرئيسي لـ MariaDB هو مايكل وايدينيوس المعروف، مؤلف النسخة الأصلية من MySQL.

    الإصدار الحالي هو الذي تم إصداره في 13 فبراير، 2018. في الإصدار الجديد من MariaDB، تم تحديث متجر InnoDB لإصدار 5.7.21، وتم إصلاح أكثر من 100 خطأ، بما في ذلك تلك التي يمكن استخدامها لبدء رفض الخدمة عن بعد.

    لنحاول تثبيت الإصدار الجديد على نظام Debian 9.3 (Stretch) النظيف.

    لن أخفي حقيقة أنني أحب MariaDB حقًا وأنني تخليت منذ فترة طويلة عن استخدام Oracle MySQL لصالح MariaDB أو Percona Server لـ MySQL، ولست نادمًا على ذلك أبدًا. يتم استخدام MariaDB كبديل لـ Oracle MySQL في العديد من توزيعات Linux. يتم استخدام MariaDB أيضًا كقاعدة بيانات على عدد كبير من المواقع الكبيرة، وفي الواقع، مدونتي ليست استثناءً - أستخدم MariaDB 10.2 كقاعدة بيانات.

    البيانات الأولية:نظام التشغيل ديبيان 9.3 (ممتد)؛
    مهمة:قم بتثبيت MariaDB 10.2.13 بأقل جهد وقم بإجراء الإعداد الأساسي لقاعدة البيانات؛

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

    تثبيت MariaDB 10.2.13 على دبيان 9:

    1. تركيب المعدات الإضافية اللازمة. الحزم:

    Apt-get update apt-get install dirmngr wget -y

    2. والآن السحر البسيط الذي لم يُكتب عنه في أي مكان - تنزيل وتشغيل البرنامج النصي لتثبيت المستودع:

    Wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup && chmod a+x mariadb_repo_setup ./mariadb_repo_setup --mariadb-server-version=10.2

    للحصول على معلومات:
    سيقوم هذا البرنامج النصي بتحليل نظامك وتثبيت مفاتيح GPG وإضافة المستودع إلى الملف /etc/apt/sources.list.d/mariadb.list
    النص رسمي ويدعم التوزيعات: RHEL/CentOS 6 & 7 وUbuntu 16.04 LTS (xenial) و18.04 (bionic) وDebian 8 (jessie) و9 (stretch) وSLES 12 و15
    يدعم البرنامج النصي أيضًا تثبيت المستودعات لإصدارات مختلفة من أدوات MariaDB وMaxScale وMariaDB، ويمكنك تنزيله والاطلاع على جميع خيارات التشغيل:

    ./mariadb_repo_setup --help

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

    3. تحديث قائمة الحزم:

    شقة-الحصول على التحديث

    4. التثبيت احدث اصدارماريا دي بي 10.2.x:

    Apt-get install mariadb-server -y

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

    بعد التثبيت، تحقق من حالة MariaDB:

    # حالة systemctl mariadb ● mariadb.service - خادم قاعدة بيانات MariaDB 10.2.13 تم تحميله: تم تحميله (/lib/systemd/system/mariadb.service; ممكّن؛ الإعداد المسبق للبائع: ممكّن) الإدخال المنسدلة: /etc/systemd/system/mariadb. Service.d └─migrated-from-my.cnf-settings.conf نشط: نشط (قيد التشغيل) منذ الخميس 2018-02-15 12:14:17 +05؛ منذ 19 ثانية المستندات: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ PID الرئيسي: 7270 (mysqld) الحالة: "جارٍ تلقي طلبات SQL الخاصة بك الآن..." CGroup: /system. شريحة/mariadb.service └─7270 /usr/sbin/mysqld # netstat -ltupn | grep mysql tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 7270/mysqld # ps -ef | grep [m]ysql mysql 7270 1 0 12:14 ؟ 00:00:00 /usr/sbin/mysqld

    سنحاول أيضًا الاتصال بقاعدة البيانات باستخدام الأمر mysql (نظرًا لأننا تركنا كلمة مرور الجذر فارغة في مرحلة التثبيت، فلن نستخدم خيارات -u root -p):

    # mysql مرحبًا بك في شاشة MariaDB. الأوامر تنتهي بـ ; أو\ز. معرف اتصال MariaDB الخاص بك هو 10 إصدار الخادم: 10.2.13-MariaDB-10.2.13+maria~stretch-log mariadb.org التوزيع الثنائي حقوق الطبع والنشر (c) 2000، 2018، Oracle، MariaDB Corporation Ab وغيرها. اكتب "مساعدة؛" أو "\h" للمساعدة. اكتب "\c" لمسح بيان الإدخال الحالي. MariaDB [(لا شيء)]>

    لقد نجحنا في الاتصال بخادم MariaDB.

    5. الآن لنبدأ تشغيل معالج تكوين الأمان:

    Mysql_secure_installation

    للسؤال:
    أدخل كلمة المرور الحالية للجذر (أدخل بلا):
    اضغط على Enter، كلمة مرور الجذر الحالية فارغة.

    والسؤال الأخير:
    هل تريد إعادة تحميل جداول الامتيازات الآن؟
    أدخل Y، نعم نريد إعادة تحميل جدول الامتيازات حتى تصبح نافذة المفعول.

    بعد ذلك، قمنا بتنفيذ الحد الأدنى من الإجراءات الأمنية على مثيل MariaDB الخاص بنا.

    لنحاول الآن الاتصال بقاعدة البيانات:

    # خطأ mysql 1045 (28000): تم رفض الوصول للمستخدم "الجذر"@"المضيف المحلي" (باستخدام كلمة المرور: NO)

    كما نرى، مع كلمة مرور جذر فارغة لم يعد مسموحًا لنا بالدخول.

    دعونا نتواصل من خلال تحديد خيارات إضافية وإدخال كلمة المرور:

    # mysql -u root -p أدخل كلمة المرور: مرحبًا بك في شاشة MariaDB. الأوامر تنتهي بـ ; أو\ز. معرف اتصال MariaDB الخاص بك هو 20 إصدار الخادم: 10.2.13-MariaDB-10.2.13+maria~stretch-log mariadb.org التوزيع الثنائي حقوق الطبع والنشر (c) 2000، 2018، Oracle، MariaDB Corporation Ab وغيرها. اكتب "مساعدة؛" أو "\h" للمساعدة. اكتب "\c" لمسح بيان الإدخال الحالي. MariaDB [(لا شيء)]>

    عظيم، كل شيء على ما يرام.

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

    سننظر في هذه المقالة في كيفية تثبيت وتكوين Linux وApache وMariaDB وPHP على Centos7 / RHEL 7. هناك العديد من التغييرات في الإصدار الجديد من Centos7 / RHEL 7.

    ما هو المصباح؟

    مصباح - عدة برمجةعلى نظام تشغيل يتكون من نظام تشغيل أنظمة لينكسوخادم الويب Apache وخادم قاعدة بيانات MySQL واللغة برمجة PHP(أو بيرل/بيثون). يتم استخدام LAMP لتشغيل مواقع الويب الديناميكية الثقيلة التي تتكون بالكامل من برامج مجانية مفتوحة المصدر مصدر الرمز. سأشرح في هذه المقالة كيفية تثبيت Linux وApache وMySQL/MariaDB (بديل لـ MySQL) وPHP (LAMP) على CentOS 7 أو RHEL 7.

    • قم بتثبيت خادم RHEL 7 أو CentOS 7. افتح محطة طرفية للخادم عبر SSH، ويجب أن يكون لديك حقوق المستخدم الجذر الجذر.
    • ستحتاج أيضًا إلى معرفة أوامر yum
    • ستحتاج إلى عنوان IP الخاص بخادمك، استخدم الأمر التالي لتحديد عنوان IP لواجهة eth0
    ifconfig eth0 أو ip عرض eth0 أو قائمة عنوان IP eth0 | awk "/inet /(sub(/\/+/"،$2); print $2)" أو ifconfig eth0 | awk "/inet /(طباعة $2)" 10.180.10.10
    • سوف نستخدم عنوان IP الناتج 10.180.10.10 لاختبار التثبيت

    اذا هيا بنا نبدأ

    تثبيت Apache على خادم CentOS 7 /RHEL 7

    لتثبيت خادم الويب نستخدم الأمر

    يم تثبيت httpd

    تمكين خدمة HTTPd عند بدء التشغيل

    systemctl تمكين httpd.service ln -s "/usr/lib/systemd/system/httpd.service" "/etc/systemd/system/multi-user.target.wants/httpd.service"

    لتعطيل التنزيلات التلقائية

    Systemctl تعطيل httpd.service rm "/etc/systemd/system/multi-user.target.wants/httpd.service"

    ابدأ تشغيل خدمة HTTPd على CentOS 7/RHEL 7

    يبدأ Systemctl httpd.service

    في هذه المرحلة، يمكنك توجيه متصفح الويب الخاص بك إلى عنوان IP الخاص بخادمك، http://10.180.10.10. سوف ترى الصفحة الرئيسيةأباتشي:

    إيقاف خدمة HTTPd على CentOS 7 / RHEL 7

    توقف systemctl عن httpd.service

    إعادة تشغيل خدمة HTTPd على CentOS 7 / RHEL 7

    عرض حالة خدمة Apache على CentOS 7/RHEL 7

    تأكد من تشغيل خادم الويب

    حالة Systemctl httpd.service

    كما يمكن إعادة تشغيل خادم الويب باستخدام الأمر التالي

    أباتشيتل رشيقة

    التحقق من Apache/httpd بحثًا عن أخطاء التكوين على Centos 7/RHEL 7

    أباتشيكتل التكوين

    التكوين الافتراضي لخادم HTTPD:

    1. ملف التكوين الافتراضي: /etc/httpd/conf/httpd.conf
    2. ملفات التكوين للوحدات القابلة للتحميل: /etc/httpd/conf.modules.d/ (على سبيل المثال، PHP)
    3. حدد MPMs كوحدات نمطية وأحداث قابلة للتحميل: /etc/httpd/conf.modules.d/00-mpm.conf
    4. المنافذ القياسية: 80 و443 (SSL)
    5. ملفات السجل الافتراضية: /var/log/httpd/(access_log,error_log)

    تثبيت MariaDB على خادم CentOS 7/RHEL

    MariaDB هو بديل محدث لخادم MySQL. في RHEL/CentOS 7، يتم استخدام نظام إدارة قاعدة بيانات MariaDB بدلاً من MySQL. أدخل الأمر yum التالي لتثبيت خادم MariaDB:

    يم تثبيت خادم mariadb mariadb

    لبدء MariaDB، استخدم الأمر:

    Systemctl بدء تشغيل mariadb.service

    للتأكد من أن خدمة MariaDB تبدأ تلقائيًا أثناء التمهيد، أدخل:

    Systemctl تمكين mariadb.service

    إخراج الأمر

    Ln -s "/usr/lib/systemd/system/mariadb.service" "/etc/systemd/system/multi-user.target.wants/mariadb.service"

    لإيقاف/إعادة تشغيل وتعطيل MariaDB استخدم الأوامر التالية:

    Sudo systemctl stop mariadb.service #-- إيقاف خادم mariadb sudo systemctl Restart mariadb.service #-- إعادة تشغيل خادم mariadb Sudo systemctl تعطيل mariadb.service #-- تعطيل التحميل التلقائي لخادم mariadb sudo systemctl نشط mariadb.service #-- التحقق من التشغيل هل هناك خادم؟

    الإطلاق الأول لبرنامج MariaDB

    أدخل الأمر التالي:

    /usr/bin/mysql_secure_installation

    من خلال الإجابة على الأسئلة سوف تكون قادرا على تكوين الأمان الأولي لقاعدة البيانات

    التحقق من تثبيت MariaDB الخاص بك

    أدخل الأمر التالي

    Mysql -u الجذر -p

    مثال الإخراج:

    تثبيت PHP على CentOS 7 / RHEL 7

    لتثبيت PHP ووحدات مثل GD/mysql، أدخل الأمر التالي

    يم تثبيت php php-mysql php-gd php-pear

    تحتاج إلى إعادة تشغيل خادم HTTPD (Apache)، أدخل:

    إعادة تشغيل Systemctl httpd.service

    للبحث عن جميع وحدات PHP الأخرى:

    يم البحث PHP-

    للحصول على المزيد معلومات مفصلةحول الوحدة:

    معلومات يم php-pgsql

    التحقق من PHP على الخادم

    قم بإنشاء ملف يسمى /var/www/html/test.php مثل هذا:

    السادس /var/www/html/test.php

    أضف الكود التالي:

    تم تثبيت خادم LAMP، إذا كانت لديك مشاكل في إعداد الخادم، فإننا نقوم بعمل لمرة واحدة على تثبيت وتكوين خادم الويب LAMP.

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

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

    خادم الويب على CentOS 7

    لذلك، سيتألف خادم الويب Centos الخاص بنا من ثلاثة مكونات رئيسية - خادم http أباتشي، مترجم لغة البرمجة بي أتش بيوخوادم قواعد البيانات mysql. دعونا نتعرف قليلا على كل منهم:

    1. أباتشي- خادم http أو ببساطة خادم الويب Apache. إنه برنامج متعدد المنصات يدعم جميع البرامج الشائعة تقريبًا نظام التشغيل، بما في ذلك ويندوز. يتم تقديره في المقام الأول لموثوقيته ومرونته في التكوين، والتي يمكن توسيعها بشكل كبير بفضل الوحدات الإضافية، والتي يوجد عدد كبير منها. ومن بين العيوب أنهم يلاحظون زيادة الطلب على الموارد مقارنة بالخوادم الأخرى. لن يتمكن Apache من دعم نفس التحميل مثل nginx بمعلمات الأجهزة المماثلة، على سبيل المثال.
    2. بي أتش بيهي لغة برمجة ذات أغراض عامة تُستخدم غالبًا في تطوير الويب. اليوم هي اللغة الأكثر شعبية في مجال التطبيق هذا. مدعوم من قبل جميع مقدمي خدمات الاستضافة تقريبًا.
    3. mysql- نظام إدارة قواعد البيانات. وقد اكتسب شعبية بين التطبيقات الصغيرة والمتوسطة الحجم، والتي يوجد الكثير منها على شبكة الإنترنت. لذا، مثل PHP، فهي اليوم قاعدة البيانات الأكثر شيوعًا المستخدمة على مواقع الويب. مدعومة من قبل معظم مقدمي خدمات الاستضافة. على CentOS يتم تثبيته بدلاً من mysql mariadb- شوكة الخلية. وهي متوافقة تمامًا، ويمكنك التبديل من قاعدة بيانات إلى أخرى والعودة إليها في أي وقت. لقد عثرت مؤخرًا على معلومات تفيد بأن mariadb يعمل بشكل أسرع من mysql وأن الأشخاص ينتقلون إليه ببطء. في الممارسة العملية، لم تتاح لي الفرصة لمراقبة ذلك، لأنني لم أعمل أبدا مع قواعد البيانات المحملة. لكن في الظروف العادية لا يكون الفرق ملحوظا.

    سيكون الخادم التجريبي، والخصائص هي كما يلي:

    وحدة المعالجة المركزية2 النوى
    ذاكرة8 جيجابايت
    القرص150 جيجا اس اس دي

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

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

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

    إعداد أباتشي على CentOS 7

    في CentOS، يتم استدعاء خدمة Apache httpd. عندما تعرفت على هذا التوزيع لأول مرة، كان الأمر غير عادي بالنسبة لي. في Freebsd وDebian، اللذين عملت معهما سابقًا، كانت خدمة خادم الويب تسمى apache، على الرغم من أنني لاحظت في مكان ما، على ما يبدو في البرنامج، أن ملف التكوين يسمى httpd.conf. وإلى يومنا هذا لا أعرف سبب انتشار هذين الاسمين. سأكون سعيدًا إذا شاركني شخص ما معلومات حول هذا الأمر في التعليقات.

    الآن دعونا نبدأ تثبيت أباتشي. في CentOS 7 يتم ذلك بكل بساطة:

    # يم تثبيت -y httpd

    إضافة أباتشي لبدء التشغيل:

    # تمكين Systemctl httpd

    قم بتشغيل Apache على CentOS 7:

    # بدء تشغيل Systemctl httpd

    تحقق مما إذا كان الخادم قد بدأ:

    # نتستت -tulnp | grep httpd tcp6 0 0:::80:::* الاستماع 21586/httpd

    كل شيء على ما يرام، وعلق على المنفذ 80، كما هو متوقع. يمكنك الآن الانتقال إلى http://ip-address ومشاهدة الصورة:

    الآن دعونا نقوم بإعداد أباتشي. أفضّل هيكل استضافة الويب التالي:

    لنقم بإنشاء هيكل مثل هذا:

    # mkdir /web && mkdir /web/site1.ru && mkdir /web/site1.ru/www && mkdir /web/site1.ru/logs # chown -R apache. /web

    تضمينOptionalconf.d/*.conf

    إذا لم يكن الأمر كذلك، قم بإلغاء التعليق عليه وانتقل إلى الدليل /etc/httpd/conf.d. لنقم بإنشاء ملف site1.ru.conf هناك:

    اسم الخادم site1.ru ServerAlias ​​​​www.site1.ru DocumentRoot /web/site1.ru/www الخيارات FollowSymLinksallowOverride All تتطلب كل ما تم منحه ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log مشترك

    إعادة تشغيل أباتشي على سنتوس

    الآن نقوم بإعادة تشغيل الأباتشي:

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

    في حالة حدوث أي أخطاء، راجع سجل Apache /var/log/httpd/error_log. إذا كان كل شيء على ما يرام، فسنتحقق مما إذا كان مضيفنا الافتراضي قد تم تكوينه بشكل طبيعي. للقيام بذلك، قم بإنشاء في المجلد /web/site1.ru/www ملف Index.htmlالمحتوى التالي:

    # mcedit /web/site1.ru/www/index.html

    تم تعيين أباتشي!

    # تشاون أباتشي. /web/site1.ru/www/index.html

    192.168.1.25 موقع 1.ru

    حيث 192.168.1.25 هو عنوان IP لخادم الويب الخاص بنا.

    الآن في المتصفح نكتب العنوان http://site1.ru. إذا رأينا الصورة:

    فهذا يعني أنه تم تكوين كل شيء بشكل صحيح. إذا كان هناك أي أخطاء، انتقل إلى السجلات. علاوة على ذلك، في هذه الحالة، ليس سجل httpd العام، ولكن سجل الأخطاء لمضيف افتراضي محدد على /web/site1.ru/logs/error.log.

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

    لتكوين تدوير سجل المضيف الظاهري، تحتاج إلى تحرير الملف /etc/logrotate.d/httpd. يتم إنشاؤه أثناء تثبيت Apache ويتضمن ضبط دوران موقع السجل الافتراضي. وبما أننا قمنا بنقل سجلات كل مضيف افتراضي إلى مجلد فردي، فنحن بحاجة إلى إضافة هذه المجلدات إلى هذا الملف:

    # mcedit /etc/logrotate.d/httpd /web/*/logs/*.log/var/log/httpd/*log (إشعار مفقود، نصوص مشتركة فارغة، تأخير ضغط التدوير اللاحق /bin/systemctl إعادة تحميل httpd.service > /dev/null 2>/dev/null || نهاية حقيقية )

    من حيث المبدأ، أبسط خادم ويب جاهز بالفعل ويمكن استخدامه. ولكن من غير المرجح أن تكون هناك الآن مواقع ذات محتوى ثابت لا يكفي لها سوى دعم HTML. لذلك دعونا نواصل الإعداد لدينا.

    إذا كنت بحاجة إلى تنظيم تشغيل الموقع وفقًا للبروتوكول https، ثم استخدم دليل .

    تثبيت PHP على CentOS 7

    لدعم محتوى موقع الويب الديناميكي، فلنأخذ الخطوة التالية. دعونا تثبيت بي أتش بيعلى سينت أو إس 7:

    # يم تثبيت -y php

    ثم بعض المكونات المفيدة. لنقم بتثبيت الشعبية وحدات لـ php:

    # يم تثبيت -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

    لنعد تشغيل الأباتشي:

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

    لنقم بإنشاء ملف في دليل المضيف الظاهري والتحقق منه وظيفة PHP:

    # mcedit /web/site1.ru/www/index.php# تشاون أباتشي. /web/site1.ru/www/index.php

    انتقل إلى http://site1.ru/index.php

    يجب أن تشاهد إخراج معلومات php. إذا كان هناك خطأ ما، فقد نشأت بعض الأخطاء، فانظر إلى سجل أخطاء المضيف الظاهري، وستكون هناك أخطاء PHP أيضًا.

    أين هو php.ini؟

    بعد التثبيت، غالبا ما يطرح السؤال: أين يتم تخزينها؟ إعدادات PHP؟ تقليديا، فهي موجودة في ملف إعدادات واحد. على سينت أو إس php.ini موجود في /etc، مباشرة في الجذر. هناك يمكنك تعديل الإعدادات العامة لجميع المضيفين الظاهريين. يمكن إجراء الإعدادات الشخصية لكل موقع بشكل منفصل في ملف تكوين المضيف الظاهري الذي قمنا بإعداده مسبقًا. دعونا نضيف القليل هناك إعدادات مفيدة:

    # mcedit /etc/httpd/conf.d/site1.ru.conf

    أضف في النهاية، قبل

    Php_admin_value date.timezone "أوروبا/موسكو" php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 30M

    لتطبيق الإعدادات تحتاج إلى إعادة تشغيل Apache. يمكنك الآن رؤية التغييرات في الإعدادات في مخرجات phpinfo.

    الترقية إلى php 5.6 على CentOS 7

    في مثالنا قمنا بتثبيته على CentOS 7 فب 5.4من المستودع القياسي. ماذا لو كنا بحاجة إلى المزيد نسخة جديدة، على سبيل المثال فب 5.6؟ في هذه الحالة، تحتاج إلى تحديث ملف php.

    # wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # rpm -Uvh remi-release-7*.rpm

    الآن تحديث PHP 5.4 إلى PHP 5.6:

    # yum --enablerepo=remi,remi-php56 تثبيت php php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

    إعادة تشغيل أباتشي:

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

    ودعنا نلقي نظرة على مخرجات phpinfo - http://site1.ru/index.php

    رائع، لقد قمنا بتحديث PHP إلى الإصدار 5.6.

    تثبيت MySQL على CentOS 7

    كما كتبت سابقًا، أصبحت شوكة mysql الآن منتشرة بشكل متزايد - mariadb. إنه متوافق تمامًا مع MySQL، لذا يمكنك استخدامه بثقة. أفضل استخدامه.

    تثبيت ماريادبعلى سينت أو إس 7:

    # yum install -y mariadb mariadb-server

    أضف mariadb لبدء التشغيل التلقائي:

    # systemctl تمكين خدمة mariadb

    إطلاق ماريادب:

    # بدء تشغيل systemctl mariadb

    نتحقق مما إذا كان قد بدأ أم لا:

    # نتستت -tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* الاستماع 22276/mysqld

    يرجى ملاحظة أنه يتم عرضه في النظام كخدمة mysqld. نقوم الآن بتشغيل البرنامج النصي لتكوين الأمان القياسي:

    # /usr/bin/mysql_secure_installation

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

    ملف إعدادات MySQL/mariadb موجود /etc/my.cnf. للعمل العادي، الإعدادات الافتراضية كافية. ولكن إذا قررت تغييرها، فلا تنس إعادة تشغيل خدمة قاعدة البيانات.

    أعد تشغيل ماريادب/mysql على CentOS 7:

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

    هذا كل شئ. تم تكوين الوظيفة الأساسية لخادم الويب على CentOS 7.

    سأكون سعيدًا بتلقي التعليقات حول موضوع المقال. اسمحوا لي أن أذكرك أن هذه المقالة جزء من سلسلة واحدة من المقالات حول الخادم.

    ورشة عمل كالي لينكس

    الدورة مخصصة لأولئك المهتمين بإجراء اختبارات الاختراق ويريدون تجربة أنفسهم عمليًا في مواقف قريبة من المواقف الحقيقية. الدورة مخصصة لأولئك الذين ليس لديهم خبرة بعد في هذا المجال أمن المعلومات. يستمر التدريب 3 أشهر، 4 ساعات في الأسبوع. ماذا ستقدم لك هذه الدورة:
    • البحث عن الثغرات الأمنية أو عيوب التكوين واستغلالها شبكات الشركات, مواقع الويب , الخوادم . التركيز على اختراق نظام التشغيل Windows وأمن قطاع الشركات.
    • أدوات التعلم مثل metasploit وsqlmap وwireshark وburp suite وغيرها الكثير.
    • إتقان أدوات Kali Linux عمليًا - يجب أن يكون أي متخصص في أمن المعلومات على دراية بها.
    اختبر نفسك في اختبار القبول وراجع البرنامج لمزيد من التفاصيل.

    سأخبرك الآن بكيفية تثبيت MariaDB على دبيان. سأخبرك أيضًا بكيفية استخدامها في موضوعي "تثبيت MariaDB على دبيان"، وسيتم وصف كل هذا بالتفصيل.

    MariaDB هو بديل خفيف الوزن لـ MySQL. MariaDB يشبه MySQL ويهدف إلى أن يكون كذلك أفضل خيارلمحترفي قواعد البيانات الذين يبحثون عن قواعد بيانات موثوقة وقابلة للتطوير خادم قاعدة البيانات. سيساعد هذا الدليل المبتدئين على تثبيت وفهم MariaDB على Debian 7 و6. ولتحقيق هذا الهدف، تعمل مؤسسة MariaDB بشكل وثيق وتعاوني مع مجتمع كبير من المستخدمين والمطورين بالروح الحقيقية للبرمجيات الحرة ومفتوحة المصدر، وتطلق البرمجيات في بطريقة كانت موثوقة للغاية.

    كان الدافع وراء إنشائها هو الحاجة إلى ضمان الحالة الحرة لنظام إدارة قواعد البيانات (بموجب ترخيص GPL)، على عكس سياسة الترخيص الغامضة لـ MySQL من Oracle. المطور الرئيسي هو مايكل ويدينيوس، مؤلف النسخة الأصلية من MySQL ومؤسس برنامج Monty Program AB.

    تخلت MariaDB عن نظام التخزين الفرعي InnoDB واستبدلته بـ XtraDB. يتم أيضًا تضمين الأنظمة الفرعية Aria (en:Aria (محرك التخزين)) وPBXT وFederateX.

    أولاً، لنقم بتحديث نظام التشغيل (بحيث يكون كل شيء جديدًا):

    # الرابطة بين الحصول على التحديث # الرابطة بين الحصول على الترقية

    تثبيت إضافات بايثون:

    # sudo apt-get install python-software-properties

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

    أولاً، تحتاج إلى استيراد مفتاح GPG حتى تتمكن APT من التحقق من سلامة الحزم وتنزيل كل شيء:

    # apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

    نقوم بإنشاء ملف MariaDB Resources.list الخاص بنا لإضافة المستودع إليه:

    # vim /etc/apt/sources.list

    تثبيت MariaDB 5.5 لـ Debian 7 wheezy

    # قائمة مستودعات MariaDB 5.5 - تم إنشاؤها في 15/11/2014 الساعة 17:08 بالتوقيت العالمي المنسق http://mirror.23media.de/mariadb/repo/5.5/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/5.5/debian wheezy main

    تثبيت MariaDB 5.5 لضغط Debian 6

    # قائمة مستودعات MariaDB 5.5 - تم إنشاؤها في 15/11/2014 الساعة 17:14 بالتوقيت العالمي المنسق http://mirror.23media.de/mariadb/repo/5.5/debian الضغط على deb-src الرئيسي http://mirror.23media.de/mariadb /repo/5.5/debian الضغط الرئيسي

    تثبيت MariaDB 10.0 لـ Debian 7 wheezy

    # قائمة مستودعات MariaDB 10.0 - تم إنشاؤها في 15/11/2014 الساعة 17:21 بالتوقيت العالمي المنسق http://mirror.23media.de/mariadb/repo/10.0/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/10.0/debian wheezy main

    تثبيت MariaDB 10.0 لضغط Debian 6

    # قائمة مستودعات MariaDB 10.0 - تم إنشاؤها في 15/11/2014 الساعة 17:22 بالتوقيت العالمي المنسق http://mirror.23media.de/mariadb/repo/10.0/debian الضغط على deb-src الرئيسي http://mirror.23media.de/mariadb /repo/10.0/debian الضغط الرئيسي

    تثبيت MariaDB 10.1 لـ Debian 7 wheezy

    # قائمة مستودعات MariaDB 10.1 - تم إنشاؤها في 15/11/2014 الساعة 17:23 بالتوقيت العالمي المنسق http://mirror.23media.de/mariadb/repo/10.1/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/10.1/debian wheezy main

    تثبيت MariaDB 10.1 لضغط Debian 6

    # قائمة مستودعات MariaDB 10.1 - تم إنشاؤها في 15/11/2014 الساعة 17:23 بالتوقيت العالمي المنسق http://mirror.23media.de/mariadb/repo/10.1/debian الضغط على deb-src الرئيسي http://mirror.23media.de/mariadb /repo/10.1/debian الضغط الرئيسي

    بعد ذلك نقوم بتحديث النظام (قائمة بجميع المستودعات) وتثبيت الخادم مع MariaDB:

    # sudo apt-get update # sudo apt-get install mariadb-server

    وبعد ذلك سيبدأ تثبيت خادم MariaDB. لقد اخترت الإصدار 10.0 ولهذا السبب سأقدم مثالاً على التثبيت. أثناء التثبيت، سيُطلب منك إدخال كلمة المرور لمستخدم MariaDB - root.

    أدخل كلمة المرور وانقر فوق موافق. تحتاج أيضًا إلى إدخال المرة الثانية (التأكيد). ستستغرق عملية التثبيت بضع دقائق.

    باستخدام ماريا دي بي

    ستتعلم في هذا القسم كيفية الاتصال بـ MariaDB وكيفية استخدام أوامر SQL الأساسية.

    الأداة القياسية للتفاعل مع MariaDB هي برنامج عميل MySQL. للبدء، قم بتشغيل الأمر التالي للاتصال بـ MariaDB كجذر:

    # الخلية -u الجذر -p

    أدخل كلمة المرور التي أدخلتها (تم إنشاؤها) أثناء التثبيت.

    دعونا نحاول إنشاء قاعدة بيانات بسيطة سنقوم بتعبئتها لاحقًا بالبيانات. أدخل الأوامر التالية لإنشاء قاعدة بيانات باسم TEST_DB مملوكة لـ مستخدم جديد Test_User، سنقوم أيضًا بتعيين كلمة المرور Secret_password للمستخدم باستخدام الأمر:

    MariaDB [(لا شيء)]> إنشاء قاعدة بيانات test_db; MariaDB [(none)]> منح جميع الامتيازات على test_db.* إلى test_user@localhost الذي تم تحديده بواسطة "secret_password"؛ MariaDB [(لا شيء)]> امتيازات التدفق؛ MariaDB [(لا شيء)]> استقال

    السطر الأخير (الأمر) يخرج من المستخدم الجذر على MariaDB. والآن دعونا نسجل الدخول كمستخدم test_user:

    # mysql -u testuser -p

    دعنا ندخل الأمر لاستخدام قاعدة البيانات التي تم إنشاؤها حديثًا (test_db):

    MariaDB [(لا شيء)]> استخدم test_db;

    قم بإنشاء جدول جديد واملأه ببعض البيانات:

    MariaDB [(none)]> إنشاء منتجات الجدول (المعرف INT NOT NULL AUTO_INCREMENT PRIMARY KEY، الاسم VARCHAR(255)، السعر DECIMAL(6,2)); MariaDB [(none)]> أدخل في المنتجات (الاسم، السعر) القيم ("MacBook_Pro"، 3200.0)؛ MariaDB [(none)]> أدخل في المنتجات (الاسم، السعر) القيم ("Asus"، 340.0)؛ MariaDB [(none)]> أدخل في المنتجات (الاسم، السعر) القيم ("HP"، 745.0)؛

    تأكد من إدخال البيانات الجديدة بشكل صحيح:

    MariaDB [(لا شيء)]> SELECT * من المنتجات؛

    اخرج من عميل MariaDB عن طريق تشغيل:

    MariaDB [(لا شيء)]> استقال

    للحصول على معلومات إضافيةيا أوامر SQLيفعل:

    MariaDB [(لا شيء)]>\h

    إعداد ماريا دي بي

    لتكوين MariaDB تحتاج إلى تحرير ملف التكوين. يتحكم هذا الملف في معظم متغيرات نظام الخادم، والتي عادة ما تتركها بشكل افتراضي.

    # vim /etc/mysql/my.cnf

    أعد تشغيل الخادم عن طريق تشغيل الأمر التالي:

    # إعادة تشغيل خدمة MySQL

    ماريا دي بي الأمن

    #mysql_secure_installation

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

    اتصالات المستخدم عن بعد

    دعونا نلقي نظرة على كيفية السماح لمستخدم Test_User الذي تم إنشاؤه مسبقًا بالاتصال بـ MariaDB عن بعد (افتراضيًا، يسمح MariaDB فقط بالاتصالات من المضيف المحلي).

    إن تعريض خادم MariaDB للإنترنت يجعله أقل أمانًا. إذا كنت بحاجة إلى الاتصال من خادم آخر، فتأكد من تطبيق قواعد جدار الحماية التي تسمح فقط بالاتصالات من عناوين IP معينة.
    أولاً، نحتاج إلى توفير اتصالات مخصصة للمضيفين البعيدين لمستخدم Test_user عن طريق تسجيل الدخول إلى MariaDB كجذر:

    # الخلية -u الجذر -p

    السماح لمستخدم Test_User بالاتصال من المضيفين البعيدين:

    MariaDB [(none)]> منح جميع الامتيازات لـ test_db.* TO test_user@"%" المُحدد بواسطة "secret_password"؛ MariaDB [(لا شيء)]> امتيازات التدفق؛ MariaDB [(لا شيء)]> استقال

    إعداد MariaDB للاستماع إلى كل شيء واجهات الشبكة. افتح الملف /etc/mysql/my.cnf:

    # vim /etc/mysql/my.cnf

    […]
    عنوان الربط = 0.0.0.0
    […]

    إعادة تشغيل الخادم:

    # إعادة تشغيل خدمة MySQL

    التحقق من الاتصال مع الكمبيوتر المحليعلى خادم MariaDB الخاص بك، مع استبدال Test_User باسم المستخدم الخاص بك، وtest_domain.com بنطاقك أو عنوان IP الخاص بك:

    # mysql -u test_user -h test_domain.com -p

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

    ضبط MariaDB

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

    قم بتثبيت موالف MySQL عن طريق تشغيل الأمر التالي:

    # apt-get install mysqltuner

    ابدأ تشغيل موالف MySQL باستخدام الأمر التالي:

    # ماي سكلتونر

    وبعد ذلك سيقدم لك الكثير من المعلومات المفيدة جدًا. يرجى ملاحظة التوصيات في النهاية. سيخبرك هذا بما يجب تغييره (أي المتغيرات يجب تكوينها) في القسم /etc/mysql/my.cnf في ملفك.

    كيفية إعادة تعيين كلمة مرور جذر MariaDB؟

    إذا نسيت كلمة مرور المستخدم المتميز (كلمة مرور الجذر)، فيمكنك إعادة تعيينها بسهولة باتباع الإرشادات أدناه.

    أوقف خادم MariaDB:

    # توقف خدمة MySQL

    ابدأ تشغيل الخادم باستخدام جداول Skip-Grant-Tables حتى تتمكن من تسجيل الدخول إلى MariaDB بدون كلمة مرور:

    # mysqld_safe --تخطي-منح-الجداول &

    يمكنك الآن الاتصال بخادم MariaDB كجذر بدون كلمة مرور:

    # الخلية -u الجذر

    في عميل MariaDB، أدخل الأوامر التالية لإعادة تعيين كلمة مرور الجذر والخروج:

    MariaDB [(none)]> استخدم mysql MariaDB [(none)]> تحديث كلمة مرور المستخدم SET=PASSWORD("yournewpassword") WHERE user="root"; MariaDB [(لا شيء)]> امتيازات التدفق؛ MariaDB [(لا شيء)]> استقال

    أعد تشغيل خادم MariaDB:

    # إعادة تشغيل خدمة MySQL

    اتصل بخادم MariaDB باستخدام كلمة المرور الجديدة:

    # الخلية -u الجذر -p

    اكتمل تثبيت MariaDB على دبيان. آمل أن يكون واضحا.



    
    قمة