مرحباً بكم أخوتي في مقال حصري بعنوان. تنصيب ووردبريس على سيرفر دبيان. بدون الحاجة الى اي لوحة تحكم، من اللوحات المشهورة مثل Cpanel و plask و DirectAdmin و vistacp ،وغيرها من اللوحات المدفوعة والمجانية لإنشاء بيئة لتشغيل، المواقع على الإنترنت وإدارتها بمميزات تختلف بين كل لوحة عن الأخرى، وبطبيعة الحال الأشهر بينهم لوحة cpanel . بدون الإطالة سنقوم بتثبيت ووردبريس على نظام دبيان 9، و Apache 5
متطلبات الشرح
1 – نظام دبيان منصب على سيرفر ( خادم انترنت).
2- وصول الجزر الى الخادم او حساب الرووت root Admin.
3 – عنوان ip ثابت او تم تكوينة على الخادم أو السيرفر . وبطبيعة الحال هذا متوفر لأي سيرفر قمت بحجزة من داتا سنتر،
4 – إزا كنت ستوفر موقعك الإلكتروني للجمهور، يجب حجز نطاق أو دومين لربط الdns على السيرفر به،
5- تنصيب Apache LAMP على نظام دبيان.
6 – نسخة ووردبريس أحدث اصدار من الموقع الرسمي.
7 – برنامج الاتصال بالسيرفر Putty
ما هو نظام دبيان
نظام دبيان او توزيعة دبيان هي نظام تشغيل للحاسب الآلي يتكون كاملاً من برمجيات حرة مفتوحة المصر بمعنى أن اي شخص يمكنه المساهمة وتطوير النظام يندرج تحت رخصة جنو العمومية ونظام او مشروع دبيان هو مشروع غير ربحي والتوزيعة تعتبر أحد اعرق المشاريع مفتوحة المصدر . توزيعة دبيان تستخدم نواة لينكس وأدوات جنو وتعرف توزيعة دبيان بالتزامها الصارم بإجراء الاختبارات بشكل تشاركي وتعاوني مفتوح . دبيان نظام تشغيل عالمي يتناسب مع العديد من الاستخدامات الشخصية والإستخدامات المكتبية وخدمات قواعد البيانات والسيرفرات وخدمات التخزين .
ما هو Apache
الأباتشي الإسم بالإنجليزية Apache HTTP Server . أباتشي هو الذي لعب دوراً كبير جداً في تطوير الويب والنمو العالمي في بدايا عهد الويب . فيما يستخدم أباتشي وما هي مهمتة . يستخدم أباتشي ليخدم صفحات الانترنت الساكنة والدينامكية . الساكنة مثل لغة html والدينامكية التي تتغير مثل المنتديات ووردبريس وغيرها من السكريبتات او التطبيقات التي صممت انها تستعمل بيئة ومميزات اباتشي . وأباتشي بالفعل هو من أحد مكونات حزمة تطوير الويب المعروفة بأسم LAMP التي تحوى نظام تشغيل لينكس او جنو لينكس خادم الويب وقاعدة البيانات Mysql ولغات برمجة عديدة منها لغة php و بايثون وبيرل ويتم توزيع الأباتشي كا جزء من أحد أجزاء حزم برمجية احتكارية . ومن مميزات اباتشي انه يوفر المحتوى بطريقة جداً موثوقة وآمنة للغاية
فوائد تنصيب الووردبريس على نظام دبيان
من الفوائد الفعلية هي توفير المال بالمقارنة مع التعاقد مع شركات الاستضافة . وثانياً سرعة الموقع على توزيعة دبيان بالمقارنة مع تنصيبة على لوحة cpanel. سرعة ملحوظة بنسبة 25% وهذا يساهم في انتشار الموقع في البحث والارتفاع. في ترتيبك على محرك البحث جوجل وغيره من محركات البحث. و لزيادة إيراداتك المادية . بخلاف تجنبك لبطئ شركات الإستضافة العربية أو الأجنبية. التي تقدم خطط استضافة ب 3 دولارات شهرياً ويضيفون 400 موقع على نفس الخادم . وتبدأ بملاحظة البطئ في موقعك عندما يتخطى 100 مقال عن تجربة . عندما يكون موقع على سيرفر vps خاص يكون خط الإنترنت. على السيرفر بكامل قوته لموقعك وهذا سيساعدك في التحميل من موقعك وسرعة توفير الداتا لزوار موقعك. بخلاف الحماية من الإختراق التي تصيب شركات الإستضافة بسبب التكوينات الخاطئة. ولا اتحدث عن جميع شركات الاستضافة . فهناك شركات استضافة بحماية قوية ولاكن أجنبية وليست عربية. لأني في خلال مسيرتي على الإنترنت تعاملت مع اكثر من 15 شركة عربية وكلهم بلا استثناء لا يستحقون أسم شركات إستضافة . ومن اهم المميزات ان موارد السيرفر بأكملها ستكون لموقعك فقط وليست موزعة على لوحة تحكم تستهلك الرام والمعالج وهذا يعزز من استقرار موقعك ويعزز ايضاً في ترتيبك في البحث وربحك المادي ما الى ذلك
لماذا نختار ووردبريس
ووردبريس بطبيعة الحال يستحوز حالياً على أكثر من 35 %. من مواقع الانترنت الموجودة على الويب لسهولة استخدامة وتوافقة مع السيو . بينما يمكنك تكوينة وتجهيزة ليناسب جميع المجالات. من كتابة مقالات للشروحات. او مدونة شخصية تعرض عليها خبراتك أو متجر اليكتروني لبيع الخدمات والمنتجات. او مؤسسة او تكوينة كا موقع استشارات وغيرها من المميزات لا تحصى ولا تُعد.
ملحوظة الشرح مقدم من موقع ميكانو للمعلوميات على سيرفرات حقيقية
قمت بحجز السيرفر من داتا سنتر هتزنر من خدمة السيرفرات السحابية . وقمت بأختيار توزيعة دبيان منصبة تلقائياً جاهزة
بداية الشرح تنصيب حزمة LAMP
قبل تنصيب Lamp الذي يحتوي على Apache ضمن اجزاءه ز أول شئ نقوم به قبل التنصيب نقوم بتحديث الحزم والكيرنل kernel وتصحيح مشاكل الأمان بتلك الأوامر
apt-get update
apt-get upgrade
apt-get dist-upgrade
صورة من اضافة أول أمر للتحديث ل تنصيب ووردبريس على سيرفر دبيان9 بدون cpanel
وهذا ناتج الأمر بعد اضافتة يبين كيف تم التحديث
apt-get update Ign:1 http://mirror.hetzner.de/debian/packages stretch InRelease Get:2 http://security.debian.org stretch/updates InRelease [94.3 kB] Get:3 http://mirror.hetzner.de/debian/packages stretch-updates InRelease [91.0 kB] Ign:4 http://deb.debian.org/debian stretch InRelease Get:5 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB] Get:6 http://mirror.hetzner.de/debian/packages stretch-backports InRelease [91.8 kB] Get:7 http://mirror.hetzner.de/debian/security stretch/updates InRelease [94.3 kB] Hit:8 http://mirror.hetzner.de/debian/packages stretch Release Hit:9 http://deb.debian.org/debian stretch Release Get:10 http://security.debian.org stretch/updates/non-free Sources [1,216 B] Get:11 http://security.debian.org stretch/updates/main Sources [207 kB] Get:12 http://security.debian.org stretch/updates/contrib Sources [1,384 B] Get:13 http://security.debian.org stretch/updates/main amd64 Packages [495 kB] Get:14 http://security.debian.org stretch/updates/main Translation-en [221 kB] Get:15 http://deb.debian.org/debian stretch-updates/main Sources [13.1 kB] Ign:16 http://mirror.hetzner.de/debian/packages stretch-backports/main amd64 Packages Ign:17 http://mirror.hetzner.de/debian/packages stretch-backports/main Translation-en Get:16 http://mirror.hetzner.de/debian/packages stretch-backports/main amd64 Packages [601 kB] Get:17 http://mirror.hetzner.de/debian/packages stretch-backports/main Translation-en [459 kB] Ign:18 http://mirror.hetzner.de/debian/security stretch/updates/main amd64 Packages Ign:19 http://mirror.hetzner.de/debian/security stretch/updates/main Translation-en Get:18 http://mirror.hetzner.de/debian/security stretch/updates/main amd64 Packages [495 kB] Get:19 http://mirror.hetzner.de/debian/security stretch/updates/main Translation-en [221 kB] Get:22 http://deb.debian.org/debian stretch/main Sources [6,745 kB] Get:23 http://deb.debian.org/debian stretch/non-free Sources [79.4 kB] Get:24 http://deb.debian.org/debian stretch/contrib Sources [44.7 kB] Fetched 10.0 MB in 3s (2,624 kB/s) Reading package lists... Done
نقوم بإضافة الأمر التالي وهو
apt-get upgrade
فائدة هذا الأمر او ما يقوم به هو ترقية النظام الى احدث اصدار من دبيان . تابع معي الخطوات لـ تنصيب ووردبريس على سيرفر دبيان9 بدون cpanel
سيظهر معك كما موضح في الصورة. وهنا يفيدك النظام بهل تريد الترقية فعلا هل اتابع عملية الترقية تقوم بكتابة حرف y اختصاراً لكلمة yes ومن ثم الضغط على Enter. ليكمل عملية الترقية
وهنا ناتج الأمر بعد انتهاء الترقية . ملاحظة بسيطة السيرفر الذي استخدمة منصب عليه احدث اصدار من دبيان وهو دبيان 9 في هذا الوقت . فلم يأخذ وقت كثيراً في الترقية . وهذا هو الناتج
apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: qemu-guest-agent qemu-utils 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 1,300 kB of archives. After this operation, 2,048 B of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://security.debian.org stretch/updates/main amd64 qemu-guest-agent amd64 1:2.8+dfsg-6+deb9u7 [315 kB] Get:2 http://security.debian.org stretch/updates/main amd64 qemu-utils amd64 1:2.8+dfsg-6+deb9u7 [986 kB] Fetched 1,300 kB in 0s (14.0 MB/s) (Reading database ... 33909 files and directories currently installed.) Preparing to unpack .../qemu-guest-agent_1%3a2.8+dfsg-6+deb9u7_amd64.deb ... Unpacking qemu-guest-agent (1:2.8+dfsg-6+deb9u7) over (1:2.8+dfsg-6+deb9u5) ... Preparing to unpack .../qemu-utils_1%3a2.8+dfsg-6+deb9u7_amd64.deb ... Unpacking qemu-utils (1:2.8+dfsg-6+deb9u7) over (1:2.8+dfsg-6+deb9u5) ... Setting up qemu-guest-agent (1:2.8+dfsg-6+deb9u7) ... Setting up qemu-utils (1:2.8+dfsg-6+deb9u7) ... Processing triggers for systemd (232-25+deb9u11) ... Processing triggers for man-db (2.7.6.1-2) ...
بعد الإنتهاء من الترقية تقوم بإضافة الأمر التالي المدرج في الأعلى في بداية الشرح وهو يقوم بالتأكيد على تحديث عملية الترقية لخدمات النظام وليس ترقية النظام بالكامل . الأمر الذي قبلة هو لعمل ترقية للنظام
apt-get dist-upgrade
وهذه صورة توضح العملية بعد اضافة الأمر
تم الانتهاء من من أول خطوة وهي الخاصة بتحديث وترقية الحزم ونظام التشغيل الى أحدث اصدار
والخطوة الثانية هي اضافة هوست نيم للسيرفر عن طريق هذا الأمر الذي يغير أسم المضيف بأسمك الوصفي الخاص بك . ولاكن لتكن على دراية بأنك قد تحتاج الى إعادة تشغيل السيرفر أو النظام يقوم النظام بتطبيق اسم المضيف او الهوست نيم الذي تضيفة .
hostnamectl set-hostname hostname.yourdomain.com
hostname.yourdomain.com
وهنا الهوست نيم يجب ان يكون اسم لدومين فرعي خاص بنطاقك او الدومين الذي قمت بحجزة لتشغيل عليه السيرفر ووردبريس . مثال word.mekan0.com
بعد اضافة هذا الأمر تقوم بالضغط على انتر في لوحة المفاتيح . وهنا صورة كا مثال لإضافة النيم هوست
والخطة التالية في
نقوم بتنصيب بعض الأدوات الازمة المساعدة وسنحتاجها في حل الاخطاء واصلاحها . تقوم بإضافة الأمر التالي
apt install net-tools sudo wget curl bash-completion
اعتقد ان نظام دبيان 9 به هذة الأدوات المساعدة ولاكن تأكد وقم بإضافة هذة الأوامر أحتياطياً . بعد الإنتهاء تقوم بإعادة تشغيل الخادم عن طريق كتابة الأمر reboot وبعد إعادة التشغيل تقوم بتسجيل الدخول للسيرفر ستلاحظ بأن أسم السيرفر تغير الى عنوان النيم سيرفر التي قمنا بإنشاؤه مثال في الصورة.
ستلاحظ هنا في مجه الأوامر بأن تم تغيير النيم سيرفر وأيضاً اسم السيرفر كما موضح في الصورة وهذه البيانات التي ظهرت عند اعادة تشغيل السيرفر وتسجيل الدخول الية من جديد
تثبيت Apache
بعد تسجيل الدخول الى الخادم بأمتيازات المدير (root) نقوم بتنصيب Apache HTTP وهو متوفر في مستودعات دبيان 9 . تقوم بإضافة هذا الأمر الى موجه الأوامر ثم تضغط Enter
apt install apache2
بعد اضافة أمر تثبيت الاباتشي سيظهر لك في موجه الأوامر الموافقة على تكملة تنصيب اباتشي بالفعل أم لا .هكذا سيظهر لك الكود
apt install apache2 Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 libperl5.24 perl Suggested packages: www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make Recommended packages: ssl-cert rename The following NEW packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 libperl5.24 perl 0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded. Need to get 5,852 kB of archives. After this operation, 29.2 MB of additional disk space will be used. Do you want to continue? [Y/n]
تقوم بالضغط على حرف Y في لوحة المفاتيح ثم تضغط انتر (Enter) وبعد الإنتهاء من تنصيب الأباتشي نقوم بفتح المتصفح ونكتب الاي بي الخاص بالخادم . في المتصفح في حالتي أنا اي بي السيرفر الذي اقوم بالشرح عليه هو 159.69.215.225 سيظهر معك كالتلي مثل هذه الصورة
بعد التأكد من انصيب الاباتشي بشكل صحيح وهذه الصورة بالأعلى. تؤكد تنصيب الأباتشي على توزيعة دبيان بشكل صحيح . الأن نقوم بتنصيب مترجمات لغة php احدث اصدارات. لتقرأ نظام إدارة المحتوى ووردبريس wordpress بهذا الأمر ثم تضغط Enter.
apt install libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-xml php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-xmlrpc
سيعرض عليك النظام بهل نقوم بتكملة التنصيب أم ل.ا الإلغاء مثل الأوامر في الأعلى تقوم بكتابة حرف Y ثم تضغط على Enter. في لوحة المفاتيح . مثل ما موضح في الصورة
بعد الإنتهاء من تنصيب ترجمات php أحدث اصدارات نقوم الآن. بتنصيب MariaDB وهو خادم قواعد البيانات. يجب تنصيبة لإنشاء قاعدة بيانات للووردبريس. والاتصال بها ليتثنى لنا تثبيت ووردبريس بشكل صحيح بهذا الأمر.
apt install php7.0-mysql mariadb-server mariadb-client
سيعرض عليك النظام المواصلة في التثبيت أم لا مثل ما حدث في الأوامر السابقة تقوم بكتابة حرف Y والضغط على زر enter في لوحة المفاتيح لمواصلة التثبيت . سيظهر هذه البيانات على موجه الأوامر للتأكد من التنصيب بشكل صحيح
apt install php7.0-mysql mariadb-server mariadb-client Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: galera-3 gawk libconfig-inifiles-perl libdbi-perl libjemalloc1 libmpfr4 libreadline5 libsigsegv2 mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common mariadb-server-10.1 mariadb-server-core-10.1 mysql-common rsync socat Suggested packages: gawk-doc libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl mailx mariadb-test netcat-openbsd tinyca Recommended packages: libdbd-mysql-perl libterm-readkey-perl libhtml-template-perl The following NEW packages will be installed: galera-3 gawk libconfig-inifiles-perl libdbi-perl libjemalloc1 libmpfr4 libreadline5 libsigsegv2 mariadb-client mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common mariadb-server mariadb-server-10.1 mariadb-server-core-10.1 mysql-common php7.0-mysql rsync socat 0 upgraded, 19 newly installed, 0 to remove and 0 not upgraded. Need to get 25.7 MB of archives. After this operation, 189 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://deb.debian.org/debian stretch/main amd64 libmpfr4 amd64 3.1.5-1 [556 kB] Get:2 http://deb.debian.org/debian stretch/main amd64 libsigsegv2 amd64 2.10-5 [28.9 kB] Get:3 http://deb.debian.org/debian stretch/main amd64 gawk amd64 1:4.1.4+dfsg-1 [571 kB] Get:4 http://deb.debian.org/debian stretch/main amd64 mysql-common all 5.8+1.0.2 [5,608 B] Get:5 http://deb.debian.org/debian stretch/main amd64 mariadb-common all 10.1.38-0+deb9u1 [28.4 kB] Get:6 http://deb.debian.org/debian stretch/main amd64 galera-3 amd64 25.3.19-2 [955 kB] Get:7 http://deb.debian.org/debian stretch/main amd64 libdbi-perl amd64 1.636-1+b1 [766 kB] Get:8 http://deb.debian.org/debian stretch/main amd64 libreadline5 amd64 5.2+dfsg-3+b1 [119 kB] Get:9 http://deb.debian.org/debian stretch/main amd64 mariadb-client-core-10.1 amd64 10.1.38-0+deb9u1 [5,107 kB] Get:10 http://deb.debian.org/debian stretch/main amd64 libconfig-inifiles-perl all 2.94-1 [53.4 kB] Get:11 http://deb.debian.org/debian stretch/main amd64 libjemalloc1 amd64 3.6.0-9.1 [89.8 kB] Get:12 http://deb.debian.org/debian stretch/main amd64 mariadb-client-10.1 amd64 10.1.38-0+deb9u1 [5,918 kB] Get:13 http://deb.debian.org/debian stretch/main amd64 mariadb-server-core-10.1 amd64 10.1.38-0+deb9u1 [5,241 kB] Get:14 http://deb.debian.org/debian stretch/main amd64 rsync amd64 3.1.2-1+deb9u2 [393 kB] Get:15 http://deb.debian.org/debian stretch/main amd64 socat amd64 1.7.3.1-2+deb9u1 [353 kB] Get:16 http://deb.debian.org/debian stretch/main amd64 mariadb-server-10.1 amd64 10.1.38-0+deb9u1 [5,344 kB] Get:17 http://deb.debian.org/debian stretch/main amd64 mariadb-client all 10.1.38-0+deb9u1 [27.2 kB] Get:18 http://deb.debian.org/debian stretch/main amd64 mariadb-server all 10.1.38-0+deb9u1 [27.3 kB] Get:19 http://deb.debian.org/debian stretch/main amd64 php7.0-mysql amd64 7.0.33-0+deb9u3 [124 kB] Fetched 25.7 MB in 0s (35.8 MB/s) Preconfiguring packages ... Selecting previously unselected package libmpfr4:amd64. (Reading database ... 35883 files and directories currently installed.) Preparing to unpack .../libmpfr4_3.1.5-1_amd64.deb ... Unpacking libmpfr4:amd64 (3.1.5-1) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../libsigsegv2_2.10-5_amd64.deb ... Unpacking libsigsegv2:amd64 (2.10-5) ... Setting up libmpfr4:amd64 (3.1.5-1) ... Setting up libsigsegv2:amd64 (2.10-5) ... Selecting previously unselected package gawk. (Reading database ... 35905 files and directories currently installed.) Preparing to unpack .../00-gawk_1%3a4.1.4+dfsg-1_amd64.deb ... Unpacking gawk (1:4.1.4+dfsg-1) ... Selecting previously unselected package mysql-common. Preparing to unpack .../01-mysql-common_5.8+1.0.2_all.deb ... Unpacking mysql-common (5.8+1.0.2) ... Selecting previously unselected package mariadb-common. Preparing to unpack .../02-mariadb-common_10.1.38-0+deb9u1_all.deb ... Unpacking mariadb-common (10.1.38-0+deb9u1) ... Selecting previously unselected package galera-3. Preparing to unpack .../03-galera-3_25.3.19-2_amd64.deb ... Unpacking galera-3 (25.3.19-2) ... Selecting previously unselected package libdbi-perl. Preparing to unpack .../04-libdbi-perl_1.636-1+b1_amd64.deb ... Unpacking libdbi-perl (1.636-1+b1) ... Selecting previously unselected package libreadline5:amd64. Preparing to unpack .../05-libreadline5_5.2+dfsg-3+b1_amd64.deb ... Unpacking libreadline5:amd64 (5.2+dfsg-3+b1) ... Selecting previously unselected package mariadb-client-core-10.1. Preparing to unpack .../06-mariadb-client-core-10.1_10.1.38-0+deb9u1_amd64.deb ... Unpacking mariadb-client-core-10.1 (10.1.38-0+deb9u1) ... Selecting previously unselected package libconfig-inifiles-perl. Preparing to unpack .../07-libconfig-inifiles-perl_2.94-1_all.deb ... Unpacking libconfig-inifiles-perl (2.94-1) ... Selecting previously unselected package libjemalloc1. Preparing to unpack .../08-libjemalloc1_3.6.0-9.1_amd64.deb ... Unpacking libjemalloc1 (3.6.0-9.1) ... Selecting previously unselected package mariadb-client-10.1. Preparing to unpack .../09-mariadb-client-10.1_10.1.38-0+deb9u1_amd64.deb ... Unpacking mariadb-client-10.1 (10.1.38-0+deb9u1) ... Selecting previously unselected package mariadb-server-core-10.1. Preparing to unpack .../10-mariadb-server-core-10.1_10.1.38-0+deb9u1_amd64.deb ... Unpacking mariadb-server-core-10.1 (10.1.38-0+deb9u1) ... Selecting previously unselected package rsync. Preparing to unpack .../11-rsync_3.1.2-1+deb9u2_amd64.deb ... Unpacking rsync (3.1.2-1+deb9u2) ... Selecting previously unselected package socat. Preparing to unpack .../12-socat_1.7.3.1-2+deb9u1_amd64.deb ... Unpacking socat (1.7.3.1-2+deb9u1) ... Setting up mysql-common (5.8+1.0.2) ... update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode Setting up mariadb-common (10.1.38-0+deb9u1) ... update-alternatives: using /etc/mysql/mariadb.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode Selecting previously unselected package mariadb-server-10.1. (Reading database ... 36487 files and directories currently installed.) Preparing to unpack .../mariadb-server-10.1_10.1.38-0+deb9u1_amd64.deb ... Unpacking mariadb-server-10.1 (10.1.38-0+deb9u1) ... Selecting previously unselected package mariadb-client. Preparing to unpack .../mariadb-client_10.1.38-0+deb9u1_all.deb ... Unpacking mariadb-client (10.1.38-0+deb9u1) ... Selecting previously unselected package mariadb-server. Preparing to unpack .../mariadb-server_10.1.38-0+deb9u1_all.deb ... Unpacking mariadb-server (10.1.38-0+deb9u1) ... Selecting previously unselected package php7.0-mysql. Preparing to unpack .../php7.0-mysql_7.0.33-0+deb9u3_amd64.deb ... Unpacking php7.0-mysql (7.0.33-0+deb9u3) ... Setting up php7.0-mysql (7.0.33-0+deb9u3) ... Creating config file /etc/php/7.0/mods-available/mysqlnd.ini with new version Creating config file /etc/php/7.0/mods-available/mysqli.ini with new version Creating config file /etc/php/7.0/mods-available/pdo_mysql.ini with new version Setting up libconfig-inifiles-perl (2.94-1) ... Setting up libjemalloc1 (3.6.0-9.1) ... Processing triggers for libapache2-mod-php7.0 (7.0.33-0+deb9u3) ... Setting up socat (1.7.3.1-2+deb9u1) ... Setting up gawk (1:4.1.4+dfsg-1) ... Setting up rsync (3.1.2-1+deb9u2) ... Created symlink /etc/systemd/system/multi-user.target.wants/rsync.service → /lib/systemd/system/rsync.service. Processing triggers for libc-bin (2.24-11+deb9u4) ... Setting up galera-3 (25.3.19-2) ... Processing triggers for systemd (232-25+deb9u11) ... Processing triggers for man-db (2.7.6.1-2) ... Setting up libreadline5:amd64 (5.2+dfsg-3+b1) ... Setting up libdbi-perl (1.636-1+b1) ... Setting up mariadb-server-core-10.1 (10.1.38-0+deb9u1) ... Setting up mariadb-client-core-10.1 (10.1.38-0+deb9u1) ... Setting up mariadb-client-10.1 (10.1.38-0+deb9u1) ... Setting up mariadb-client (10.1.38-0+deb9u1) ... Setting up mariadb-server-10.1 (10.1.38-0+deb9u1) ... Created symlink /etc/systemd/system/mysql.service → /lib/systemd/system/mariadb.service. Created symlink /etc/systemd/system/mysqld.service → /lib/systemd/system/mariadb.service. Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /lib/systemd/system/mariadb.service. Setting up mariadb-server (10.1.38-0+deb9u1) ... Processing triggers for libc-bin (2.24-11+deb9u4) ... Processing triggers for systemd (232-25+deb9u11) ... root@word:~#
والخطوة الثانية هي تشغيل MariaDB الذي قمنا بتنصيبه. نقوم بكتابة هذا الأمر للتشغيل
systemctl start mariadb
بعد تشغيل MARIADB
نقوم بتنصيب معالج قواعد البيانات Mysql. الآمن وسيطلب منك أختيار كلمة مرور قوية. لمستخدم الجزُر (root) لأنه يستخدم كلمة مرور الأدمن الخاص بالسيرفر. في الدخول الى مدير قواعد البيانات على كل حال نقوم بإضافة الأمر التالي. لتنصيب معالج قواعد البيانات mysql بهذا الأمر.
mysql_secure_installation
ستلاحظ بعد اضافة الأمر. انه يطلب منك كتابه الباسورد الخاص بالرووت. الخاص بالسيرفر تقوم بكتابتة . وسيعرض عليك كتابه باسورد قوي تقوم بالضغط على Y. ثم الضغط على انتر . سيطلب منك كتابة باسورد جديد تقوم بكتابة الرقم السري الجديد. ثم تضغط انتر وسيؤكد عليك النظام بكتابة الرقم السري لثاني مرة. للتأكد تقوم بكتابته ثم تضغط على Enter . ثم سيقول لك النظام بأن
أدخل كلمة المرور الحالية للجذر (y. n): تقوم بالضغط على y وثم انتر
بعد الضغط سيقول لك بأن لديك بالفعل مجموعة من كلمات مرور الجذر ، تضغط n ثم انتر
سيقوم بعرض علية تغيير كلمة السر الجذر؟ [Y / N] تقوم بالضغط على y وانتر لتغيير كلمة المرور لأدمن قواعد البيانات
تقوم بكتابة كلمة السر الجديدة ثم انتر وستقوم بكتابتها مرة أخري للتأكيد وثم انتر افتراضيًا. يحتوي تثبيت MariaDB على مستخدم مجهول ، مما يسمح لأي شخص
لتسجيل الدخول إلى MariaDB دون الحاجة إلى إنشاء حساب مستخدم
سيعرض عليك النظام
إزالة المستخدمين المجهولين؟ [Y / N] تقوم بكتابه y ثم انتر
سيظهر خيارات تقوم بالترتيب بالضغط على هذه الحروف.
n ثم انتر
y ثم انتر
y ثم انتر
وهذا الناتج من موجه الأوامر به كل الخطوات التي قمت بها لتنصيب أو لإعداد mysql
root@word:~# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] n ... skipping. By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
نتأكد من تأمين MariaDB
لأنه بشكل أفتراضي يقوم بتسجيل حساب الرووت بدون كلمة سر . ولمنع حدوث مشاكل أمنية محتملة نقوم بتسجيل الدخول الى قاعدة البيانات. باستخدام حساب الجزر أو الرووت root وإصدار هذه الأوامر.
mysql -u root -p
use mysql;
update user set plugin='' where User='root';
flush privileges;
quit
بعد كتابه أول أمر سيطلب منك الرقم السري تقوم بكتابته والضغط على انتر .
وهذا ناتج الأوامر في موجة الأوامر يجب ان يظهر لك الناتج مثل هذا الكود أمامك
root@word:~# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 9 Server version: 10.1.38-MariaDB-0+deb9u1 Debian 9.8 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [mysql]> update user set plugin='' where User='root'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 MariaDB [mysql]> flush privileges; Query OK, 0 rows affected (0.01 sec) MariaDB [mysql]> quit Bye root@word:~#
وصورة توضح ذلك
بعد ذلك نقوم بإضافة tls الوحدات النمطية أو ssl . نقوم بتشغيل الأوامر التالية
a2enmod rewrite ssl
a2ensite default-ssl.conf
ثم نقوم بفتح DocumentRoot لكل المواقع التي نريد تمكينها . نقوم بفتح ملفات التكوين بهذا الأمر
nano /etc/apache2/sites-enabled/000-default.conf
بعد ما يفتح معاك تقوم بإضافة نقوم بإضافة هذا الكود
<Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory>
ثم تقوم بالضغط على حرف، x في الكيبورد ثم y والضغط على انتر
ثم تقوم بإدخال هذا الأمر واضافة نفس الكود، اللي بالأعلى بعد فتح الملف.
nano /etc/apache2/sites-enabled/default-ssl.conf
ثم تقوم بالضغط على حرف x للخروج من الملف والضغط على y لحفظ التعديلات وهذه صورة توضع كيفية أضافة الكود
بعد الحفظ تقوم بإضافة هذا الأمر، للتأكد من تكوين الشهادات الإفتراضية للمواقع بهذا الأمر.
nano /etc/apache2/sites-enabled/default-ssl.conf
إن لم يفتح معك الملف لأنه غير متواجد على السيرفر. تقوم بتحمل هذا الملف وتقوم برفعة في هذا المسار
/etc/apache2/sites-enabled . عن طريق برنامج winscp كما موضح في الصورة
ولتطبيق الإعدادات قم بإضافة هذه الأوامر في موجه الأوامر
a2enmod headers
systemctl restart apache2.service
الأن نقوم بإختبار تكوين اباتشي هل تم التكوين بالشكل الصحيح، وما هي الأخطاء. إذا كان على ما يرام نقوم بإعادة تشغيل الخدمات بهذه الأوامر
apache2ctl -t
systemctl restart apache2.service mariadb.service
systemctl enable apache2.service mariadb.service
تثبيت ووردبريس
نقوم بالدخول الى قواعد البيانات لإنشاء قاعدة بيانات جديدة لتنصيب الووردبريس عن طريق الأوامر التالية
mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress-user'@'localhost' IDENTIFIED BY 'wordpress-pass';
FLUSH PRIVILEGES;
ملاحظة . wordpress-pass
تقوم بكتابة مكانها باسورد يوزر قاعدة بيانات الووردبريس، التي قمنا بإنشاؤها
بعد اضافة هذه الأوامر لإنشاء قاعدة البيانات واليوزر الخاص بقواعد البيانات واعطاءة الإمتيازات . نقوم بسحب نسخة الووردبريس من الموقع الرسمي عن طريق الأمر wget وفك الضغط هنا. في ملف temp بهذة الأوامر
cd /tmp
wget http://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
cp -rf wordpress/* /var/www/html/
rm /var/www/html/index.html
والآن نمنح اذونات الكتابة لملفات الووردبريس بهذه الأوامر
chmod -R 775 /var/www/html/
chgrp -R www-data /var/www/html/
ls -al /var/www/html
والأن تقوم بطلب الاي بي الخاص بالسيرفر في المتصفح لتنصيب الووردبريس كما موضح في الصورة
ثم تكمل خطوات التثبيت المعتادة
. وتهانيناً لقد تم تنصيب ووردبريس على سيرفر دبيان9 بدون cpanel،
تعمدت في هذا الشرح بإدراج جميع التفاصيل لإفادة من لا يعرف اضافة الأكواد وما تعنيه ولتعم الفائدة على الجميع.
سيتم عمل شرح أخر لربط الدومين بالسيرفر وحماية الوزوردبريس والسيرفر بالكامل . كن على دراية دائماً بكل ما هو جديد . كل ما هو عليك فقط الإشتراك في الاشعارات
الشرح بعنوان. تنصيب ووردبريس على سيرفر دبيان9 بدون cpanel
لا يسمح بنسخ المقال وإدراجة في اي موقع بتاتاً بدون ذكر المصدر وهو ميكانو للمعلوميات
يجب أن نحترم الحقوق الملكية الفكرية