المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : بناء و تثبيت setup Apache مع php/mySql من المصدر



loulou ange
11-02-2013, بتوقيت غرينيتش 01:14 AM
السلام عليكم و رحمة الله و بركاته
هذا شرح طريقة لطريقة تثبيت setup سرفر "أباتشي" Apache على جهازك مع سرفر "مي إس كيو إل" mySql و دعم "بي إتش بي" php. أتمنى أن يستفيد منه إخواني المسلمين.

مقدمة
- أول ما أريد أن أشير إليه هو أن هذا الشرح طريقة خاص بالتثبيت setup من المصدر (install from source) بدل الاعتماد على الحزم الجاهزة من نوع deb أو rpm مثلا. يعني أننا نعتمد على مصدر البرامج التي نريد تثبيت setupها و نعمل إعدادات ثم نبني البرنامج و نثبته.
كلامي هذا قد لا يفهمه من ليس معتادا بتثبيت setup البرامج من السورس و لكن لا داعي للقلق فهذا لن يؤثر في مواصلة مراحل الشرح طريقة. بل سيكون فرصة لتعلم تثبيت setup البرامج من السورس و أنا شخصيا أول ما تعلمت ذلك كان قبل سنوات بتثبيت setup apache و php من السورس.
مزايا هذا النوع من التثبيت setup هو أنه يعمل على كل التوزيعات و أنه يمكنك من التحكم في خيارات التثبيت setup.

- ثانيا إشارة هامة و هي أنني لن أتطرق إلى مشاكل الارتباطات بين الحزم. حيث من المعلوم أن بعض البرامج في اللينكس تحتاج قبل تثبيت setupها بعض الحزم و المكتبات التطويرية. فإذا واجهك مشكل في التثبيت setup أرجو طرحه في المنتديات الخاصة بلينوكس (بعد البحث طبعا).
و لكن هذه حزمة ضرورية نظرا لأن العديد من المستخدمين واجهوا مشكل بسبب عدم وجودها:
مكتبة libxml
لتثبيت setupها في دبيان و نظيراتها :
apt-get install libxml2-dev
apt-get install libxml2 (غير متأكد هل هذا ضروري)
في ردهات و نظيراتها :
urpmi libxml2-devel
urpmi libxml2 (غير متأكد هل هذا ضروري)

- ثالثا فيما يخص مسار تثبيت setup البرامج فأنا اخترت التثبيت setup في المجلد التالي:
رمز PHP:

<code style="white-space:nowrap"> <code> /opt
</code> </code>

يمكنك اختيار التثبيت setup في أي مجلد يحلو لك. الأكثر استعمالا هو:
رمز PHP:

<code style="white-space:nowrap"> <code> /usr/local
</code> </code>

- رابعا هذه هي النسخ المستعملة من البرامج و هي الأحدث حين كتابة هذه الأسطر. المرجو تحميل أخر نسخة من مواقع كل برنامج :
Apache 2.2.3 الموقع: http://httpd.apache.org/download.cgi (http://httpd.apache.org/download.cgi)
php 5.1.5 الموقع: http://www.php.net/downloads.php (http://www.php.net/downloads.php)
mySql 5.0.22 الموقع: http://dev.mysql.com/downloads/mysql/5.0.html#Source (http://dev.mysql.com/downloads/mysql/5.0.html#Source)


1.تثبيت setup mySql

بالإمكان البدء ب Apache أو mySql و لكن يجب أن يكون php هو آخر ما نثبت

أولا ننشئ مستخدم mysql و مجموعة mysql :

رمز PHP:

<code style="white-space:nowrap"> <code> groupadd mysql
useradd -g mysql mysql
</code> </code>

بعد تحميل ملف مصدر ال mySql نقوم بالدخول إلى المجلد الموجود فيه الملف المضغوط ثم نفك عنه الضغط و ندخل إلى المجلد الناتج
لنفرض أن الملف موجود في المجلد
رمز PHP:

<code style="white-space:nowrap"> <code> /opt/src
</code> </code>

نتبع ما يلي :
رمز PHP:

<code style="white-space:nowrap"> <code> cd /opt/src
tar zxvf mysql-5.0.22.tar.gz
cd mysql-5.0.22
</code> </code>

الآن سنقوم بتنفيذ أمر الإعداد :
رمز PHP:

<code style="white-space:nowrap"> <code> ./configure --prefix=/opt/mysql
</code> </code>

تعليق :
خيار --prefix يقوم بتحديد مسار التثبيت setup إلى مجلد معين

إذا انتهت هذه المرحلة بنجاح يمكنك الانتقال إلى المرحلة التالية : البناء و التثبيت setup :
رمز PHP:

<code style="white-space:nowrap"> <code>
make
make install
</code> </code>

بعد انتهاء العملية بنجاح قم بنسخ الملف الخاص بإعدادات mySql و تغيير صلاحياته :
رمز PHP:

<code style="white-space:nowrap"> <code> cp /opt/src/mysql-5.0.22/support-files/my-small.cnf /etc/my.cnf
chown root /etc/my.cnf
chgrp root /etc/my.cnf
chmod 644 /etc/my.cnf
</code> </code>

