مرحباً بكم أخوتي في مقال حصري بعنوان. تنصيب ووردبريس على سيرفر دبيان. بدون الحاجة الى اي لوحة تحكم، من اللوحات المشهورة مثل 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  وبعد إعادة التشغيل تقوم بتسجيل الدخول للسيرفر ستلاحظ بأن أسم السيرفر تغير الى عنوان النيم سيرفر التي قمنا بإنشاؤه مثال في الصورة.

صورة تبين مثال على تغيير النيم سيرفر لتوزيعة دبيان9

ستلاحظ هنا في مجه الأوامر بأن تم تغيير النيم سيرفر  وأيضاً اسم السيرفر كما موضح في الصورة وهذه البيانات التي ظهرت عند اعادة تشغيل السيرفر وتسجيل الدخول الية من جديد

تثبيت 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 سيظهر معك كالتلي مثل هذه الصورة صورة توضح تشغيل الأباتشي بشكل صحيح على توزيعة بيان9

بعد التأكد من انصيب الاباتشي بشكل صحيح وهذه الصورة بالأعلى. تؤكد تنصيب الأباتشي على توزيعة دبيان بشكل صحيح . الأن نقوم بتنصيب مترجمات لغة 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 على توزيعة دبيان9

بعد الإنتهاء من تنصيب ترجمات 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) ...
[email protected]:~#

والخطوة الثانية هي تشغيل 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

[email protected]:~# 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

بعد كتابه أول أمر سيطلب منك الرقم السري تقوم بكتابته والضغط على انتر .

وهذا ناتج الأوامر في موجة الأوامر يجب ان يظهر لك الناتج مثل هذا الكود أمامك

[email protected]:~# 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
[email protected]:~#

وصورة توضح ذلك صورة توضح حماية قواعد البيانات في توزيعة دبيان 9

بعد ذلك نقوم بإضافة 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 كما موضح في الصورة صورة توضح رفع الملفات على توزيعة دبيان سيرفر 9

ولتطبيق الإعدادات قم بإضافة هذه الأوامر في موجه الأوامر

a2enmod headers
systemctl restart apache2.service

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

apache2ctl -t
systemctl restart apache2.service mariadb.service
systemctl enable apache2.service mariadb.service

صورة توضح التأكد من الاباتشي على توزيعة دبيان 9 سيرفر

تثبيت ووردبريس

نقوم بالدخول الى قواعد البيانات لإنشاء قاعدة بيانات جديدة لتنصيب الووردبريس عن طريق الأوامر التالية

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

صورة توضح مرحلة تنصيب ووردبريس

ثم تكمل خطوات التثبيت المعتادة

. وتهانيناً لقد تم تنصيب ووردبريس على سيرفر دبيان9 بدون cpanel،

 

تعمدت في هذا الشرح بإدراج جميع التفاصيل لإفادة من لا يعرف اضافة الأكواد وما تعنيه ولتعم الفائدة على الجميع.

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

الشرح بعنوان. تنصيب ووردبريس على سيرفر دبيان9 بدون cpanel

لا يسمح بنسخ المقال وإدراجة في اي موقع بتاتاً بدون ذكر المصدر  وهو ميكانو للمعلوميات

يجب أن نحترم الحقوق الملكية الفكرية