أنشئ منتدى بأمر واحد !!

الكاتب: SilenCker في 22 فبراير 2010

بسم الله الرحمن الرحيم


لا بد أن مدراء السيرفيرات وخصوصا منهم مدراء الاستضافات المشتركة دائما ما يطلب منهم عملائهم تركيب منتدى على مساحتهم الخاصة، فصارت هذه العملية متعبة وروتينية وتسبب الملل لمدراء الخوادم، فهل يمكن إنشاء منتدى بأمر واحد ؟ أو بالأحرى سطر أوامر واحد :) ؟

نعم وبكل سهولة، لكن يجب الإعدادا لهذه المهمة جيدا، تابع معي ..

اللوازم:

  • هدوء .
  • فنجان قهوة أو شاي ساخن .
  • ونسخة منتدى المفضلة لديك، يمكنك تحميل نسخة vBulletin 3.8.3 بالضغط هنا.

الأوامر التي نحتاجها في سطر الأوامر هي:

  • طبعا الأمر cd للدخول إلى مجلد العميل :) .
  • الأمر wget لجلب النسخة التي سوف نعدل عليها.
  • أمر لإعطاء اسم مستخدم الحساب إلى متغير في لغة bash .
  • أمر لإعطاء كلمة مرور مستخدم قاعدة البيانات بشكل عشوائي إلى متغير.
  • بعض تعليمات mySQL من سطر الأوامر لإنشاء قاعدة البيانات ومستخدمها وكلمة مروره.
  • الأمر unzip لفك الضغط وأيضا chown لتعديل مالك الملفات من الـroot .
  • الأمر replace للتعديل على ملف config.php .

هذه هي الأوامر فقط :D .

تجهيز النسخة


نبدأ بالتعديل على النسخة:

  • قم بتحميل النسخة المفضلة لديك وقم بفك الضغط عنها واستخراج مجلد vb فقط .
  • عدل على ملف config.php واستبدل قيم متغيرات قاعدة البيانات واسم المستخدم وكلمة مروره إلى DATABASE وUSERDB وPASSWORD على التوالي ليصبح شكل ملف config.php كالتالي:
1
2
3
4
5
6
7
8
9
10
11
12
.
.
// قاعدة البيانات
$config['Database']['dbname'] = 'DATABASE';
.
.
//    اسم المستخدم
$config['MasterServer']['username'] = 'USERDB';
//    كلمة المرور
$config['MasterServer']['password'] = 'PASSWORD';
.
.
  • قم بضغط مجلد vb بصيغة zip وارفعه إلى موقعك ليكون رابطه كالتالي:
http://www.[site].com/vb.zip

انتهينا من تجهيز النسخة وهو الجزء الأطول.

تجهيز الأمر


الأمر بالتفصيل يتكون من مجموعة أوامر متصلة وهي على التوالي:

  • نقوم بالدخول إلى مجلد الرئيسي للعميل بالأمر
    cd /home/XXXX/public_html/
  • نقوم بإعطاء اسم المستخدم إلى المتغير USER بالأمر
    USER=`ls -lia | head -2 | tail -1 | awk '{print $4}'`
  • نقوم بتويد كلمة مرور عشوائية بطول 16 حرفا ونعطيها للمتغير PASS بالأمر
    PASS=`</dev/urandom tr -dc A-Za-z0-9 | head -c16`
  • كما نقوم بإعطاء اسم قاعدة البيانات بصيغة لوحات تحكم cPanel إلى المتغير DB بالأمر:
    DB=$USER""_dbvb
  • نقوم بإنشاء قاعدة بيانات جديدة باسم قيمة المتغير DB الذي أنشأناه سابقا بالأمر
    mysql -e "CREATE DATABASE $DB"
  • نقوم بإنشاء مستخدم اسمه هو قيمة المتغير DB وكلمة مروروه هي قيمة المتغير PASS وربطه مع قاعدة البيانات بالأمر
    mysql -e "GRANT ALL ON $DB.* TO $DB@localhost IDENTIFIED BY '$PASS'"
  • نقوم بجلب النسخة من موقعنا إلى مجلد العميل بالأمر
    wget http://www.[site].com/vb.zip
  • نقوم بفك الضغط عنها بالأمر
    unzip vb383.zip
  • نقوم بتغيير مالك الملفات من root إلى المستخدم بالأمر
    chown -R $USER:$USER vb
  • نقوم باستبدال كلمة DATABASE من ملف config.php بقيمة متغير DB بالأمر
    replace "DATABASE" "$DB" -- vb/includes/config.php
  • وأيضا كلمة USERDB بالأمر
    replace "USERDB" "$DB" -- vb/includes/config.php
  • وأخيرا كلمة المرور بالأمر
    replace "PASSWORD" "$PASS" -- vb/includes/config.php

فيكون ناتج الأمر النهائي هو :

cd /home/XXXX/public_html/; USER=`ls -lia | head -2 | tail -1 | awk '{print $4}'`; PASS=`</dev/urandom tr -dc A-Za-z0-9 | head -c16`; DB=$USER""_dbvb; mysql -e "CREATE DATABASE $DB"; mysql -e "GRANT ALL ON $DB.* TO $DB@localhost IDENTIFIED BY '$PASS'"; wget http://www.[site].com/vb.zip; unzip vb.zip; chown -R $USER:$USER vb; replace "DATABASE" "$DB" -- vb/includes/config.php; replace "USERDB" "$DB" -- vb/includes/config.php; replace "PASSWORD" "$PASS" -- vb/includes/config.php;

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

بعد تنفيذ الأمر قم بذهاب إلى رابط موقع عميلك وقم بإكمال خطوات التثبيت البسيطة :

http://www.[clientsite].com/vb/install/install.php

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

إذا فهمت الشرح جيدا يمكنك إنشاء أوامر خاصة بكل السكربتات وبسهولة تامة جدا :D .

فهل يمكنك بعد الآن القول بأن تركيب السكربتات بكثرة عمل ممل ؟

مميزات الشرح:

  • السرعة في التركيب والتنفيذ .
  • عدم الملل من تركيب السكربتات التي جهزت لها أمر التركيب.

ملاحظات للمبتدئين:

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

الشرح مقدم من أخوكم SilenCker
يوم 23 فبراير 2010 الموافق لـ9 ربيع الأول 1431

مقالات ذات علاقة

    3 ردود

  1. yasMouh قال:

    بارك الله فيك ونفع بك
    فعلا طريقة تختصر الكثير من الوقت والجهد
    وشرح رائع
    لا تبخل علينا بالمزيد ..
    تحياتي.

  2. ضيا عمري قال:

    فعلا طريقة جميلة ، بارك الله فيك

    عندي سؤال اخي الكريم

    لغة البرمجة التي تستخدمها ، ماهي هذه اللغة ؟

    هل هي pearl و هل هي صعبة عن تجربتك طبعا

    بارك الله فيك

    • SilenCker قال:

      أهلا بك صديقي

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

      أخوك.

علق على المقال

التعليق