انتقلنا إلى AWS

السلام عليكم

بعد انتهاء فترة استضافتي المشتركة، قررت استغلال ال amazon free tier
قمت بتسجيل حساب جديد ، وعن طريق خدمة EC2 قمت بتنصيب سيرفر ابونتو
وربطه باي بي elastic ip ، وربطت الايبي بالدومين عن طريق A name

لم احتج حتى الان لتنصيب لوحة تحكم على السيرفر، قمت بعمل كل شيء عن طريق السيرفر مباشرة.

طريقة عمل ال AWS جميلة جدًا مع اني استصعبت في البداية لأنني جديد على مثل هذه الامور.

طريقة انشاء السيرفر(على السريع):

1-الدخول إلى الكونسول ثم EC2
2- عمل مجموعة صلاحيات جديدة، لها امكانية الدخول إلى الشل وامكانية عرض ال http، نقوم باضافة الادوار وتطبيقها
3-نقوم بانشاء مفتاح جديد، لأن الاتصال بالسيرفر فقط عن طريق public \private key، نقوم بحفظ المفتاح على جهازنا للاتصال
بالشل عند الحاجة
4-نقوم بانشاء instance جديد عن طريق الwizard، نعطيه اسم ومفتاح ونختار AIM ، أنا اخترت الابونتو
5- بعد ان يعمل السيرفر ، نقوم باتصال به عن طريق المفتاح الذي معنا، يمكن ان نضغط كلك يمين فتظهر منها قائمة ونختار منها الاتصال بالجهاز،
هذا الامر يتم على طريق ابلت بالجافا.
6- نقوم بتنصيب الامور التي نحتاجها عن طريق tasksel وهي lamp server او اي شيء اخر، اذا احتجنا شيء اخر يجب السماح به في المجموعة الامنية التي قمنا بانشاءها في 2
7- بعد انتهاء التنصيب نقوم بعمل elastic ip وربطه بال instance.
8- يمكن بعدها نقل ما نشاء إلى السيرفر، اذا واجهتك مشكلة مع mod rewrite تذكر انه يجب تفعيله

بالتوفيق :)

طريقة تنصيب اطار play لبناء تطبيقات الجافا على اﻻبونتو

السلام عليكم

الطريقة سهلة:

تنزيل الاطار وحفظه في مكان امين :)

http://www.playframework.org/download

اضافة الاطار إلى ال path الخاص بالنظام، وهنا ابونتو

اذهب إلى
/etc/
ثم
bash.bashrc
وضع مسار الاطار بالشكل التالي:

PATH=”/opt/play:$PATH”

احفظ واعد تشغيل الترمينال

للعمل على النت بينز، انشئ تطبيق
play new app
ثم اكتب التالي:
play netbeansify app
وسيعمل على النت بينز

لمن لا يعرف اطار play ، هذا فيديو تعريفي به:

مصادر:

http://www.playframework.org/documentation/1.2.4/home

طريقة عمل virual host لمشروع على سيرفر اﻻباتشي

السلام عليكم

 

سنستعرض طريقة عمل virtual host لمشروع أو مجلد على سيرفر اﻻباتشي على نظام ابونتو:

 

1-افحص اذا كان mod rewrite مفعل:

sudo a2enmod rewrite
2- اذهب إلى
cd /etc/apache2/sites-available
3- قم بنسخ الملف اﻻفتراضي:
sudo cp default bug-tarcker.dev
طبعًا غير اسم الملف لاسم اﻻستضافة الوهمية التي تريد انشاءها
4- عدل على الملف.

5-قم بتشغيل اﻻمر:
sudo a2ensite yourpreferredname.dev

طبعًا مع التغيير لاسم الملف الجديد
6- قم باضافة اسم اﻻستضافة الوهمية لملف اﻻبونتو
كتالي:
sudo nano /etc/hosts
ضع في الملف
127.0.0.1 yourprefferedname.dev
اخيرًا اعد تشغيل اﻻباتشي:
sudo /etc/init.d/apache2 reload

