Tag Archives: PHP

تثبيت وإعداد قاعدة بيانات PostGreSQL وربطها بخادم Apache على أوبنتو

السلام عليكم،
سأشرح من خلال هذه التدوينة طريقة تهيئة بيئة تطوير PHP تعتمد على قاعدة بينات postgresql (بدلا من قاعدة بيانات MySQL كما جرت العادة لدى الكثيرين). أما عن أسباب اختيار posgresql فعديدة أهمها دعمها المتقدم  لمعايير SQL بالإضافة إلى أنها متوفرة تحت رخصة BSD (اضغط هنا للاطلاع على مقال يعرض تفاصيل أكثر عن postgresql).
الخطوات بسيطة وستكون كالتالي.

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

تثبيت  قاعدة بيانات postgresql

نفذ الأمر التالي (يجب أن تكون لديك صلاحيات root) لتثبيت آخر إصدر من قاعدة البيانات، 9.1.8 أثناء كتابة هذه السطور،

sudo apt-get install postgresql

ثم نثبت pgadmin3 وهي واجهة رسومية لإدارة خادم postgresql عبر الأمر

sudo apt-get install pgadmin3

    واجهة pgAdmin III لإدارة قواعد بيانات PostGreSQL

واجهة pgAdmin III لإدارة قواعد بيانات PostGreSQL

نثبت خادم أباتش وحزم PHP5

للتذكير Apache هو خادم وب حر ومفتوح المصدر تستخدمه الكثير من المواقع ويقدم العديد من الميزات. إذا كنت تريد تجربة تطوير صفحات بي أتش بي فسيكون ضروريا لك تثبيت خادم وب يُفسر سكربتات PHP ويحولها إلى صفحات HTML يرسلها لمتصفح المستخدم لعرضها.
الأمر التالي يثبت واجهة phpPgAdmin لإدارة قاعدة البيانات عن طريق واجهة وب (مماثل لعمل phpmyadmin مع قاعدة بيانات MySQL). ليس هذا فقط، بل إنه يُثبت أيضا خادم أباتش وآخر إصدارات PHP.

sudo apt-get install phppgadmin

بهذا نكون أنهينا المرحلة الأولى وهي تثبيت الأدوات. نكمل مع الإعدادات.

ما سنقوم به الآن هو إعداد خادم postgresQL حتى يمكننا الدخول إليه من الخادم المحلي (localhost). انتبه لمسار الملف إذ أنه يحوي مجلدا باسم رقم الإصدار، 9.1 في حالتي

gksudo gedit /etc/postgresql/9.1/main/postgresql.conf

بعد فتح الملف أضف السطر التالي في آخره

listen_addresses = 'localhost'

احفظ الملف ثم أغلقه. نفذ الأمر التالي بعد حفظ التغييرات في الملف المفتوح وإغلاقه

gksudo gedit /etc/postgresql/9.1/main/pg_hba.conf

إذا كان يوجد سطر “local all all ident sameuser” أبدله بالسطر التالي (إن لم يكن السطر المذكور موجودا أضف السطر التالي في نهاية الملف)

local   all         all                               md5
احفظ الملف ثم أغلقه.

إعداد phpPgAdmin

واجهة phpPgAdmin

واجهة phpPgAdmin

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

gksudo gedit /etc/apache2/apache2.conf

اذهب لآخر الملف وأضف ما يلي في سطر جديد

Include /etc/phppgadmin/apache.conf

لقد أنهينا الإعدادت، أعد تشغيل Apache و PostGreSQL عبر الأمرين التاليين لأخذ الإعدادت بالاعتبار.(انتبه للأمر الثاني إذ أنه قد يحوي رقم إصدار PostGreSQL، اكتب المسار /etc/init.d/postgresql ثم استخدم زر Tab على يسار لوحة المفاتيح لتشغيل الإكمال التلقائي )

sudo /etc/init.d/apache2 restart
sudo /etc/init.d/postgresql restart

للدخول إلى الصفحة الرئيسية لخادم أباتش العنوان هو http://localhost  ولواجهة phpPgAdmin العنوان هو http://localhost/phppgadmin .

المجلد الذي يجب وضع السكربتات فيه ليُفسرها خادم أباتش هو var/www/ حيث يوجد بشكل افتراضي ملف index.html يعرض عند الدخول لعنوان أباتش. يمكنك تغييره. شخصيا أقوم بوضع صفحة تحوي سكريبت PHP يعرض محتويات المجلد حتى يمكنني الوصول إلى مختلف المشاريع بسهولة.
إذا رغبتَ في فعل نفس الشيء إليك السكربت (احفظه باسم index.php وغير اسم الملف index.html إلى indexA.html على سبيل المثال).

