المحتوى عن 'virtualbox'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML
    • HTML5
  • CSS
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 4 نتائج

  1. بناء المواقع الإلكترونية أمر ممتع ومحبط في نفس الوقت، وعادة ما يكون سبب الإحباط هو السعي لتوحيد مظهر وأداء الموقع الإلكتروني في جميع المتصفحات، ولا شكّ أن مصمّمي الواجهات الأمامية قد مرّوا بحالة الإحباط هذه بشكل أو بآخر. ولكن الحقيقة تقول بأنه ما من ضرورة تدعو إلى توحيد مظهر وأداء الموقع الإلكتروني على جميع المتصفحات، فطريقة عمل الموقع في كل متصفّح عائدة إلى المبرمج وإلى طبيعة الموقع الإلكتروني. فإن كان الموقع يستقبل أقلّ من نصف نسبة الزوّار من خلال Internet Explorer 8 فقد يكون من المعقول حينئذٍ صرف النظر عن هذا المتصفح، أما لو كان نصف الزوّار يستخدمون هذا المتصفح وكانت هذه الزيارات تدرّ أموالًا كثيرة، فسيكون دعم هذا المتصفح حينئذٍ أمرًا إلزاميًا. من هنا يجب تحديد ما هو مقبول بالنسبة لموقع إلكتروني معين والعمل بموجب ذلك. يوجد عدد من الممارسات الجيدة التي تتيح للموقع الإلكتروني أن يعمل على نحو جيّد في جميع المتصفحات. ينصح عادة بتوفير الدعم التراجعي Fallback support عند استخدام خصائص CSS 3 وذلك لدعم المتصفحات القديمة، وهناك تقنيات أخرى مثل الـ Shivs و Polyfills وهي عبارة عن ملحقات JavasScript صغيرة تضيف الدعم لعدد من المزايا المطلوبة التي لا تدعمها المتصفحات القديمة مبدئيًّا. HTML Shiv أحد أشهر الملحقات التي تقدّم الدعم التراجعي هو HTML5 Shivs، وقد أنشأ Remy Sharp هذا الملحق لإتاحة استخدام عناصر HTML 5 في Internet Explorer 8 وما قبله، ولا يكتفي هذا الملحق بتوفير الدعم لعناصر HTML5 فقط، بل يتجاوز ذلك إلى إمكانية تنسيقها بواسطة CSS. يجب تنزيل آخر إصدار من هذا الملحق من Google حيث يحتفظ Remy بآخر الإصدارات، ثم ضيافتها على الخادوم الخاص بك. وللحصول على أفضل أداء يفضّل الإشارة إلى ملف JavaScript الخاص بالإضافة في بداية الصفحة ضمن الوسم <head>، مباشرة بعد الإشارة إلى ملفات CSS. كذلك يجب وضع شفرة جلب الإضافة ضمن تعليق مشروط لتضمن تنزيل الملفات في الإصدار الثامن من Internet Explorer وما دونه. <!--[if lt IE 9]> <script src="html5shiv.js"></script> <![endif]--> وبعد إنشاء عناصر HTML5 الجديدة في مستوى Block باستخدام HTML5 Shiv يجب تحديد وتحديث تلك العناصر بواسطة التصريح display:block. article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary { display: block; } لا يعرّف الإصداران الثامن والتاسع من Internet Explorer أنماط بعض عناصر HTML5 بطريقة صحيحة في مستوى Inline-block، لذا تجب إضافة التصريح display: inline-block إلى هذه العناصر. بهذا يمكنك استخدام أي عنصر من عناصر HTML5 في جميع إصدارات Internet Explorer. audio, canvas, video { display: inline-block; } ما الفرق بين Shiv و Shim قد تسمع أو تقرأ في بعض المواقع عن HTML5 Shim، وقد تتساءل إن كان هناك فرق بينها وبين HTML5 Shiv. في الواقع لا يوجد أي فارق يذكر بين هذين المصطلحين، وكلاهما يستخدمان للتعبير عن المعنى ذاته. الكشف عن المزايا المتاحة في المتصفح تؤدي HTML5 Shiv عملًا جيّدًا مع التعليقات المشروطة في تعريف المتصفح بخصائص HTML5 وعناصرها الجديدة، ولكن باستخدام هذه الطريقة فإنك تحدّد مسبقًا المتصفح الذي لا يدعم هذه الخصائص. هناك طريقة أخرى لتوفير الدعم لعناصر وخصائص معينة في HTML5 و CSS3 بغض النظر عن المتصفح المستخدم. توفّر مكتبة Modernizr وسيلة للكشف عن ميزات المتصفح من خلال كتابة شفرات CSS و JavaScript مشروطة بالاستناد إلى دعم المتصفح لخاصّية معينة أم لا. فعلى سبيل المثال، إن كان أحد المتصفحات يدعم خاصّية الأركان الدائرية فستقوم Moderinzr بإضافة الصنف borderradius إلى عنصر html. أما إن كان المتصفح لا يدعم هذه الخاصّية، تقوم مكتبة Modernizr بإضافة الصنف no-borderradius إلى عنصر html. تنزيل مكتبة Modernizr لتشغيل مكتبة Modernizr في موقعك توجّه إلى صفحة التنزيل الخاصة بالمكتبة حيث يمكنك اختيار الخصائص التي ترغب في الكشف عنها. بعد تنزيل المكتبة ارفعها إلى الخادوم الخاص بك ثم أشر إلى الملف ضمن الوسم head في صفحة HTML مباشرة بعد آخر إشارة لملفات الأنماط. من الجدير بالذكر أنّه يمكن تخصيص Modernizr لتتضمن HTML5 Shiv، وبهذا لا حاجة للإشارة إليها في بداية Modernizr. <script src="modernizr.js"></script> التطبيق الشرطي لأنماط CSS بمجرد أن تبدأ مكتبة Modernizr بالعمل يصبح بالإمكان تطبيق أنماط CSS بالاعتماد على وجود أو عدم وجود خصائص معينة في المتصفح الذي يعرض الموقع الإلكتروني. تستطيع Modernizr الكشف عن معظم الخصائص والقيم التي تقدّمها CSS3 ويمكنك التعرّف عليها من خلال توثيقات المكتبة على شبكة الإنترنت. يجدر الانتباه إلى أنّه قد يكون من غير الضروري الكشف عن الخصائص المتعلقة ببعض الأنماط، فعلى سبيل المثال عندم استخدام قيمة لون بصيغة RGBa يمكن تقديم دعم تراجعي لهذه القيمة من خلال توفير قيمة اللون بصيغة hexadecimal دون الحاجة إلى اللجوء لتقنية الكشف عن الخصائص. عندما تقرّر استخدام تقنية الكشف عن الخصائص من الضروري أن تحافظ على تنظيم الشفرات وأن تراعي مسألة الأداء. تجنّب قدر الإمكان تكرار الشفرة لأكثر من مرة أو إنشاء طلبات HTTP إضافية. button { border: 0; color: #fff; cursor: pointer; font-size: 14px; font-weight: 600; margin: 0; outline: 0; } /* With CSS Gradient Styles */ .cssgradients button { border: 1px solid #0080c2; background: linear-gradient(#00a2f5, #0087cc); border-radius: 6px; padding: 15px 30px; } .cssgradients button:hover { background: linear-gradient(#1ab1ff, #009beb); } .cssgradients button:active { box-shadow: inset 0 1px 10px rgba(255, 255, 255, .5); } /* Without CSS Gradient Styles */ .no-cssgradients button { background: transparent url("button.png") 0 0 no-repeat; padding: 16px 31px; } .no-cssgradients button:hover { background-position: 0 -49px; } .no-cssgradients button:active { background-position: 0 -98px; } في المثال السابق تمكن ملاحظة أن الزرّ يرث أنماطًا مبدئية، ولكن الأنماط المخصّصة تطبّق بالاستناد إلى دعم المتصفح لخاصية الخلفية المتدرّجة في CSS3، إضافة إلى خاصيتيْ الأركان الدائرية والظلال. إن كان المتصفح يدعم هذه الخصائص، فسيحصل الزرّ على خلفية متدرجة وعلى ظلّ وحواف دائرية، أما في حال عدم دعم المتصفح لهذه الخصائص فيحصل الزرّ على صورة خلفية تتضمن جميع هذه التأثيرات. بهذه الطريقة لا توجد شفرات زائدة ولا يُرسَل طلب HTTP إلا عند الحاجة. عند العمل مع تقنية الكشف عن خصائص CSS3 يكون من الصعب تخمين مظهر عنصر معين في المتصفحات التي لا تدعم الخصائص الجديدة، ولحسن الحظ هناك أداة تدعى deCSS3 تعمل على تعطيل جميع خصائص CSS3 في الصفحة ما يسمح لك بالتعرف على مظهر موقعك الإلكتروني عندما لا تُستخدَم CSS3، إضافة إلى اختبار الأنماط المشروطة المستخدمة في الموقع. لتحصل على فكرة سريعة عن الخصائص والميزات التي يدعمها متصفّح معين،زر الموقع haz.io باستخدام ذلك المتصفح. التنزيل الشرطي للملفات إضافة إلى التنزيل الشرطي للأنماط، تقدّم مكتبة Modernizr وسيلة لاستخدام تقنية الكشف عن الخصائص في JavaScript، حيث يصبح بالإمكان تنزيل ملفات الـ Polyfills وغيرها من الملفات بالاستناد إلى وجود خاصية معينة والاستعانة بمكتبة jQuery وتابع getScript الخاص بهذه المكتبة. يمكن استخدام مكتبة Modernizr في العبارات الشرطية وذلك لتشغيل شفرات متنوعة اعتمادًا على تحقق الشرط أو عدمه. في المثال التالي تتحقّق Modernizr من دعم المتصفح لخاصية التخزين المحلي Local storage. إن كانت هذه الخاصّية متوفرة في المتصفح، يُنزَّل الملف storage.js باستخدام jQuery وتابع getScript، أما إن كانت هذه الخاصّية غير مدعومة في المتصفح فيُستعان بـ jQuery لتنزيل ملف storage-polyfills.js وبواسطة التابع ذاته. $(document).ready(function() { if (Modernizr.localstorage) { // التخزين المحلّي متوفّر jQuery.getScript('storage.js'); } else { // التخزين المحلّي غير متوفّر jQuery.getScript('storage-polyfill.js'); } }); التنزيل الشرطي بالاستناد إلى استعلام الوسيط Media Query استعلامات الوسائط Media queries من الأمور المهمّة التي يمكن لـ Modernizer الكشف عن وجودها ، حيث يمكن تنزيل الملفات فقط في حال تحقق الشروط الخاصة باستعلام الوسائط. تجنّب تنزيل الملفات غير الضرورية من الأمور المفيدة جدًّا في تحسين أداء الصفحة. $(document).ready(function() { if (Modernizr.mq('screen and (min-width: 640px)')) { jQuery.getScript('tabs.js'); } }); تتحقق Modernizer في المثال الموضح أعلاه ممّا إذا كان عرض الشاشة أكبر من 640 بكسلًا، أي شاشات حواسيب سطح المكتب بصورة رئيسية، ثم تُنزِّل ملف tabs.js بالاعتماد على تحقق الشرط. من الضروري الانتباه إلى أن التحقق من هذا الشرط يتم مرة واحدة فقط وذلك عند تنزيل الصفحة، وهذا يعني أنّه لن يُتحقَّق من هذا الشرط عندما يغيّر المستخدم حجم الصفحة، وإن تطلب الأمر إعادة التحقق من جديد، فيجب استخدام شفرة JavaScript إضافية للقيام بذلك. التشغيل الشرطي للشفرات يمكن التحقق من جميع الخصائص التي تقدّمها HTML5 و CSS3 باستخدام Modernizr ومن خلال JavaScript. فعلى سبيل المثال، يستحسن تعطيل عمل التلميحات Tooltips في أجهزة الهاتف المحمول نظرًا لعدم توفّر التحليق Hover في هذه الأجهزة، والاستعاضة عن ذلك بعرض التلميحات على هيئة نصوص صرفة. يمكن تغليف الشفرة المسؤولة عن استدعاء التلميحات بعبارة شرطية تمنع تنزيل الشفرة عند استعراض الموقع في الشاشات الصغيرة. $(document).ready(function() { if (Modernizr.mq('screen and (max-width: 400px)')) { $('.size').text('small'); } }); يوضح المثال السابق على نحو مبسط طريقة تنفيذ شفرة JavaScript بالاستناد إلى شرط وضعته Modernizr. إن كان عرض الشاشة عند تنزيل الصفحة أكبر من 800 بكسل فلن يحدث شيء. ولكن إن كان عرض الشاشة أصغر من هذا الرقم تُبْدَل ‘large’ بكلمة ‘small’. HTML5 و CSS3 Polyfills تتوفّر في الوقت الحاضر polyfills لمختلف مزايا HTML5 وCSS3 تقريبًا، وقد وفّر الفريق المسؤول عن تطوير Modernizr قائمة مفصّلة بالـ polyfills المتوفّرة، والتي يمكن استخدامها حسب الحاجة. كذلك وضع نفس الفريق قائمة بجميع ميزات HTML5 و CSS3 الجديدة إضافة إلى تعليمات استخدام هذه الميزات بصورة صحيحة. يجب الانتباه إلى أنّه لا تحتاج جميع هذه الميزات إلى الـ Polyfills، إذ يمكن الاستفادة من بعضها مباشرة أو من خلال الدعم التراجعي. اختبار الموقع في متصفحات مختلفة ربّما تكون عملية اختبار الموقع الإلكتروني سواء من ناحية التصميم أو التطوير في المتصفحات أمرًا متعبًا للغاية، وبصورة عامة فإنّ المتصفحات الحديثة مثل Chrome، Firefox و Safari تعمل جيّدًا، إلا أن غالبية المشاكل تظهر في متصفح Internet Explorer، إضافة إلى أن اختبار إصدارات مختلفة من هذا المتصفح قد يكون أمرًا صعبًا. هناك العديد من الخدمات التي تساعد على اختبار الموقع الإلكتروني في المتصفحات المختلفة، بعضها تفاعلي وبعضها لا. تساعد القدرة على التفاعل مع المتصفح بدلًا من رؤية لقطة شاشة للموقع كثيرًا على تنقيح الشفرة البرمجية. ومن أفضل الطرق لاستخدام إصدارات مختلفة من متصفح Internet Explorer هي استخدام الآلات الافتراضية Virtual Machines، بحيث تتضمن كل آلة إصدارًا مختلفًا من هذا المتصفح. يظهر في الصورة أعلاه برنامج VirtualBox يعمل على نظام Mac OS X مع المتصفح Internet Explorer من الإصدار السادس إلى التاسع. تقدّم Microsoft مجموعة من الحواسيب الافتراضية Virtual PCs التي يمكن استخدامها في عملية الاختبار، ولكن يمكن لعملية الإعداد أن تكون مرهقة وصعبة. لحسن الحظ قام Greg Thornton ببناء أداة تُؤَتْمِت عملية تنصيب الآلات الافتراضية. تستغرق عملية التنصيب بعض الوقت وذلك لتنزيل جميع الآلات الافتراضية المتوفرة، وستحتاج كذلك إلى مساحة كبيرة على القرص الصلب، ولكن يمكن تثبيت الآلات الافتراضية التي تحتاج إليها فقط، وبالنظر إلى وتيرة استخدامك لهذه الآلات الافتراضية، قد يكون من الأفضل تنصيبها على قرص صلب خارجي. يحتوي الإصدار الثامن من Internet Explorer على أدوات تطوير مضمّنة في المتصفح، ولكن الإصدارات السابقة تفتقر إلى هذه الميزة. ولكن تتوفّر أداة Firebug التي تقدّم أدوات تطوير مفيدة جدًّا داخل المتصفّح. يظهر في الصورة أعلاه الإصدار السابع من Internet Explorer يعمل في آلة افتراضية مع استخدام أداة Firebug Lite لتنقيح الشفرة البرمجية. ترجمة - وبتصرّف - للمقال Feature Support & Polyfills لصاحبه Shay Howe.
  2. Vagrant هو برنامج يُمكّنك من إنشاء وإعداد بيئات عمل خفيفة للتطوير عليها عن طريق تشغيل آلة وهمية. لماذا أستعمل Vagrant إذا كنت مطور ويب فسيساعدك البرنامج على محاكاة بيئة الخادوم عن طريق تنصيب إحدى نسخ لينكس للخواديم على جهازك. كما يساعدك أيضًا على تجربة تطبيقات الويب خاصتك بدون خوف من الخطأ أو الخوف على جهازك. وإذا كنت تعمل ضمن فريق عمل فإنه سيجعل من العمل أسهل بجعل بيئات التطوير واحدة بنفس البرمجيات والأنظمة. البدء في استعمال Vagrant قبل البدء يجب أن يكون لديك برنامج للآلات الوهمية مثبت ويفضل أن يكون Virtualbox. سيأتي ذكر كيفية ربطه مع برامج أخرى في آخر المقالة. بعد تثبيت Virtualbox يمكنك تثبيت النسخة المناسبة من Vagrant من هنا. أنشأ مجلدًا جديدًا لبيئة العمل خاصتك. وادخل إليه من الطرفية عن طريق الأمر: $ cd myfirst_project_dir ثم اكتب الأمر التالي: $ vagrant init ubuntu/trusty32 ستلاحظ أنه وفي أول مرة فقط بدأ بتحميل الملفات الخاصة بهذه الآلة وستلحظ أيضًا إنشاء ملف في هذا المجلد باسم Vagrantfile. بعد الانتهاء من التحميل قم بتشغيل الآلة الوهمية عن طريق الأمر التالي مع التأكد أنك ما زلت في نفس المجلد : $ vagrant up انتظر قليلًا، بعد الانتهاء، مبارك لك تم تشغيل نظام أوبنتو 14.04 للخادم. بدأ العمل يمكنك الآن للتحكم في النظام كتابة الأمر التالي : $ vargant ssh وسيتم الدخول إلى جلسة الطرفية عن طريق بروتوكول SSH . يمكنك الآن كتابة أوامر لنظام أوبنتو كما تشاء. يمكنك لتثبيت حزمة LAMP $ sudo apt-get install lamp-server^ يمكنك تثبيت أي برامج أو تطبيقات عن طريق سطر الأوامر يمكنك إذا أردت تثبيت Ngnix الاطلاع على هذا الدرس اتبع الإرشادات الخاصة بأوبنتو لأن الصندوق الذي استعملناه هو الخاص بأوبنتو (كما سيأتي لاحقًا في شرح الصناديق). يمكنك أيضًا تثبيت phpmyadmin كما يشرح الدرس لتالي. المجلدات المشتركة انتهيت من إعداد بيئة العمل تريد الآن البدأ في البرمجة ولكن هل ستضطر للدخول إلى جلسة الطرفية هذه كل مرة والعمل عن طريق محررات نصية كـ vim كي تستطيع العمل؟؟ الإجابة هي لا ففي الحقيقة المجلد الذي مساره داخل البيئة الوهمية /vagrant هو نفسه المجلد الذي أنشأت فيه الآلة في البداية أي المجلد الذي يتواجد بداخله ملفVagrantfile. ولتتأكد من كلامي هذا أنشأ في المجلد الحالي ملفًا نصيًا اسمه foo.txt ثم ادخل الآن إلى جلسة الطرفية الخاصة بالآلة الوهمية واكتب : $ cd /vagrant $ ls ستفاجئ بوجود الملف الذي أنشأته سابقًا وبهذا يمكننا Vagrant من العمل على المحررات التي نفضلها من واجهتنا الرسومية ومشاركة كل ما نعمله مع الآلة الضيف. يمكنك أيضًالمشاركة مجلدات أخرى غير هذا المجلد كتابة الآتي داخلVagrantfile : config.vm.synced_folder "src/", "/srv/website" حيث أن المسار الأول هو مسار المجلد الذي تريد مشاركته على آلتك المضيفة والمسار الثاني هو مسار المجلد الموجود في الآلة الوهمية. تهيئة الشبكة الآن بعد تثبيت apache مع حزمة LAMP تريد تصفح الموقع المتواجد على الخادوم على الآلة الضيف من على متصفحك من جهازك فكيف تفعل هذا. يمكنك فعل هذا بتعديل ملف Vagrantfile بحيث سيشبه الآتي : Vagrant.configure("2") do |config| config.vm.box = "ubuntu/trusty32" config.vm.network :forwarded_port, guest: 80, host: 4567 end اكتب الأمر التالي في حاسوبك (ليس بداخل الآلة الوهمية) داخل مجلد الآلة الوهمية: $ vagrant reload الآن يمكنك تصفح موقعك من على الرابط التالي http://127.0.0.1:4567 داخل متصفحك. جعل المجلد الافتراضي لـapache في/vagrant أنت الآن تريد إضافة ملفات البرمجة الخاصة بك وبدأت العمل عليها في المُجلّد/vagrant ولكن لا تزال هناك مشكلة فـapache يحدد المُجلّد /var/www/htmlكمُجلّد افتراضي توجد عليه الملفات التي سوف تمثل واجهة الموقع لذا علينا أن نجعل المُجلّد الافتراضي هو /vagrant/my_awesome_project والذي ستضع عليه ملفات الـPHP الخاصة بمشروعك. في البداية أنشئ في المُجلّد الذي تتواجد فيه الآلة الافتراضية مُجلّدًا فرعيًا وسمه my_awesome_project ثم اكتب الأمر التالي في جلسة الطرفية للآلة الضيف: $ sudo nano /etc/apache2/sites-available/000-default.conf أضف الآتي: DocumentRoot /vagrant/my_awesome_project احفظ التغييرات عن طريق الضغط على Ctrl + X ثم اكتب الأمر التالي: $ sudo nano /etc/apache2/apache2.conf أضف الآتي: <Directory /vagrant> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> احفظه عن طريق الضغط على Ctrl + X ثم اكتب الأمر التالي لإعادة تشغيل الخادوم والعمل بالتغييرات : sudo service apache2 restart مبارك لك الآن يمكنك الدخول إلى المُجلّد الذي يحتوي الآلة الوهمية والدخول إلى المُجلّد المسمى my_awesome_project بداخله وبدأ العمل ومشاهدة التغييرات مباشرة على: http://127.0.0.1:4567 إغلاق الآلة بعد الإنتهاء من العمل سيتوجب عليك إغلاق الآلة الوهمية ويمكن هذا بواحد من ثلاث أوامر داخل دليل الآلة: $ vagrant suspend $ vagrant halt $ vagrant destroy الأمر الأول يقوم بحفظ حالة الآلة كما هي وعند الإقلاع مرة أخرى بالأمرvargant up يكون الإقلاع سريعًا لأنه فقط يقوم بإيقاظ الآلة. الأمر الثاني يعمل على إغلاق الآلة بالكامل وإغلاق كافة البرامج التي كانت تعمل على الآلة وأيضًا يتم الإقلاع مرة أخرى بالأمر vagrant up . الأمر الثالث يمحو الآلة مع كل شيء داخل المجلد الذي يحتويها. الصناديق (Boxes) يستعمل Vagrant الصناديق بدلًا من ترجمة ملفات الآلة الوهمية من الصفر مما يؤدي إلى ضياع الكثير. تعتبر الصناديق كالأنظمة والإعدادات معها المجهزة مسبقًا كي يتم استعمالها مباشرة. يعد الأمر الآتي الذي استعملناه في أول الدرس مثالًا على استخدام أحد الصناديق : $ vagrant init ubuntu/trusty32 والذي من المفترض أن ينشئ آلة وهمية في المجلد الحالي اتخدامًا للصناديق فقد استعمل الصندوق المسمى بـubuntu/trusty32 حالما يتم تنزيل الصندوق يمكنك استعماله في أي مكان وفي أي آلة تنشؤها ويمكنك إضافة أي صندوق جديد عن طريق الأمر التالي: $ vagrant box add box_name وفائدة هذه الصناديق هي استعمال إعدادات وأنظمة جاهزة ومختلفة فمثلًا إذا أردت استعمال CentOS بدلًا من أوبونتو يمكنك استبدال اسم الصندوق بـdanmikita/centos . يمكنك البحث عن الصناديق المتوفرة وأسمائها من خلال الرابط التالي: https://atlas.hashicorp.com/boxes/search التّجهيز (Provisioning) يمكنك التّجهز (Provisioning) من تنفيذ أوامر معينة على الآلة الوهمية بدون الدخول إليها ويمكن ذلك عن طريق التعديل في ملف Vagrantfile وذلك يمكنك من استعمال نفس البرامج والإعدادات على جميع الآلات. لتتمكن من استعمال التزويد عليك إضافة الأمر التالي إلى ملف Vagrantfile لـ: config.vm.provision :shell, path: "bootstrap.sh" هذا الأمر يجعل من ملف bootstrap.sh ملفًا يعمل عند تشغيل الآلة. هناك مجموعة كبيرة أخرى من الأوامر يمكنك الاطلاع عليها من التوثيق الرسمي للبرنامج. يمكنك تفعيل التزويد في الآلة التي تعمل الآن عن طريق الأمر التالي: vagrant reload --provision تغيير Virtualbox يمكنك بكل بساطة استعمال أي برنامج محاكاة مدعوم كـبرنامج VMware على سبيل المثال عن طريق الأمر التالي مع أمر vagrant up: $ vagrant up --provider=vmware_fusion مشاركة الآلة يمكنك مشاركة الآلة خاصتك مع فريق العمل وجعلهم يتمكنون من مراقبتها أو التحكم بها من أي مكان. هناك ثلاثة طرق للمشاركة: مشاركة HTTP ويشارك هذا الآلة عبر منفذ HTTP ويمكن عمل هذا عبر تنفيذ الأمر vagrant share وبعد ذلك وبعد انتهاء الأمر سيظهر في آخره رابطًا يمكنك مشاركته مع فريق عملك. مشاركة SSH يمكن هذا عن طريق كتابة الأمر: vagrant share --ssh سيطلب منك هذا الأمر كتابة كلمة السر التي سيتم التأكد بها من المتصل. بعد الانتهاء من الأمر يمكنك التوصل إلى الآلة من حاسوب آخر عن طريق الأمر: vagrant connect --ssh NAME حيث NAME اسم الآلة الذي ظهر عند نهاية أمر vagrant share --ssh مشاركة عامة وهي تشارك جميع المنافذ الممكنة ويكون ذلك عن طريق الأمرvagrant share ثم كتابة الأمر vagrant connect NAME على الجهاز المتحكم حيث NAME هو اسم الآلة الذي يظهر في نهاية تنفيذ الأمر vagrant share . الخاتمة يمكنك إنشاء أي عدد من الآلات في مُجلّدات مختلفة والعمل عليها جميعًا أو على واحدة منها واستعمال أي صناديق تريد معها وإضافة إعدادات معينة للتزويد ونشرها مع فريق العمل ليتسنى لهم ضبط آلتهم كما هو عندك ومشاركة آلتك عن بعد كي يتحكم جميع فريق العمل في آلة واحدة . المراجع https://docs.vagrantup.com/v2/ http://stackoverflow.com/questions/5891802/how-do-i-change-the-root-directory-of-an-apache-server https://help.ubuntu.com/community/ApacheMySQLPHP
  3. يتيح برنامج Oracle VirtualBox الكثير من الإمكانيّات لبناء أنظمة افتراضية للاستخدام الشخصيّ وهو ما يوفّر عليك عناء إعداد أمور كانت ستكلفك الكثير من الوقت والجهد. شرحنا في درس سابق كيفية تثبيت توزيعة RedHat باستخدام هذا البرنامج. سنشرح في هذا المقال كيف يمكننا بناء شبكة داخليّة افتراضيّة يمكن استخدامها لمحاكاة شبكة داخليّة محليّة Local area network ,LAN. يوضح الرسم التالي الهدف النهائي الذي نريد الوصول إليه: توجد آلتان افتراضيتان، لكلّ منهما واجهتا شبكة. نستخدم الواجهة الأولى لكلّ آلة افتراضيّة للاتصال بشبكة الإنترنت عبرالمرور بواجهة شبكة خاصّة ببرنامج VirtualBox تسمّى virbr0. تنشئ الواجهة الثانيّة على الآلة الافتراضية شبكة داخليّة مع الواجهة الثانيّة على الآلة الافتراضية الأخرى. إن أردت الاكتفاء بإنشاء شبكة داخليّة بين الآلات الافتراضيّة فيمكنك تجاوز الخطوة الثانيّة من الخطوات أعلاه وتنفيذ الخطوتين الأولى والثالثة؛ ولكن لن يكون بمقدور أي من النظامين في هذه الحالة الاتصال بالإنترنت وما يعنيه ذلك من عدم القدرة على تحديث الحزم أو تثبيت حزم جديدة. يحاكي هذا المخطّط عمل الخواديم في بيئة إنتاج فعليّة حيث توجد عادة أكثر من بطاقة شبكة على الخادوم، ولكلّ بطاقة استخدام معيَّن؛ مما يتيح للخادوم الاتصال بأكثر من شبكة (شبكات داخليّة عدّة أو شبكة داخليّة وأخرى عامّة). يفترض هذا الدرس وجود توزيعة RedHat Enterprise Linux مثبّتة كما هو مشروح في الدرس المشار إليه سابقا. تبقى الخطوات التالية صالحة مهما كان النظام المثبّت مع تغيير يسير في الخطوات الأخيرة (تفعيل البطاقات على RedHat Enterprise Linux). تهيئة VirtualBox لإنشاء شبكة محلية سنحتاج أولا إلى إنشاء نظام افتراضي ثان بعد النظام الافتراضي الذي أنشأناه في درس تثبيت RHEL. يتيح VirtualBox آليّة سريعة لإنشاء الأنظمة الافتراضيّة انطلاقا من أنظمة موجودة، تُسمّى هذه الآلية بالاستنساخ Cloning. تظهر بالنقر بالجانب الفأرة الأيمن على النظام الافتراضي الذي نريد استنساخه قائمة ظرفيّة نختار منها استنسخ Clone. تظهر نافذة جديدة، أدخل فيها اسما تختاره للنظام الذي نريد إنشاءه. تأكد من تحديد خيّار أعد تهيئة عناوين MAC لجميع البطاقات Reinitialize the MAC address for all network cards. يوجد خياران للاستنساخ؛ استنساخ كامل Full أو استنساخ رمزي Linked. يُنشأ في الحالة الأولى نظام جديد بالكامل (أقرص افتراضية منفصلة) في حين ينشئ الخيار الثاني آلة افتراضية جديدة ولكنها مجرد وصلة للنظام المستنسَخ. نختار الاستنساخ الكامل ثم ننقر على زر Clone. تأخذ العمليّة بضعة دقائق نحصُل بعدها على نظام افتراضي جديد. إعداد بطاقات الشبكة على VirtualBox لدينا الآن نظامان افتراضيّان (آلتان) سنعدّهما للحصول على المخطّط الذي تحدثنا عنه أعلاه. تُطبَّق الخطوتان التاليتان على كل من النظامين. حدّد النظام الافتراضي ثمّ زرّ الإعدادات Settings، تظهر نافذة جديدة اختر منها قسم الشبكة Network. توجد في هذا القسم أربع بطاقات شبكة (يُشار إليها بـ Adapter). حدّد خيار Enable network adapter (فعِّل بطاقة الشبكة) لتفعيل البطاقة وتأكد من أن خيار وصل الكابل (Cable connected) محدّد. يعدّ VirtualBox مبدئيا بطاقات الشبكة للعمل وفق وضع ترجمة عناوين الشبكة Network address translation, NAT. يعني هذا أن البطاقة سيكون لديها عنوان IP خاصّ غير مرئيّ من الخارج ولكنها تستطيع التواصل مع الخارج عبر VirtualBox الذي يعمل وسيطا بين الاثنين. هذه هي نفس الآلية التي يعمل بها الموجّه الموجود في المنزل عادة (يُترجم العناوين بين حاسوبك ومزوّد خدمة الإنترنت). يمكّنك هذا الإعداد من الاتصال بالإنترنت إذا كان حاسوبك متصلا بها. لاحظ عنوان MAC الخاصّ بالبطاقة؛ فربما تحتاجه للتعرف عليها من داخل نظام التشغيل في ما بعد. ننتقل للبطاقة الثانيّة (Adapter 2). الأمر المختلف هنا مقارنة بالبطاقة السابقة هو أننا اخترنا وضع Internal network (شبكة داخليّة) مع السماح بتنقل البيانات بين الآلات الافتراضية عبر هذه البطاقة (Allow VMs). كرّر نفس الإعدادات على النظام الافتراضي الآخر. تفعيل بطاقات الشبكة من داخل النظام الإعدادات جاهزة الآن من جانب VirtualBox؛ بقي أن نشغّل الآلتين ونفعّل البطاقات على مستوى نظام التشغيل ثم نختبر الاتصال بينها. الخطوات المشروحة هنا مطبقة على توزيعة RedHat Enterprise Linux بواجهة رسوميّة؛ يمكن تكييفها مع عمل أي نظام تشغيل آخر. كرّر الخطوات على كلّ آلة افتراضية. اختر قائمة التطبيقات Applications، ثم أدوات النظام System tools ثم الإعدادات Settings ثم الشبكة Network. ستجد أن النظام اكتشف وجود بطاقتين كما يظهر في يسار الصورة (قد تختلف أسماء البطاقات لديك). يمكن ملاحظة أن إحدى البطاقتين تأخذ عنوان IP تلقائيا فور تفعيلها، بينما لا تُظهر الأخرى سوى عنوان MAC الخاصّ بها. يمكنك استنتاج أن البطاقة التي تأخذ عنوانا تلقائيا هي البطاقة المعدّة لاستخدام ترجمة عناوين الشبكة، بينما الأخرى هي تلك المعدّة لإنشاء شبكة داخليّة دون أن يكون لديها مصدر يمنحها عنوان IP. راجع عناوين MAC في إعدادات VirtualBox وقارنها بالعناوين التي يظهرها نظام التشغيل للتأكد. بقي لنا ضبط البطاقة الداخليّة بإعطائها عنوان IP وقناع شبكة مناسب. حدّد بطاقة الشبكة الداخليّة (enps08 في المثال لديّ) وفعّلها ثم انقر على زرّ Add profile الموجود لتظهر نافذة جديدة. عدّل الإعدادات كما في الصورة. اخترتُ العنوان 192.168.2.100 بالنسبة للجهاز الافتراضي الأول، و192.168.2.200 بالنسبة للجهاز الثاني. قناع الشبكة في الحالتين هو 255.255.255.0. يمكن التأكد من أن البطاقتين توجدان على نفس الشبكة الداخليّة باستخدام أمر ping. على الجهاز الأول (ذي العنوان 192.168.2.100 ): ping 192.168.2.200 PING 192.168.2.200 (192.168.2.100) 56(84) bytes of data. 64 bytes from 192.168.2.200: icmp_seq=1 ttl=64 time=0.760 ms 64 bytes from 192.168.2.200: icmp_seq=2 ttl=64 time=0.254 ms (...) على الجهاز الثاني (ذي العنوان 192.168.2.200 ): ping 192.168.2.100 PING 192.168.2.100 (192.168.2.100) 56(84) bytes of data. 64 bytes from 192.168.2.100: icmp_seq=1 ttl=64 time=0.980 ms 64 bytes from 192.168.2.100: icmp_seq=2 ttl=64 time=0.348 ms (...) أي أن كلا من البطاقتين يمكنها الاتصال بالأخرى.
  4. توفّر Red Hat امتيازات خاصّة للمطوّرين يمكنك الاستفادة منها والتسجيل للحصول على رابط تنزيل ملف ISO. يمكن استخدام نفس الحساب للاشتراك والحصول على التحديثات من الشركة في إطار الاستخدام الشّخصي. ستحتاج قبل البدء في تثبيت توزيعة Red Hat Enterprise Linux إلى تنزيل الملفّ من موقع Red Hat. سنشرح في هذا المقال طريقة التثبيت باستخدام برنامج Oracle VirtualBox للأنظمة الوهمية الذي نفترض تثبيته لديك. يُنصَح بتوفّر الميزات التالية -على الأقل- من أجل تشغيل RHEL على النحو الأمثل: جهاز بمعماريّة 64 بت بعتاد يدعم الأنظمة الوهميّة (Intel VT-X أو AMD-V). نظام تشغيل يدعمه Virtualbox مثل Windows 7 ،OS X 10.8 ،Ubuntu 12.04 أو أحدث. ذاكرة عشوائية قدرها 8 غيغا بايت. مساحة قرص صلب متاحة قدرها 24 غيغابايت. إعداد VirtualBox لتثبيت RHEL نتوقّف قبل البدء في خطوات التثبيت لشرح مصطلحين يردان كثيرا عند الحديث عن الأنظمة الوهمية: المُضيف Host والضّيف Guest. في هذا الإطار نطلق عبارة المُضيف على نظام التشغيل الذي نُثبّت عليه برنامج VirtualBox بينما نعني بالضّيف نظامَ التشغيل الذي سنثبته داخل VirtualBox. هذا الأخير ليس له وجود بدون VirtualBox الذي يلعب دور الوسيط بينه وبين نظام التشغيل المثبت فعلا. في حالتي النظام المُضيف هو أوبنتو 14.04 بينما سنثبت RHEL كنظام ضيف. نبدأ بتشغيل VirtualBox ثم نضغط على زر New (جديد) لإنشاء نظام وهمي جديد؛ تظهر نافذة جديدة. نختار اسم RHEL للجهاز الوهميّ الجديد وسيتعرّف Virtualbox تلقائيا على نوع (Type) نظام التشغيل وإصداره (Version). ننتقل للخطوة الموالية (Next) لاختيار مقدار الذاكرة العشوائيّة للنّظام الوهميّ؛ الحد الأدنى هو 2096 ميغابايت (2 غيغابايت). لديّ ذاكرة عشوائية قدرها 8 غيغابايت خصصتُ منها 4 للجهاز الوهمي الذي ستعمل عليه RHEL. ثم يأتي دور القرص الصلب الوهمي. حدّد خيار Create a virtual hard disk now (أنشئ قرصا صلبا وهميًّا الآن) ثم انقر على الزر Create (أنشئ). حدّد خيار (VDI (VirtualBox Disk Image وهي صيغة الأقراص الصّلبة الوهمية المستخدمة مبدئيا في Virtualbox. انقر على التالي للخطوة الموالية. يوجد خياران؛ إما حجز مساحة ثابتة مقدّما Fixed size أو جعلها ديناميكية Dynamically allocated. في الحالة الأولى تُحجز مساحة (20 غيغابايت مثلا) على القرص الصّلب للنظام المضيف وتُخصَّص للنظام الضّيف؛ أما في الحالة الثانية فإن استغلال القرص الصلب للنظام المضيف يكون حسب الحاجة في حدود المساحة المخصَّصة. الطريقة الأولى أبطأ أثناء الحجز وقد يستغرق إعداداها بضعة دقائق، ولكنها أسرع في الاستعمال؛ والثانية أسرع أثناء الإعداد وأبطأ أثناء الاستخدام. تقترح النافذة التالية مسارا على النظام المضيف لحفظ القرص الوهميّ؛ يمكنك تغييره إن شئت. يوجد أيضا خيار لمساحة القرص الصّلب الوهمي. يجب أن تخصّص على الأقل 20 غيغابايت للنظام الوهميّ ويمكن أن تزيدها إن كنت تخطّط للعمل بكثافة على النظام (تثبيت الكثير من البرامج مثلا). بالنسبة لي اخترتُ 30 غيغابايت. نحصُل بالوصول إلى هذه النقطة على جهاز وهميّ قاعدي. نحتاج لبضعة إعدادات أخرى. ملحوظة: ربما تلاحظ وجود أكثر من جهاز وهمي في الصّورة أعلاه. يتيح VirtualBox إنشاء أكثر من نظام ضيف على نفس المُضيف. اختر الجهاز الوهمي الذي أنشأناه للتّو (RHEL) من القائمة الموجودة في يسار الشاشة ثم انقر على خانة الإعدادات العامة General في يمين الشاشة. تظهر نافذة الإعدادات؛ اختر منها تبويب Advanced. يسمح هذا الإعداد بتشارك الحافظة Clipboard بين النظامين الضّيف والمضيف. سنحتاج لتفعيل إضافات VirtualBox حتى يمكننا النسخ واللّصق بين الاثنين (خطوة موالية). يعمل الجهاز الوهمي مبدئيّا على معالج واحد؛ إلا أن بإمكانك جعله يعمل على أكثر من معالج إن كانت لديك معالجات أو أنوية متعدّدة. اختر System (النظام) من القائمة اليسرى في نافذة الإعدادات العامّة ثم تبويب المعالج Processor في الجانب الأيمن. اختر العدد المناسب بالنسبة لك (اخترتُ أن يعمل النظام الوهمي على معالجين؛ من أصل 4 متوفّرة). نأتي الآن لإعداد الجهاز الوهمي للإقلاع على ملف ISO الذي نزّلناه من موقع Red Hat. اختر Storage (التخزين) من القائمة اليسرى في نافذة الإعدادات العامّة ثم في الجانب الأيمن من النافذة، في مجموعة Storage tree (تفرعات التخزين) اختر أيقونة القرص الضوئي CD الموجودة تحت Controller: IDE (حيثُ توجد عبارة فارغ Empty دلالة على أننا لم نخصّص الإعداد بعد). انقُر على أيقونة القرص الضوئي ضمن مجموعة Attributes (الخصائص) يمينَ الشّاشة وانقر على خيار Choose Virtual Optical Disk File (اختر ملفّ قرص ضوئي وهمي). ستظهر نافذة انتقل عبرها إلى مكان ملف توزيعة RHEL الذي نزلته سابقا. يظهر اسم الملف rhel-server-7.2-x86_64-dvd.iso الآن في تفرّعات التخزين أسفل عبارة Controller: IDE بدلا من عبارة فارغ (Empty). بقيت لنا خطوة أخيرة قبل البدء في تثبيت التوزيعة؛ هذه الخطوة اختيارية ولكنها مفيدة. سننشئ مجلّدا مشتركا بين النظامين، الضيف والمضيف وهو ما يسهّل تشارك الملفات بين الاثنين. اختر Shared folders (المجلدات المشتركة) ضمن القائمة اليسرى في نافذة الإعدادات العامّة للجهاز الوهمي RHEL. انقر على زر الإضافة الموجود في يمين النافذة لتظهر نافذة صغيرة. حدّد في الحقل الأول Folder path مسار المجلّد على النظام المضيف ثم حدد له اسما بدون مساحات في الحقل الثاني. حدّد خيار Auto-mount (تركيب تلقائي) لكي يُركَّب الملف مع تشغيل النّظام. نحن الآن جاهزون لتثبيت RHEL. تثبيت RHEL على VirtualBox نختار النظام الوهميّ الذي أعددناه في الخطوات السابقة ثم ننقر على زر Start (ابدأ). يحمّل الجهاز الوهميّ ملف التوزيعة من القرص الضّوئي الوهميّ وتبدأ بالتالي عمليّة التثبيت كما لو كنا أمام جهاز حاسوب حقيقي. يظهر خياران في الشاشة؛ الأول لبدء تثبيت التوزيعة مباشرة والثاني لاختبار ملف ISO ثم بدء التثبيت. نختار الثاني للتحقّق من أنّه لا توجد عيوب في الملفّ. ملحوظة: اضغط على زرّ Ctrl الأيمن في لوحة المفاتيح لجعل المؤشّر يعمل داخل الإطار المخصّص للنظام الضّيف؛ ثم اضغط عليه مرةً أخرى إذا أردت إعادة المؤشّر للنظام المضيف. ينفّذ النظام بضعة عمليات للتحقّق من سلامة ملف ISO الخاصّ بالتوزيعة ثم تبدأ عمليّة التثبيت. الخطوة الأولى هي اختيار اللغة وتموضع لوحة المفاتيح. يأتي بعد اختيّار اللغة ملخَّص للتثبيت؛ يمكنك فيه اختيّار منطقة التوقيت، اللّغة، لوحة المفاتيح وإعدادات أخرى. بالنقر على إحدى الفقرات تُفتَح نافذة لإعدادها ثم بعد الانتهاء من الإعداد يوجد زر Done (تمّ) للعودة للملخَّص. سنذهب لزرّ Software selection (اختيّار البرامج) وننقر عليه. نحدّد خيار Server with Gui (خادوم بواجهة رسوميّة) من لائحة Base Environment (البيئة القاعديّة) الموجودة يسار الشاشة. توجد يمين الشاشة لائحة بإضافات برمجية (حزم برامج) يمكن الاختيار بينها للتثبيت مع البيئة القاعديّة المحدّدة. اختر من بينها Development tools (أدوات تطوير) التي سنحتاجها لاحقا ثم انقر زرّ Done للعودة إلى الملخّص. انقر على زرّ Network amd Hostname (الشبكة واسم المضيّف) في نافذة الملخّص لإعداد الاتّصال بالشبكة. اختر واجهة الشبكة من اللّائحة على اليسار ثم فعّل الاتّصال بالنقر على زر On. عطّل بالعودة إلى نافذة الملخّص استخدامَ KDump بنزع تحديد Enable kdump في نافذة الإعداد الخاصّة به من أجل ربح قليل من الذاكرة العشوائية. بقي لنا إعداد القرص الصّلب الذي سنثبّت عليه النظام لذا نختار زرّ Installation destination (وجهة التثبيت) في نافذة الملخّص. بما أن لدينا قرصا وهميّا فسنختاره كاملا للتجزئة. ملحوظة: ينبغي الحذر في هذه الخطوة إن كنت تثبّت التوزيعة على جهاز فعلي وليس وهميا به نظم تشغيل أخرى. ربما يؤدي اختيار تجزئة غير مناسبة إلى محو بياناتك الموجودة على القرص. يمكننا الآن بعد أن أكلنا إعداد الوجهة النقر على زرّ Begin installation لبدء التثبيت. تبدأ عملية تثبيت RHEL وتظهر نافذة جديدة. يُطلَب منّا أثناء نسخ الملفّات وتثبيت الأدوات التي اخترناها إعدادُ حساب المستخدِم الجذر Root ومستخدم آخر للمهامّ غير الإدارية. انقر على زرّ Root password (كلمة سر الجذر) لضبط كلمة السّر الخاصّة بالمستخدم الجذر؛ ثم بعد إتمام ضبطها انقر على زرّ User creation (إنشاء مستخدِم) لإعداد مستخدم آخر غير المستخدم الجذر. تبدو الصّورة على النحو التالي بعد إكمال الإعداديْن. انتظر حتى إكمال نقل الملفات وتطبيق الإعدادات (قد يستغرق ذلك دقائق طويلة حسب جهازك) ثم انقر على زرّ Reboot (أعد التشغيل). تظهر - بعد إعادة تشغيل النظام في الخطوة السّابقة - النافذة التالية والتي تطلُب قراءة شروط استخدام RHEL والموافقة عليها. اكتب الرقم 1 ثم اضغط على زر Enter لعرض معلومات الرّخصة. اكتب الرقم 2 ثم اضغط Enter لقبول الرخصة. اضغط على الزّر c في لوحة المفاتيح للخروج من شروط الاستخدام. اضغط على الزّر c لاستكمال التثبيت. ملحوظة: قد لا تظهر النافذة أعلاه؛ وتظهر بدلا منها نافذة رسومية يمكن من خلالها قراءة الترخيص وقبوله. يوجد أيضا في نفس النافذة زر للوصول المباشر إلى مدير الاشتراكات (لتسجيل الاشتراك كما في الخطوة الموالية أدناه). تظهر بعد اكتمال عمليّة الإقلاع نافذة دخول باسم الحساب العاديّ الذي أنشأته أثناء التثبيت. بقيت لنا خطوة أخيرة وهي تسجيل نسختنا من أجل الحصول على التحديثات من Red Hat. تأكّد من الاتّصال بالشبكة بالذهاب إلى قائمة Applications (التطبيقات) ثم القائمة الفرعيّة System tools (أدوات النّظام) ثم خيار Settings (الإعدادات) ثم زر Network (الشّبكة). نتوجّه بعد التأكّد من الاتّصال إلى قائمة التطبيقات مرة أخرى، أدوات النّظام ونختار منها Red Hat Subscription Manager (مدير الاشتراك في Red Hat). أدخل كلمة السرّ الخاصّة بالحساب الجذر (ليست كلمة سر حسابك العادي) إن طُلب منك ذلك. تظهر النافذة التالية. ننقر على زر Register (سجِّل) وندخل معلومات الاستيثاق الخاصّة بحساب مطوّري Red Hat (اسم المستخدِم وكلمة السّر) ثم ننتظر قليلا لتظهر النافذة التاليّة. تلخّص النافذة معلومات الاشتراك ونوعه. نضغط على زرّ Attache (أرفق) لاستخدام الاشتراك وتلقي التحديثات. لدينا الآن اشتراك مدّته سنة. إعدادات تكميلية أنهينا الآن تثبيت RHEL على VirtualBox؛ نكمل بتطبيق إعدادات تكميلية تساعدنا أثناء العمل على RHEL من داخل VirtualBox. تعطيل شاشة القفل وخيارات حفظ الطاقة تشغّل الإعدادات المبدئيّة في RHEL قفل الشّاشة عندما لا تكون مستخدمة؛ هذا مناسب أثناء العمل على جهاز فعليّ إلا أنه من الأفضل تعطيله على نظام وهميّ حيث يتولّى النّظام المضيف هذه المهمة. لتعطيل هذه الإعدادات ننقر على قائمة التطبيقات ثم نختار أدوات النظام ونحدّد الإعدادات Settings. نختار ضمن نافذة الإعدادات خيار الخصوصية Privacy، ثم قفل الشاشة Screen lock ثم نعطّل القفل التلقائي للشاشة Automatic Screen Lock. نعود لنافذة الإعدادات ونختار زرّ الطاقة Power لتظهر نافذة إعدادات الطاقة. ننقر على القائمة المنسدلة بجانب خيّار Black screen (الشاشة السوداء) ثم نختار Never من القائمة. إضافات Virtualbox تمكّن VirtualBox Guest Additions (إضافات الضّيف في VirtualBox) من تحسين التّكامل بين النظام الضّيف والنّظام المضيف. مثلا: استخدام المؤشّر دون الحاجة للضغط على زر Ctrl في لوحة المفاتيح. النسخ واللّصق بين النظامين. تشارك الملفات. القدرة على تغيير حجم الواجهة الرسوميّة داخل النظام الوهمي بتغيير حجم نافذة النّظام داخل VirtualBox. تحتاج قبل تثبيت إضافات VirtualBox إلى تثبيت أدوات التّطوير (نفّذنا هذه الخطوة أثناء تثبيت النظام) وإلى الدّخول إلى واجهة سطح المكتب. تكون خطوات التثبيت على النحو التالي. شغّل النظام الوهميّ RHEL ثم اختر قائمة Devices (أجهزة طرفيّة) في نافذة VirtualBox؛ ثم اختر Insert Guest Additions CD image. ستظهر بعد لحظات نافذة حوار تسألك ما إذا كنت متأكدا من أنك تريد تنزيل الملف. يبدأ تنزيل الملفّ بالضغط على Download (نزِّل) ثم تظهر بعد اكتمال التنزيل نافذة تطلُب تسجيل الملف وإدخاله في القرص الضّوئي الوهمي للنظام. انقر على زر Insert. تظهر بعد إدخال الملفّ النافذة التاليّة التي تطلُب تشغيله. يبدأ - بالنقر على زر Run في النافذة - تثبيتُ الإضافات. سيُطلَب منك إدخال كلمة السّر الخاصّة بحساب الجذر Root. تطلُب نافذة التثبيت الضغط على زر Enter بعد اكتمال العملية. أعد تشغيل النظام؛ ستظهر رسالة على الشاشة تخبرك أن النظام الوهمي يتعرّف الآن تلقائيا على المؤش عند مروره في النافذة الخصّة به في VirtualBox دون الحاجة للضّغط على زر Ctrl. يمكن استخدام المؤشّر على النّظام المضيف بمجرّد خروجه من حيّز الشاشة المخصَّص للنظام الضّيف. انقر على الأيقونة اليمنى في الرسالة لكي لا تظهر مجدّدا. تحديث النظام الخطوة الأخيرة هي تحديث النّظام. افتح طرفيّة Terminal (قائمة التطبيقات ثم المفضّلة Favorites) ثم نفّذ الأمر التالي للدخول في الحساب الجذر: su - ستُطلب منك كلمة سر المستخدم الجذر. ثم نفّذ الأمر التالي لتحديث الحزم والبرامج المثبّتة: yum -y update