اذا ظهر الخطأ:
apache2: Could not reliably determine the server’s fully qualified domain name

اذهب إلى الملف:
sudo gedit /etc/apache2/httpd.conf

وضع فيه:
ServerName localhost

واعد تشغيل اﻻباتشي:
sudo /etc/init.d/apache2 restart

اعطاء سكربتاتك صلاحية الكتابة في اﻻبونتو

السلام عليكم

كثيرًا ما يتذمر مستخدمو اللينكس من اضطرارهم لادخال بيانات ال ftp او ان يقوموا برفع اضافات الوردبرس يدويا بدلا من رفعها عن طريق لوحة التحكم

 

هذا اﻻمر يقوم بالمطلوب، وهو يعطي المستخدم الذي يشغل سيرفر اﻻباتشي(www-data) صلاحية الكتابة في المجلد

var/www

اﻷمر هو:


 sudo chown www-data:www-data -R /var/www/
chmod 755 -R /var/www

استعلام لاستخراج مبنى الجدول table schema

الاستعلام هو

show create table wp_links

ويعطي التالي:


CREATE TABLE `wp_links` ( `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `link_url` varchar(255) NOT NULL DEFAULT '', `link_name` varchar(255) NOT NULL DEFAULT '', `link_image` varchar(255) NOT NULL DEFAULT '', `link_target` varchar(25) NOT NULL DEFAULT '', `link_description` varchar(255) NOT NULL DEFAULT '', `link_visible` varchar(20) NOT NULL DEFAULT 'Y', `link_owner` bigint(20) unsigned NOT NULL DEFAULT '1', `link_rating` int(11) NOT NULL DEFAULT '0', `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `link_rel` varchar(255) NOT NULL DEFAULT '', `link_notes` mediumtext NOT NULL, `link_rss` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`link_id`), KEY `link_visible` (`link_visible`) ) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8

وهو جدول في الوردبرس

تخفيف اﻻمن في ال phpmyadmin

السلام عليكم

 

احيانًا نحتاج لتخفيف اﻻعدادات الامنية في ال phpmyadmin

وذلك ﻷننا نعمل على اللوكال هوست ولا نريد ان نضغط كلمة المرور كل مرة ندخل فيها لنرى قواعد البيانات.

أو اننا نريد ان تستمر الجلسة لوقت طويل

(النظام المستخدم هو اﻻبونتو)

الحل هنا:

http://stackoverflow.com/questions/3216009/phpmyadmin-disable-admin-login

 

http://data.agaric.com/stop-phpmyadmin-from-logging-you-out-your-own-local-environment-ubuntu

تنصيب phpunit على اﻻبونتو وال zend server

السلام عليكم

حتى تتم العملية بشكل سليم علينا ان نفرق بين ادوات سيرفر الزند واﻻدوات المنصبة على اﻻبونتو عن طريق مدير الحزمات

قبل البدء قم بحذف الحزم التالية إذا كنت قد نصبتها من شرح آخر لأننا سوف نعمل على اﻻدوات التي تاتي مع الزند فقط.

pear

phpunit

اﻻن حتى نستطيع الوصول إلى ادوات الزند يجب ان نخبر الترمينال عن مكانها كالتالي:

 

export PATH="$PATH:/usr/local/zend/bin"
export ZEND_TOOL_INCLUDE_PATH="/usr/local/zend/share/ZendFramework/library"

السطر الثاني نخبر فيه عن مكان اطار الزند حتى نستعمله مع الzend tool
نضع هذه السطور في

 /etc/bash.bashrc

نعمل حفظ ونعيد تشغيل الترمينال

اﻻن نتأكد من وجود اﻻدوات عن طريق

pear help

اﻻن سوف ننصب مكتبة ال phpunit من اداة ال pear
ندخل التالي:

sudo pear channel-update pear.php.net
sudo pear upgrade pear
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no

sudo pear install -a phpunit/PHPUnit

بعدها نجرب التالي:

phpunit --version

المفروض ان يعمل دون اخطاء

اذا احتجت لتغيير ال include_path يمكن ان تغير للتالي:

.:/usr/local/zend/share/pear:/usr/local/zend/share/ZendFramework/library:

آمل ان يكون الشرح مفيدًا
ﻹنه فعلا واجهتني مشاكل كثيرة اثناء التنصيب :)

اختصارات اعجبتني في اﻻبونتو

السلام عليكم

هنا اعرض اختصارات مفيدة في نظام ابونتو

win+s

عرض جميع مناطق العمل

 

alt+ ctrl+right arrow

اﻻنتقال لمنطقة العمل اليمنى

shift+alt+ctrl+arrow

نقل النافذة لمنطقة عمل اخرى

alt+enter

عرض خصائص الملف المحدد

 

alt+ctrl+d

عرض سطح المكتب

win

عرض قائمة ال unity

والضغط المتواصل عليه يعطي ارقام للتطبيقات التي على الشريط

alt+f2

تنفيذ امر شل

ctrl+f1

عرض قائمة التطبيقات العادية

 

alt+tab اختصار معروف للتبديل بين النوافذ

لكن بعد الضغط عليه اذا ضغطنا على اﻻسهم يمكن ان ننتقل بين النوافذ

بحيث ان الاسهم اﻻفقية للتنقل بين النوافذ المختلفة والاسهم العامودية

للتنقل بين النوافذ المتشابهة

alt+ctrl+L

اقفال الشاشة

alt+ctrl+backspace

اعادة تشغيل الجلسة الحالية اذا حصل تعليق

 

هذا ما لدي حاليًا

استخدام zend_translate لترجمة التطبيقات ﻷكثر من لغة

السلام عليكم

 

سوف نتكلم اليوم بشكل موجز عن طريقة ترجمة السكربتات عن طريق

مكتبة الترجمة والتي تحسب والحق يقال كنقطة من نقاط القوة ﻹطار الزند

وذلك للاسباب التالية:

  1. امكانية الاستعمال من اكثر من مصدر معلومات ووجود المحولات اللازمة لذلك مثل gettext,xml,csv,array
  2. امكانية عمل محولات خاصة adapters
  3. امكانية التضمين بسهولة مع المركبات اﻻخرى للاطار مثل النماذج وكلاسات التحقق و Zend_Locale التي يمكن ان تجلب لغة المتصفح.

لاستعمال الكلاس نقوم بانشاء مجلد جديد داخل مجلد configs

ونسميه langs ونضع فيه ملفات اللغة(سنتخدم هنا محول ال csv)

لنفرض العربية واﻻنجليزية:

ar.csv

en.csv

بما ان اللغة اﻻنجليزية ستكون اﻻفتراضية، سننشئ ملف لكن لا نضع فيه جميع العبارات، يعني اﻻمر صوري لا أكثر.

بعد ان ننشئ الملفات نقوم بتعريف كائن الترجمة ونقوم بارفاقه في القالب كالتالي:

 

	protected function _initTranslator()
	{
		$this->bootstrap('view');
		$view = $this->getResource('view'); 

        $t = new Zend_Translate(
        array(
        'adapter' => Zend_Translate::AN_CSV,
        'content' => APPLICATION_PATH.'/configs/langs/ar.csv',
        'locale'  => 'ar'
 	   )

        );

        Zend_Form::setDefaultTranslator($t);
        Zend_Validate_Abstract::setDefaultTranslator($t);

        $view->t = $t;

	}

ملفات اللغة:
ar.scv

?# Arabic
Hello;marhaba
title;onwan
username;esm mostakhdem

en.csv

?# English
hello;Hello

مصادر:
http://www.zendcasts.com/introducing-zend_translate/2009/11/

http://framework.zend.com/manual/en/zend.translate.html