<?php
$dirname = getcwd();
$dir = opendir($dirname);
while($file = readdir($dir)) {
if($file != ‘.’ && $file != ‘..’ && !is_dir($dirname.$file)) {
echo ‘- <a href=”‘.$file.'”>’.$file.'</a>’.'<br /><br />’;
}
}
closedir($dir);
?>

خطوات أخرى ليست ضرورية ولكنها مفيدة وأنصح بتنفيذها.

تغيير كلمة مرور المستخدم root ل PostGreSQL.

المستخدم root الذي أتحدث عنه هنا هو المستخدم الأعلى SuperUser لخادم PostGreSQL وليس مستخدم النظام. المستخدم الجذر ل PostGreSQL هو postgres ويأتي بشكل افتراضي دون كلمة مرور. الأمر  التالي يحدد كلمة مرور لهذا المستخدم. (حيث password هي كلمة المرور. ضع كلمة المرور التي تختارها مكانها دون حذف الظفرين ‘ ‘)

sudo -u postgres psql template1
ALTER USER postgres with encrypted password ‘password’;
\q

إنشاء مستخدم جديد في PostGreSQL

لإنشاء مستخدم جديد باسم username ننفذ الأمر (اختر اسم مستخدم مناسبا لك). بعد تنفيذ الأمر سيُطلب منك إدخال كلمة مرور ثم تأكيدها بعدها سيسألك إن كنت تريد إعطاء صلاحيات “المستخدم الأعلى” SuperUser للمستخدم الجديد، أدخل y لإعطاء تلك الصلاحيات أو n لإنشاء مستخدم عادي.

sudo -u postgres createuser -d -R -P username

كما يمكنك إنشاء قاعدة بيانات جديدة وجعل المستخدم الجدية مالكا لها عبر الأمر (حيث database_name اسم قاعدة البيانات و username اسم المستخدم الذي أنشأته بالأمر السابق).

sudo -u postgres createdb -O username database_name

الجدير بالذكر هنا أنه بالإمكان القيام بهذه الأمور – إنشاء مستخدمين، إنشاء قواعد بيانات وأمور أخرى – بطرق عدة. إحداها سطر الأوامر كما رأينا أو الواجهة الرسومية pgadmin  أو واجهة وب phpPgAdmin. أنتَ وما تختار 🙂

أترككم على أمل أن تكون هذه التدوينة أفادتكم.

مصادر

http://bdhacker.wordpress.com/2011/05/06/postgresql-phppgadmin-php5-ubuntu/

مُتعلقات

تهيئة بيئة تطوير PHP وتثبيت ووردبرس WordPress

تهيئة بيئة تطوير PHP وتثبيت ووردبرس WordPress

السلام عليكم، وأهلا بكم في هذه التدوينة التي سأشرح فيها تهيئة بيئة بي أتش بي ثم تثبيت منصة التدوين المعروفة WordPress على توزيعة أوبنتو.
ووردبرس غني عن التعريف، في عالم مواقع الويب والمدونات خصوصا. تقدم ويكيبديا وورد برس بأنه

    نظام لإدارة المواقع بشكل عام والمدونات بشكل خاص وتم بناءه باستخدام لغة PHP وقواعد بيانات MySQL، وهو مفتوح المصدر وقام ببرمجته مجموعة من المطورين المتطوعين.

14.7% من أفضل 1 مليون موقع يستخدم ووردبريس حسب إحصائيات أليكسا إنترنت، و 22% من المواقع الجديدة تستخدم ووردبريس

يخضع ووردبرس لرخصة جنو العمومية.

يحتاج ووردبرس لبيئة تطوير بي أتش بي للعمل عليها، لذا سنقوم أولا بإعداد هذه البيئة.

تهيئة بيئة تطوير PHP: تثبيت الحزمة XAMPP

من الشائع في عالم لينوكس تثبيت كل من خادم أباتش Apache، بيئة PHP وقاعدة بيانات Mysql (لأكون أدق، Mysql هو نظام لإدارة قواعد البيانات) بشكل منفصل، لكننا هنا سنقوم بتثبيتها معا باستخدام حزمة (X Apache Mysql Perl PHP) المعروفة اختصارا ب XAMPP . للمعلومة الحزمة متوفرة على نظم windows و Mac و Solaris أيضا.
أول خطوة نذهب لموقع XAMPP الرسمي ,

تنزيل XAMPP

صفحة تنزيل، في أسفل الصورة يظهر مجموع MD5 XAMPP

على صفحة الموقع ننزل نسخة ليونكس من الإصدار الأخير من الحزمة كما يظهر في الصورة أعلاه. أثناء كتابة هذه السطور، آخر نسخة هي 1.8.1 . في خانة Notice تظهر جميع محتويات الحزمة، ومن بينها ما نبحث عنه، خادم أباتش Apache، بيئة PHP وقاعدة بيانات Mysql.

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

echo "e7092eafff81ad363de45d192774b4d6 xampp-linux-1.8.1.tar.gz" | md5sum -c

لتثبيت XAMPP ينبغي أن نكون في وضع المستخدم الجذر root، لذا نُدخل الأمر

sudo su

ثم نقوم بفك ضغظ الملف واستخراج محتواه ووضعها في مجلد /opt عن طريق الأمر (انتبه لاسم الملف إذا كنت نزلت  نسخة مغايرة للإصدار 1.8.1)

tar xvfz xampp-linux-1.8.1.tar.gz -C /opt

 


ملحوظة
:
إذا كنتَ تستخدم معمارية 64 بت فسيتوجب عليك تنزيل حزم التوافق مع معمارية 32 بت عبر الأمر

sudo apt-get install ia32-libs  

نغير صلاحيات المجلد حيثُ /opt/lampp/htdocs/ حيث يتوجب أن توضع ملفات PHP لكي يتمكن الخادم من تفسيرها وعرض صفحات الوب

chmod 777 -R /opt/lampp/htdocs/

بهذا نكون قد أنهينا تثبيت XAMPP.

لتشغيل XAMPP (وبالتالي تشغيل Mysql و PHP و Apache) ننفذ الأمر (بصلاحيات root)

/opt/lampp/lampp start

للتأكد من نجاح عملية التثبيت، نشغل XAMPP ثم ندخل الصفحة http://localhost

صفحة البداية في XAMPP

صفحة البداية في XAMPP

ولإيقاف تشغيله

/opt/lampp/lampp stop

إذا كان كل ما تريد هو تهيئة بيئة لتطوير التطبيقات بلغة PHP فإنه بإمكانك ذلك الآن بعد أن ثبت XAMPP. جميع ملفات PHP يجب أن توضع تحت مجلد /opt/lampp/htdocs أو مجلد متفرع عنه ليتاح إمكانية ترجمتها من طرف خادم أباتش، ويمكن الوصول إليها عبر المسار localhost/filename.php حيث filename.php هو اسم الملف الموجود تحت مجلد htdocs، إذا كان الملف موجودا في مجلد متفرع عنه، مثلا /opt/lampp/htdocs/test يكون الوصول إليه هكذا عبر المتصفح localhost/test/filename.php

الآن صار بإمكاننا تثبيت WordPress.

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

تأكد من تشغيل XAMPP ثم ادخل للعنوان التالي http://localhost/phpmyadmin/

إذا واجهتك رسالة تقول

Access forbidden!

New XAMPP security concept:
Access to the requested object is only available from the local network.
This setting can be configured in the file “httpd-xampp.conf”.

فيجب اتباع الخطوات التالية لحل المشكل.
افتح الملف httpd-xampp.conf الموجود تحت المسار /opt/lampp/etc/extra عبر الأمر

sudo gedit /opt/lampp/etc/extra/httpd-xampp.conf

(طبعا يمكنك اختيار محرر نصوص آخر إذا كنت لا ترغب ب gedit أو إذا لم يكن متاحا على نظامك )

في آخر الملف ستجد الأسطر التالية

#
# New XAMPP security concept
#
<LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))”>
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 \
fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
81.196.40.94/32
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

الأمر يتعلق بصلاحيات الدخول لخادم Apache، الإعداد الافتراضي – لأسباب أمنية – الذي يأتي في حزمة XAMPP هو منع وصول المستخدمين. لتصحيح الأمر نضيف Require all granted مباشرة قبل سطر ErrorDocument لتصح الأسطر أعلاه كما يلي(التغييرات باللون الأخضر)

<LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))”>
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 \
fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
81.196.40.94/32
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

لأخذ التغييرات بالاعتبار يجب إعادة تشغيل الخادم عبر الأمر

sudo /opt/lampp/lampp restart

تثبيت WordPress

phpMyAdmin هو واجهة عبر الوب لإدارة نظم إدارة قواعد البيانات ك ماي أس كيو أل MySQl سنستخدمها لإنشاء قاعدة البيانات التي سيعتمد عليها نظام إدارة المحتوى ووردبرس للعمل.

بالضغط على Databases في القائمة الموجودة في الواجهة ستجد الخانات التالية، عبئها كما في الصورة

إنشاء قاعدة بيانات

إنشاء قاعدة بيانات ووردبرس

سنقوم بإعداد قاعدة البيانات ليستخدمها ووردبرس

إنشاء قاعدة بيانات ووردبرس

إنشاء قاعدة بيانات ووردبرس

نبدأ بإضافة مستخدم جديد لقاعدة البيانات وإعطائه الصلاحيات اللازمة

إدارة الصلاحيات

إدارة الصلاحيات

إضافة مستخدم

إضافة مستخدم لقاعدة البيانات

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

بيانات المستخدم

بيانات المستخدم

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

صلاحيات المستخدم الجديد

صلاحيات المستخدم الجديد

بعد تأكيد إضافة المستخدم الجديد عبر الضغط على Add user، يمكن التأكد من إضافة المستخدم الجديد بالنظر لقسم الصلاحيات Privileges

المستخدم وصلاحياته

المستخدم وصلاحياته

بعد إضافة قاعدة البيانات التي سيستخدمها ووردبرس وإعطاء الصلاحيات للمستخدم الجديد، نأتي الآن للمرحلة الأخيرة وهي تثبيت وإعداد ووردبرس.

ننزل آخر إصدار من ووردبرس عبر الأمر

wget -c http://wordpress.org/latest.zip

(الخيار c- في الأمر wget هو لاستكمال التنزيل في حال انقطاعه، للمزيد عن الأمر wget يمكنك مراجعة هذه التدوينة)

نفذ الأمر التالي في المجلد حيثُ نزلت ملف ووردبرس لفك الضعط

unzip latest.zip

بعد فك الضغط ستحصل على مجلد wordpress قم بنقله إلى مجلد htdocs الموجود تحت المسار /opt/lampp عبر الأمر (تأكد من اسم المجلد الناتج عن فك الضغط)

sudo mv  wordpress/ /opt/lampp/htdocs

ربط ووردبرس مع قاعدة البيانات

داخل المجلد wordpress (الناتج عن فك ضغط الملف بعد التنزيل) ستجد ملفا باسم wp-config-sample.php ، افتحه، سيحوي الملف الأسطر التالية :

/** The name of the database for WordPress */
define(‘DB_NAME‘, ‘wordpress_db‘ );
/** MySQL database username */
define(‘DB_USER‘, ‘wordpress_user‘ );
/** MySQL database password */
define(‘DB_PASSWORD‘, ‘password_here‘ );
/** MySQL hostname */
define(‘DB_HOST‘, ‘localhost‘ );

وأدخل قيم المتغيرات التالية ، المتغيرات مبينة باللون الأحمر وقيمها باللون الأخضر، ما سنغيره ليتوافق مع إعدادات قاعدة البيانات لدينا هو قيم المتغيرات، وليس المتغيرات نفسها.
– DB_NAME: اسم قاعدة البيانات، wordpress_db في حالتي هنا
– DB_USER: اسم المستخدم الذي أنشأناه في الخطوات السابقة، wordpress_user
– DB_PASSWORD: كلمة السر التي المُولدة سابقا

– DB_HOST: الخادم المضيف لقاعدة البيانات، في حالتنا هنا هو الخادم المحلي، أي localhost

بعد إجراء التغييرات احفظ الملف باسم wp-config.php في نفس المجلد. (أي /opt/lampp/htdocs/wordpress)

الآن كل شيء جاهز لتنفيذ سكريبت تثبيت ووردبرس، لذا ادخل العنوان التالي

http://localhost/wordpress/wp-admin/install.php

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

الآن ووردبرس جاهز للاستعمال، الصفحة الرئيسية توجد هنا http://localhost/wordpress/ وصفحة إدارة الموقع من هنا http://localhost/wordpress/wp-admin

اشترك في خدمة RSS واحصل على آخر إضافات المدونة
إلى الملتقى.