This stream auto-updates     

  1. الاسبوع الماضي
  2. البريد عبر الويب هو وصول إلى البريد التقلدي عبر الأنترنيت وذالك عبر تطبيقات تعمل على استعمال بروتوكولات البريد من pop3،imap,smtp ، في الغالب تأتي مع الاستضافة التي قمنا بطلبها أو عند تثبيت نظام بريد يتضمنها مثل Zimbra، من تطبيقات البريد عبر الوب webmail الأكثر استعمالا نجد Roundcube وهو من المفضلة للجميع لأنه يحتوي الكثير من المميزات، في هذا الشرح سنتطرق لتثبيت تطبيق آخر من webmail يعمل عبر php ويسمى Rainloop Rainloop هو تطبيق بريد وب مفتوح المصدر مبرمج عبر php يمكن استعمال في أغلب الاستضافات أو الخوادم الخاصة وله نسختين للاستعمال Community و Standard يتضمن واجهة جيدة وسهلة التعامل . تثبيت Rainloop قمت بإنشاء مجلد لملفات البريد وتفعيله في الخادم الويب للولوج له عبر mail.arsrv.org نذهب للمجلد ونقوم بتحميل التطبيق cd /var/www/mail.arsrv.org/ wget http://www.rainloop.net/repository/webmail/rainloop-latest.zip نفط الضغط على الملف وبعد ذالك نقوم بحذف الملف الذي تم تحميله سابقا unzip rainloop-latest.zip rm rainloop-latest.zip نقوم بوضع الصلاحيات الخاصة بالخادم الويب chown -R www-data:www-data . بعد ذالك نذهب للإعدادات التطبيق عبر رابط http://mail.arsrv.org/?admin اسم المستخدم وكلمة المرور و يجب تغيره عند الدخول admin 12345 نضيف معلومات الخاصة بالخادم المرسل و المستقبل للبريد في إعدادات Domains وبعده Add Domain باقي الإعدادات مثل تفعيل جهات الاتصال نحتاج توصيله بقاعدة بيانات تم إنشائها من قبل.
  3. Eclipse Kura هو إطار عمل في البرمجة جافا (Framework) يستند إلى OSGI لعمل وتطوير بوابات إنترنت الأشياء . هدفه الرئيسي تبسيط وتسهيل نشر وإدارة التطبيقات المدمجة، بمعنى آخر ترك عمل بوابة gateways للتطبيقات IoT له. عند عمل شبكة من أجهزة إنترنت الأشياء نحصل على مشكلة عمل بوابة لهم باستعمال Eclipse Kura يمكننا تسهل ذالك عبر بوابة للكل h النسخة الحالية 3.1 ويمكن مراجعة كل مكونات المشروع أو تحميله في الموقع الرئيسي للمشروع https://www.eclipse.org/kura/
  4. Earlier
  5. شرح قاعدة البيانات ArangoDB

    ArangoDB هي قاعدة بيانات مفتوحة المصدر من نوعية NoSql الغير علائقي Multi-Model، لها الكثير من المميزات التي تميزها على الباقي من قواعد البيانات من نفس النوعية، تم برمجته عبر c++ ومن المميزات التي يحملها يمكن تلخيصها في الصورة يمكننا استعمال ثلاث نسخة. النسخة المجانية Community بما أنها مفتوحة المصدر ليس هناك دعم إذا احتجنا دعم نحتاج حساب من نوعية basic والمميزات المكملة لقاعدة البيانات موجودة في نسخةEntrprise أيضا تمككنا من مراجعة المعلومات عبر نظام الويب يحمل الكثير من المعلومات لتثبيت قاعدة البيانات هناك تلخيص ﻷكثر من نظام عبر الرابط التالي https://www.arangodb.com/download-major/ معلومات للاستعمال والبرمجة عبر https://www.arangodb.com/documentation/
  6. لإضافة بعض عناصر الآمان لخادم Asterisk يمكننا توظيف إمكانية عدم الاتصال بالخادم بمجرد عدم تمكنك من الولوج بكلمة المرور ورقم sip للحسابك مثلا 5 مرات ، وهذا يخلصنا من مشاكل هجوم القوة العمياء التي يتم استعمالها في تجربة كلمات المرور وأخذ قسط ليس بالسهل من سعة النقل للخادم نبدأ تثبيت fail2ban في دبيان أو ابونتو يمكننا ذالك فقط عبر أمر apt-get install fail2ban عند تثبيته يمكننا أن نعمل عليه مباشرة وتفعيل الأدوار التي نحتاج تفعيلها، يتم تفعيل فلتر ssh تلقائيا إعداد Asterisk نقوم بفتح الملف looger لملفات السجل vim /etc/asterisk/logger_logfiles_custom.conf ونضيف سجل جديد بالمعلومات التي نريد، بإضافة security لسجل messages => security,notice,warning,error نحتاج في asterisk وإعادة تحميل ملفات السجل لكي يقوم بعمل السجل الجديد asterisk -rx "logger reload" إعداد fail2ban نقوم بنقل الملف الفلتر إذ لزمنا في المستقبل cp /etc/fail2ban/filter.d/asterisk.conf /etc/fail2ban/filter.d/asterisk.conf.org نقوم بفتح ملف الفلتر أو مرشح vim /etc/fail2ban/filter.d/asterisk.conf ونقوم بتغير محتواه لتالي [INCLUDES] before = common.conf [Definition] log_prefix= \[\]\s*(?:NOTICE|SECURITY)%(__pid_re)s:?(?:\[\S+\d*\])? \S+:\d* failregex = ^%(log_prefix)s Registration from '[^']*' failed for '<HOST>(:\d+)?' - Wrong password$ ^%(log_prefix)s Registration from '[^']*' failed for '<HOST>(:\d+)?' - No matching peer found$ ^%(log_prefix)s Registration from '[^']*' failed for '<HOST>(:\d+)?' - Username/auth name mismatch$ ^%(log_prefix)s Registration from '[^']*' failed for '<HOST>(:\d+)?' - Device does not match ACL$ ^%(log_prefix)s Registration from '[^']*' failed for '<HOST>(:\d+)?' - Peer is not supposed to register$ ^%(log_prefix)s Registration from '[^']*' failed for '<HOST>(:\d+)?' - ACL error \(permit/deny\)$ ^%(log_prefix)s Registration from '[^']*' failed for '<HOST>(:\d+)?' - Not a local domain$ ^%(log_prefix)s Call from '[^']*' \(<HOST>:\d+\) to extension '\d+' rejected because extension not found in context 'default'\.$ ^%(log_prefix)s Host <HOST> failed to authenticate as '[^']*'$ ^%(log_prefix)s No registration for peer '[^']*' \(from <HOST>\)$ ^%(log_prefix)s Host <HOST> failed MD5 authentication for '[^']*' \([^)]+\)$ ^%(log_prefix)s Failed to authenticate (user|device) [^@]+@<HOST>\S*$ ^%(log_prefix)s (?:handle_request_subscribe: )?Sending fake auth rejection for (device|user) \d*<sip:[^@]+@<HOST>>;tag=\w+\S*$ ^%(log_prefix)s SecurityEvent="(FailedACL|InvalidAccountID|ChallengeResponseFailed|InvalidPassword)",EventTV="[\d-]+",Severity="[\w]+",Service="[\w]+",EventVersion="\d+",AccountID="\d+",SessionID="0x[\da-f]+",LocalAddress="IPV[46]/(UD|TC)P/[\da-fA-F:.]+/\d+",RemoteAddress="IPV[46]/(UD|TC)P/<HOST>/\d+"(,Challenge="\w+",ReceivedChallenge="\w+")?(,ReceivedHash="[\da-f]+")?$ ignoreregex = ~ بعد ذالك نحتاج تفعيله في ملف jail.conf عبر فتح الملف vim /etc/fail2ban/jail.conf وإضافة في آخر السطر التالي [asterisk] enabled = true port = 5060,5061 filter = asterisk action = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp] %(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp] %(mta)s-whois[name=%(__name__)s, dest="%(destemail)s"] logpath = /var/log/asterisk/messages maxretry = 5 bantime = 7200 maxretry هو عدد المحاولات bantime الوقت التي ستكون محضور فيها رقم ip أيضا نقوم بتغير في بريد المستقبل destemail = mail@domain.com والمرسل للبريد sender = fail2ban@domain.com تجربة عمل fail2ban نقوم بإعادة تشغيل خدمة fail2ban /etc/init.d/fail2ban restart إذ كان لدينا حساب في asterisk فقط نحتاج تغير كلمة المرور وتجربة 5 مرات الدخول للحساب وسنلاحظ انه تم حضر ip ووصول بريد يتضمن معلومات بالحضر root@voip:~# tail -f /var/log/fail2ban.log 2017-11-09 11:22:45,232 fail2ban.jail [27653]: INFO Jail 'asterisk' uses pyinotify 2017-11-09 11:22:45,240 fail2ban.jail [27653]: INFO Initiated 'pyinotify' backend 2017-11-09 11:22:45,242 fail2ban.filter [27653]: INFO Added logfile = /var/log/asterisk/messages 2017-11-09 11:22:45,244 fail2ban.filter [27653]: INFO Set maxRetry = 5 2017-11-09 11:22:45,246 fail2ban.filter [27653]: INFO Set findtime = 600 2017-11-09 11:22:45,247 fail2ban.actions[27653]: INFO Set banTime = 7200 2017-11-09 11:22:45,308 fail2ban.jail [27653]: INFO Jail 'ssh' started 2017-11-09 11:22:45,312 fail2ban.jail [27653]: INFO Jail 'asterisk' started 2017-11-09 11:22:48,502 fail2ban.actions[27653]: WARNING [asterisk] Ban 85.80.52.80 2017-11-09 11:23:14,429 fail2ban.actions[27653]: WARNING [ssh] Ban 59.63.188.30
  7. حل مشكلة النسخ واللصق في vim نسخة 8.0

    عند تحديث نسخة دبيان نحصل على مشكلة نحن الذين نستعمل vim حتى للبرمجة في بعض الأحيان، عندما تكون فأرة الحاسوب مفعلة لا تسمح بنقل ولصق لأن تأتي مفعل (mouse=a) تلقائيا فقط نحتاج إيقاف تفعيل فأرة الحاسوب كل مرة ندخل vim :set mouse= ويمكننا الحصول على كيفية النسخ واللصق تحياتي وحتى معلومة آخرى
  8. Jitsi هو خادم مفتوح المصدر للمحادثة الفورية ويمكن تثبيته على نظام ابونتوا او دبيان، يمكن من عمل تواصل مباشر ببن الأعضاء إضافة إلى غرف يمكن إنشائها والدخول عبر رابط يمكن نقل، اضافة إلى كل هذا له تطبيق اندرويد و ios تثبيت Jitsi في خادم ابونتوا 16.04 أو دبيان نقوم بإضافة المستودعات ، في هذه الحالة سأستعمل التجريبية لكن الشرح سيكون نسخة Stable sudo su echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-sta بعدها نضيف المفتاح wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add - إعادة تحميل المستودعات وتثبيت الخادم apt-get update apt-get -y install jitsi-meet سيقوم بطلب إضافة اسم الخادم إذ كان موجودا نقوم بإضافته عند الإنتهاء من التثبيت يمكن تثبيت مفتاح ssl من نوعية letsencrypt عبر أمر /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh سيطلب إضافة البريد وضغط زر Enter نقوم بإعادة تشغيل الخادم ونحصل على خادم يمكننا استعماله مباشرة يمكن تفعيل الصوت والصورة للمحادثة الفورية ويمكن أيضا استعمال الدردشة الفورية يمكن مشاركة الملفات وروابط اليتيوب
  9. عند محاولة تثبيت freepbx عبر امر install يعطي خطئ Could not determine Asterisk version (got: No ethernet interface found for seeding global EID. You will have to set it manually.). Please report this. السبب انه عند قيام بعمل امر asterisk -rx 'core show version' يسترجع فقط السطر الأول وهو نفسه ما يقوم برده كخطئ لتعديل المشكلة نحتاج فتح الملف وتغيير سطر 266 ب $lastline = exec('echo "Asterisk 15.0.0 built by root @ voip.arsrv.org on a x86_64 running Linux on 2017-10-25 09:09:22 UTC"', $tmpout, $ret); عوض $lastline = exec("runuser " . $answers['user'] . ' -s /bin/bash -c "cd ~/ && asterisk -rx \'core show version\' 2>&1"', $tmpout, $ret); وإعادة محاولة التثبيت
  10. شرح تثبيت وتحديث Drush 9

    لآخر نسخة من دروبال 8.4 يطلب أن نحصل على مشكلة تحديث إذا كنا نستعمل Drush لتحديث فالنسخة المنصوح بها 9 تثبيت Composer لتثبيت Composer يمكننا تحميله من الموقع الرسمي وتثبيته، ولاستعماله يمكننا وضع في ملف التنفيذات bin curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer إضافة إلى الملف ..bashrc مكان تحميلات ملفات Composer export PATH="$HOME/.composer/vendor/bin:$PATH" وتفعيل بواسطة source $HOME/.bashrc في مجلد دروبال نقوم بتحديث Drush عبر إضافة آخر إصدار يتم العمل عليه composer global require drush/drush:dev-master لمراجعة النسخة المثبتة drush --version
  11. بارك الله فيك عزيزي على هذا الجهد
  12. بعد تثبت php نحتاج تثبيت curl sudo apt-get install curl php5-cli نخسة 7 من php sudo apt-get install curl php7.0-cli تثبيت composer curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
  13. رمز الاستجابة السريع QR code هو صور بمعلومات مصففة في مربعات قالبة للقراءة عبر أنظمة الأجهزة التي تحتوى على كميرا . لكي يمكننا قراءة محتواها من طرف الطرفية يمكننا تثبيت تطبيق zbar apt-get install zbar-tools ولمعرفة محتوى الصورة يمكن استعمال zbarimg qrcode.png والخارج يكون على النحو التالي QR-Code:www.arsrv.org scanned 1 barcode symbols from 1 images in 0.02 seconds
  14. خطأ عند تحديث drupal

    عند محاولتي تحديث دروبال لآخر نسخة وقع خطئ ترك الموقع بخطأ 500 Drush command terminated abnormally due to an unrecoverable error. [error] Error: Interface 'CommerceGuys\Zone\Model\ZoneInterface' not found in / [folder_web]/web/modules/address/src/Entity/ZoneInterface.php, line 18 The external command could not be executed due to an application error. [error] PHP Fatal error: Interface 'CommerceGuys\Zone\Model\ZoneInterface' not found in / [folder_web]/web/modules/address/src/Entity/ZoneInterface.php on line 18 Drush command terminated abnormally due to an unrecoverable error. [error] Error: Interface 'CommerceGuys\Zone\Model\ZoneInterface' not found in / [folder_web]/web/modules/address/src/Entity/ZoneInterface.php, line 18 The external command could not be executed due to an application error. [error] Finished performing updates. [ok] الحل كان سهل في موقع دربال وأني احتاج تركيب بعض الإضافات composer require drupal/address
  15. احتجت هذه الأيام تصدير قواعد بيانات وتحويلها من نوعية علائقية sql من mysql إلى mongodb ،وأثار فضولي تطبيق mongify الذي يمكنه التحويل من عدة قواعد بيانات ومنها MySQL، PostgreSQL، SQLite، Oracle، SQLServer إلى قواعد بيانات Mongodb بنوعية الغير علائقي NoSql، تثبيت mongify gem install mongify إنشاء ملف database.config بمعلومات الاتصال sql_connection do adapter "mysql2" host "localhost" username "root" password "password" database "dbname" batch_size 10000 # This is defaulted to 10000 but in case you want to make that smaller (on lower RAM machines) end mongodb_connection do host "localhost" database "dbname" end تجربة الاتصال بين قاعدتي البيانات mongify check database.config وإذا كان الاتصال إيجابي يمكن تصدير ملف التحويل عبر أمر، الملف يمكننا تغيره يدويا لتغير بعض الأشياء ونوعية الأعمدة mongify translation database.config > translation.rb وأخيرا تصدير المعلومات إلى قاعدة البيانات Mongodb mongify process database.config translation.rb لمعلومات اكثر في موقع التطبيق http://mongify.com/
  16. عندما نريد نسخة محددة من روبي ruby لكن في المستودعات لا نجد إلا النسخة الأكثر فعالية ، فيمكن تثبيتها عبر كود المصدر أو عبر مستودعات ثالثة. فأما الأولى ستأخذ وقت في التثبيت واختيار النسخ والثانية على حسب القائمين على التطبيق. rbenv هو تطبيق أوامر يسهل اختيار وتثبيت أدوات روبي وأيضا اختيار نسخ محددة منه وتثبيتها. تثبيت تطبيقات سنحتاجها apt-get install -y libssl-dev build-essential git-core تثبيت rbenv تحميل rbenv git clone https://github.com/rbenv/rbenv.git ~/.rbenv git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-bui تحديد Path echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc source ~/.bashrc تثبيت ruby لمشاهدة كل النسخ المتاحة rbenv install -l تثبيت نسخة rbenv install 2.4.0 تفعيل النسخة rbenv global 2.4.0 مراجعة النسخة التي نستعملها في الوقت الحالي ruby -v تثبيت أدوات ruby عبر gem gem install bundler gem install rails
  17. قائمة بجميع خصائص جافا JVM

    عندما نستعمل جافا JVM نجد ان الخصائص التي يعمل بها هل تلقائية تأتي مع تثبيت جافا، ولكي لا نبحث كثيرا في الأنترنيت لتغيير تلك الخصائص بسهولة يمكن استعمال -XshowSettings:<category> للمجموعة أو الفئة يمكننا ان نغيرها ونضع all، وهكذا نحصل على كل المعلومات المتعلقة بتلك الخصائص والتي يمكننا مشاهدتها أو تغييرها مثل locales و vm java -XshowSettings:all الناتج VM settings: Max. Heap Size (Estimated): 1.74G Ergonomics Machine Class: server Using VM: Java HotSpot(TM) 64-Bit Server VM Property settings: awt.toolkit = sun.awt.X11.XToolkit file.encoding = UTF-8 file.encoding.pkg = sun.io file.separator = / java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment java.awt.printerjob = sun.print.PSPrinterJob java.class.path = . java.class.version = 52.0 java.endorsed.dirs = /opt/jdk/jdk1.8/jre/lib/endorsed java.ext.dirs = /opt/jdk/jdk1.8/jre/lib/ext /usr/java/packages/lib/ext java.home = /opt/jdk/jdk1.8/jre java.io.tmpdir = /tmp java.library.path = /usr/java/packages/lib/amd64 /usr/lib64 /lib64 /lib /usr/lib java.runtime.name = Java(TM) SE Runtime Environment java.runtime.version = 1.8.0_121-b13 java.specification.name = Java Platform API Specification java.specification.vendor = Oracle Corporation java.specification.version = 1.8 java.vendor = Oracle Corporation [...]
  18. تحديث Asterisk

    السلام عليكم ورحمة الله وبركاته في بعض الحالات يجب تحديث تحديث نسخة asterisk لتفادي مشاكل الثغرات والتحسينات المستمرة. التحديث يشمل نفس النسخة وليس نسخة برقم إصدار مختلف في احد الخوادم التي لدي سأقوم بتحديث من النسخة 13.10.0 إلى 13.14.0 نقوم بتحميل النسخة الجديدة وفك الضغط عليها wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz tar -xvzf asterisk-13-current.tar.gz cd asterisk-13.14.0/ إيقاف تشغيل Asterisk /etc/init.d/asterisk stop مراجعة هل ما زال يعمل ps -aux | grep asterisk القيام بالإعدادات الأولية contrib/scripts/install_prereq install contrib/scripts/get_mp3_source.sh ./configure تحديث الإضافات المستعملة في أول تثبيت make menuselect تحديث make all make upgrade إعادة تشغيل وتجربة عمله /etc/init.d/asterisk start
  19. imapsync تصدير البريد من حساب لآخر

    imapsync هي أدات وتطبيق لتصدير البريد من حساب قديم في خادم قديم لبريد جديد في خادم جديد او غير ذالك، مهمتها هو نقل البريد من حساب لآخر ، تثبيت imapsync في دبيان 8 أو 7 apt-get install libauthen-ntlm-perl libcrypt-ssleay-perl libdigest-hmac-perl libfile-copy-recursive-perl libio-compress-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-tee-perl libmail-imapclient-perl libmodule-scandeps-perl libnet-ssleay-perl libpar-packer-perl libreadonly-perl libterm-readkey-perl libtest-pod-perl libtest-simple-perl libunicode-string-perl liburi-perl make cpanminus git وبعدها تثبيت بعض وحدات perl cpanm Data::Uniqid Mail::IMAPClient تحميل آخر نسخة من التطبيق git clone https://github.com/imapsync/imapsync.git cd imapsync تصدير البريد من حساب لآخر تجربة أن لا يعطي أخطاء في الوحدات ./imapsync -v تصدير ./imapsync --host1 srv3.arsrv.net -user1 info@arsrv.org --password1 'p@ssw0rd' --host2 srv4.arsrv.net --user2 info@arsrv.org --password2 'p@55w0rd' لمعلومات اكثر وكيفية تثبيته في توزيعات اخرى يمكن مراجعة الموقع الرسمي http://imapsync.lamiral.info/
  20. هي أوامر لا يمكن نسيانها لأنها تستعمل من حين لآخر لمعرفة حجم مجلدات ومساحة القرص الصلب حجم الملفات والمجلدات عبر أمر du يعتبر من الأوامر السهلة التي تمكننا من معرفة حجم ملف او مجلد ويأتي مثبت في كل أغلب توزيعات لينكس مثلا لمعرفة حجم ملف أو مجلد #du -dsh /var/folder_or_file -b [--bytes]: ليكون وحدة الحساب بايت. -s [--sumarize]: لحساب فقط المجموع، عندما نقوم بإستعمال الأمر للمجلدات. -h [--human-readable]: لوحدات سكان الأرض من نوعية (1K, 234M, 2G) معرفة مساحة القرص الصلب عبر أمر df لمعرفة مساحة المستهلكة في القرص الصلب وكم بقي لنا للوصول إلى الاستعمال الشامل له يمكن ذالك عبر أمر # df -h سيقوم باسترجاع كل أقسام القرص الصلب ومساحتها والمساحة الكلية
  21. تثبيت Zimbra 8.6 في ubuntu 14.04

    شرح ممتاز جدا
  22. تثبيت Zimbra 8.6 في ubuntu 14.04

    شرح ممتاز جدا
  1. Load more activity