ثم افتح الملف المنسوخ بnano أو غيره من محرر النصوص:

رمز PHP:

<code style="white-space:nowrap"> <code> nano /etc/my.cnf
</code> </code>

و ابحث عن السطر التالي :
[mysqld]
و أضف مباشرة من بعد هذا السطر السطر التالي:
user = mysql

يمكنك القيام بمزيد من الاعدادات.

يجب اﻵن إنشاء قاعدة اسمها mysql و هي ضرورية لعمل السرفر mySql :
رمز PHP:

<code style="white-space:nowrap"> <code> /opt/mysql/bin/mysql_install_db --user=mysql
</code> </code>

هذا الأمر يقوم بإنشاء المجلد var داخل المجلد الذي ثبتنا فيه mySql. هذا المجلد (var) هو الذي يحتوي على جميع القواعد المنشأة من mySql. هذا المجلد يجب أن يكون مسموحا بالكتابة فيه من طرف المستخدم mysql الذي أنشأنا فيما قبل.

الآن سغير صلاحيات الملفات و المجلدات حسب الطريقة التالية :
رمز PHP:

<code style="white-space:nowrap"> <code> chown -R root /opt/mysql
chown -R mysql /opt/mysql/var
chgrp -R mysql /opt/mysql



</code> </code>

الآن انتهينا من عملية التثبيت setup و يمكننا البدء في تشغيل سرفر ال mySql.
لتشغيل السرفر يجب تنفيذ الأمر التالي :
رمز PHP:

<code style="white-space:nowrap"> <code> /opt/mysql/bin/mysqld_safe --user=mysql &
</code> </code>

يظهر لنا على شاشة الطرفية رسالة تشبه ما يلي :
رمز PHP:

<code style="white-space:nowrap"> <code> pc-amine:/opt# ./mysql/bin/mysqld_safe --user=mysql &
&#91;2&#93; 32608
pc-amine:/opt# Starting mysqld daemon with data****s from /opt/mysql/var
</code> </code>

السرفر الآن مشغل. اضغط على انتر مرة ثانية للرجوع إلى سطر الأوامر (السرفر يبقى مشغل).

الآن سنقوم بتجربة الارتباط بالسرفر باستعمال المستخدم root. هذا المستخدم هو مدير ال mySql و هو مختلف عن المستخدم root مدير النظام، و حاليا ليست لديه كلمة سر.
نفذ ما يلي لفتح ارتباط على السرفر :
رمز PHP:

<code style="white-space:nowrap"> <code> /opt/mysql/bin/mysql -u root
</code> </code>

إذا نجح الارتباط فإنك ستحصل على الأسطر التالية على الشاشة :
رمز PHP:

<code style="white-space:nowrap"> <code> Welcome to the MySQL monitor. Commands end with; or \g.
Your MySQL connection id is 2 to server version: 5.0.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
</code> </code>

للخروج اكتب quit ثم انتر.

لا شك أن وجود مستخدم root بدون كلمة السر يشكل ثغرة أمنية خطيرة إذا كان السرفر مفتوحا للاستخدام على الشبكة. لذا سنقوم الآن بوضع كلمة السر للمستخدم root بتنفيذ ما يلي (باعتبار أن كلمة السر هي secret):
رمز PHP:

<code style="white-space:nowrap"> <code> /opt/mysql/bin/mysqladmin -u root flush-privileges password secret
</code> </code>

الآن للارتباط باستعمال كلمة السر يمكننا استخدام إحدى الطريقتين :
رمز PHP:

<code style="white-space:nowrap"> <code> opt/mysql/bin/mysql -u root -p
أو
/opt/mysql/bin/mysql -u root --password=secret
</code> </code>

إذا أردنا فيما بعد تغيير كلمة السر من secret إلى newPass مثلا فالطريقة هي :
رمز PHP:

<code style="white-space:nowrap"> <code> /opt/mysql/bin/mysqladmin -u root --password=secret flush-privileges password newPass
</code> </code>

لوقف تشغيل السرفر :

رمز PHP:

<code style="white-space:nowrap"> <code> /opt/mysql/bin/mysqladmin -u root -p shutdown
</code> </code>

و أخيرا إذا كنت تريد أن يبدأ تشغيل السرفر تلقائيا مع بدء تشغيل النظام فيجب تنفيذ الأوامر التالية :
أولا ننسخ الملف mysql.server الموجود في المجلد support-files من مصدر البرنامج (و ليس في المجلد الذي ثبتنا فيه الmySql):
رمز PHP:

<code style="white-space:nowrap"> <code> p /opt/src/mysql-5.0.22/support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
</code> </code>

ثم في الدبيان و نظيراتها :
رمز PHP:

<code style="white-space:nowrap"> <code> update-rc.d mysql defaults
</code> </code>

في الردهات و السيوزي و نظيراتها :
رمز PHP:

<code style="white-space:nowrap"> <code> chkconfig --add mysql
chkconfig mysql on
</code> </code>

السموحه لو مكرر
سلاموا عليكوا





https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى