تم التقرير أنك قررت أن تبدأ في استخدام GitLab لإدارة مشروعك، ولكنك لست متأكدًا من كيفية تثبيت GitLab بشكل آمن؟ ليس فقط أن تثبيت GitLab عملية معقدة، ولكن إذا لم يتم ذلك بشكل صحيح، قد يكون بياناتك في خطر. ولكن لا تقلق، لقد وصلت إلى المكان الصحيح!
في هذا البرنامج التعليمي، ستتعلم العملية الكاملة لتثبيت GitLab بشكل آمن، بحيث يمكنك إعداد تشفير SSL وضبط GitLab للأداء الأمثل.
هل يبدو ذلك مثيرًا؟ تفضل بالبدء!
الشروط المسبقة
سيكون هذا البرنامج التعليمي عرضًا توضيحيًا عمليًا. إذا كنت ترغب في متابعة، تأكد من أن لديك ما يلي:
- A Linux server with root access – This demo uses Ubuntu 20.04 LTS, but any Linux distribution will work.
- A fully qualified domain name (FQDN) pointing to your server.
- Let’s Encrypt مثبت على الخادم.
- الحد الأدنى من المتطلبات – 8 جيجابايت من ذاكرة الوصول العشوائي، 50-100 ميجابت في الثانية من النطاق الترددي، معالج بتردد 2 غيغاهرتز، و 20 جيجابايت من مساحة القرص.
تثبيت GitLab Community Edition
الآن بعد أن لديك FQDN وخادمك جاهز، حان الوقت لتثبيت GitLab. هناك عدة طرق لتثبيت GitLab، مثل استخدام حزمة Omnibus أو التركيب من المصدر. ولكن يركز هذا البرنامج التعليمي على تثبيت GitLab باستخدام مستودع GitLab من مطوره.
يأتي GitLab في توزيعتين:
- GitLab Community Edition (CE) – للمستخدمين الذين يفضلون الإصدار مفتوح المصدر والمدعوم من المجتمع من GitLab.
- GitLab Enterprise Edition (EE) – للمستخدمين الذين يحتاجون إلى الميزات الإضافية التي يوفرها إصدار GitLab Enterprise Edition.
ولكن هذه النسخة التجريبية تستخدم النسخة المجتمعية لاختبار التطبيق في بيئة التطوير الخاصة بك.
1. افتح الطرفية الخاصة بك وقم بتشغيل الأمر apt update
أدناه للتأكد من أن نظامك لديه الوصول إلى جميع تحديثات البرمجيات الأخيرة.
يقوم الأمر apt update
بتحديث ملفات فهرس الحزم المستخدمة بواسطة أداة apt
لاسترداد معلومات حول الحزم المتاحة.

2. بعد ذلك، قم بتشغيل الأمر apt install
أدناه لتنزيل (curl
) وinstall
الاعتمادات المطلوبة التالية لتثبيت GitLab الخاص بك:
- حزمة
openssh-server
– تحتوي على ديمون خادم OpenSSH وأدوات ذات صلة، مثل أداة إدارة مفتاح المضيف والخادم، لتوفير وصول تسجيل الدخول عن بعد للمستخدمين. حزمة ca-certificates
– تحتوي على قائمة من شهادات السلطة الشهادة. توفر هذه الحزمة الملفات اللازمة لتمكين دعم HTTPS على الخادم الخاص بك.

3. قم بتشغيل الأمر curl
أدناه لتحميل (curl
) السيناريو التثبيت من GitLab (https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce
). يحفظ الأمر السيناريو كسكريبت للشل (script.deb.sh
) ويشغله كمستخدم فائق (sudo bash
).
عند اكتمال أمر curl
، ستحصل على الإخراج التالي.

4. قم بتشغيل الأمر apt-cache
أدناه للتحقق من أنك قد أضفت مستودع GitLab بنجاح.

5. الآن، قم بإعادة تشغيل الأمر apt update
لتحديث قائمة الحزم المتاحة. يتأكد هذا الأمر من أن نظامك سيستخدم مستودع GitLab الذي تمت إضافته حديثًا عند تثبيت GitLab.
6. أخيرًا، قم بتشغيل الأمر apt install
أدناه لتثبيت GitLab (gitlab-ce
) على نظامك.

سيستغرق التثبيت بعض الوقت، ولكن سترى الإخراج التالي عند اكتمال التثبيت. يؤكد هذا الإخراج أنك الآن قد قمت بتثبيت GitLab بنجاح على نظامك.

تكوين تثبيت GitLab الخاص بك
لديك الآن GitLab مثبتًا على نظامك، لكن ستحتاج إلى إجراء بعض التغييرات في التكوين قبل استخدام GitLab. يحتوي ملف التكوين الخاص بـ GitLab (/etc/gitlab/gitlab.rb) على الإعدادات العامة لـ GitLab التي ليست محددة لبيئة خادم GitLab الخاص بك.
ستقوم بتعديل ملف تكوين GitLab لتعيين اسم النطاق FQDN الخاص بك والاتصال الآمن بنطاقك.
1. افتح ملف التكوين /etc/gitlab/gitlab.rb في محرر النص المفضل لديك.
إحدى الإدخالات الأكثر أهمية في ملف تكوين GitLab هي توجيه الرابط الخارجي، كما هو موضح أدناه. يتيح هذا التوجيه للمستخدمين الوصول إلى GitLab عبر متصفح الويب.
قم بتغيير قيمة توجيه الرابط الخارجي من http://gitlab.example.com إلى https://gitlab.yourdomain.com، حيث yourdomain.com هو اسم النطاق FQDN الخاص بك.

2. بعد ذلك، انتقل إلى القسم تكامل Let’s Encrypt الموجود في الأسفل، وقم بتكوين التوجيهات بالتالي:
- ألغِ تعليق توجيه
letsencrypt['enable']
بإزالة الرمز#
السابق وقم بتغيير القيمة منnil
إلىtrue
. يخبر هذا التوجيه GitLab بتكوين HTTPS على خادمك تلقائيًا. - ألغِ تعليق توجيه
letsencrypt['contact_emails']
بإزالة الرمز#
السابق، وضع عنوان بريدك الإلكتروني كقيمة. ستستخدم Let’s Encrypt هذا العنوان البريدي للاتصال بك عند الحاجة إلى تجديد شهادة SSL الخاصة بك (كل 90 يومًا). - حفظ التغييرات والخروج من المحرر.

3. أخيرًا ، قم بتشغيل الأمر أدناه لإعادة التكوين وتطبيق التغييرات في ملف التكوين /etc/gitlab/gitlab.rb على GitLab.

تكوين جدار الحماية الخاص بك لاتصالات SSL
الآن بعد تكوين GitLab ، ستحتاج إلى تكوين قواعد جدار الحماية الخاص بك للسماح باتصالات SSL وآمنة إلى خادمك. يعد Uncomplicated Firewall (UFW) البرنامج الافتراضي لإدارة قواعد جدار الحماية في Ubuntu.
إذا كنت قد وضعت خادمك خلف جدار حماية ، ستحتاج إلى فتح منفذ HTTP 80
ومنفذ HTTPS 443
لاتصالات SSL.
قم بتشغيل الأمر التالي لفتح منافذ OpenSSH
، HTTP
، و HTTPS
لخادم GitLab الخاص بك.

الآن ، قم بتشغيل الأمر التالي لفحص حالة جدار الحماية الخاص بك.

تأمين GitLab عبر واجهة الويب
جدار الحماية الخاص بك قائم ، ولكن هل يعني ذلك أن GitLab الخاص بك آمن؟ إضافة طبقات إضافية من الأمان ليس أبدًا كثيرًا. لذا ستقوم بتأمين تثبيت GitLab الخاص بك عبر واجهة الويب.
1. افتح متصفح الويب المفضل لديك وانتقل إلى خادم GitLab الخاص بك. على سبيل المثال ، http://gitlab.example.com ، حيث example.com هو اسم النطاق FQDN الخاص بك.
اختر إما Chrome أو Firefox عند الوصول إلى خادم GitLab الخاص بك للحصول على أمان أفضل. تستخدم هذه المتصفحات الويب بروتوكولات HTTP / HTTPS الخاصة بها، التي تساعد على تطبيق سياسات الأمان.
أدناه، يمكنك رؤية صفحة تسجيل الدخول إلى GitLab.

2. بعد ذلك، انقر على أيقونة القفل (أعلى اليسار) بجانب شريط العنوان، وسترى حالة الاتصال الخاصة بك. هذا العرض التوضيحي يظهر الاتصال آمن، والذي يشير إلى أن الاتصال بالخادم هو عبر HTTPS.

عد إلى الطرفية الخاصة بك، وشغل الأمر cat
أدناه للحصول على initial_root_password
الخاص بك.
بشكل افتراضي، يأتي التثبيت من GitLab مع كلمة مرور جذر أولية تم إنشاؤها تلقائيًا.
انسخ واحفظ كلمة المرور الجذر الأولى الخاصة بك في مكان آمن. ستستخدم هذه الكلمة لتسجيل الدخول إلى GitLab (الخطوة الرابعة).

4. عد إلى متصفح الويب الخاص بك، اكتب root كاسم المستخدم، وأدخل كلمة المرور الجذر الأولى الخاصة بك ككلمة مرور. انقر على تسجيل الدخول لتسجيل الدخول إلى خادم GitLab الخاص بك.

بعد تسجيل الدخول إلى خادم GitLab الخاص بك، يوجهك المتصفح إلى لوحة معلومات GitLab، كما هو موضح أدناه.

إضافة مفتاح SSH إلى حساب GitLab الخاص بك
بصرف النظر عن الواجهة الويب، يمكنك أيضًا الوصول إلى GitLab عبر بيئة سطر الأوامر بطريقة آمنة. كيف؟ ستحتاج أولاً إلى إضافة مفتاح SSH إلى حسابك، بحيث يمكنك الوصول إلى GitLab بتشغيل أمر على طرفيتك دون الحاجة إلى إدخال كلمة مرور.
1. قم بتشغيل الأمر ssh-keygen
لإنشاء زوج مفاتيح SSH مناسب للاستخدام في اتصالات SSH. عند الطلب، اضغط على مفتاح Enter للإبقاء على الموقع الافتراضي للحفظ للمفتاح SSH (/root/.ssh/id_rsa) ولا تضيف كلمة مرور.

2. قم بتشغيل الأمر cat
أدناه لطباعة المفتاح العام الخاص بك على الشاشة، كما هو موضح أدناه. انسخ سلسلة المفتاح العام ssh-rsa بأكملها واحفظها في مكان آمن. ستقوم بإضافة هذا المفتاح العام إلى GitLab الخاص بك لاحقًا (الخطوة الثالثة).

3. عد إلى لوحة التحكم في GitLab على متصفحك لإضافة مفتاحك العام باستخدام الخطوات التالية:
- انقر على القائمة SSH Keys في لوحة الجهة اليسرى لصفحة User Settings للوصول إلى صفحة SSH Keys.
- الصق المفتاح العام الذي قمت بنسخه (الخطوة الثانية) في حقل Key، كما هو موضح أدناه
- قم بتوفير اسمك المفضل للمفتاح في حقل Title. ولكن لهذا العرض التوضيحي، يتم تعيين الاسم كـ ATA–GitHub.
- انقر Add Key لإكمال إضافة المفتاح العام إلى حسابك.

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

2. قم بتعطيل خيار تمكين التسجيل تحت قسم قيود التسجيل. بذلك، ستقوم بتعطيل ميزة التسجيل العام في GitLab.

3. انتقل لأسفل وانقر على حفظ التغييرات (أسفل) لحفظ التغييرات التي قمت بها على إعدادات قيود التسجيل.

4. في النهاية، اسحب من حسابك وانتقل إلى شاشة تسجيل الدخول إلى GitLab الخاص بك.
كما ترى أدناه، اختفت الرابط سجّل الآن.

اختبار خادم GitLab الخاص بك
في هذه النقطة، لقد قمت بالفعل بتكوين وتأمين خادم GitLab الخاص بك، وهذا رائع! ولكن كيف تعرف أن خادم GitLab الخاص بك يعمل فعلياً؟ ستقوم بتجربة خادمك عن طريق إنشاء مشروع GitLab عبر لوحة تحكم GitLab واستنساخ المشروع إلى خادمك.
1. على لوحة تحكم GitLab، انقر فوق الرمز زائد (+) بجوار مربع البحث، ثم انقر فوق مشروع جديد، كما هو موضح أدناه، لإنشاء مشروع GitLab جديد.

2. بعد ذلك، قدم اسم المشروع الذي تفضله، ولكن لهذا العرض التوضيحي، تم تعيين اسم المشروع كـ ATA GitLab، وتم تعيين المعرف الخاص بالمشروع إلى (ata–gitlab).
انقر على إنشاء المشروع لإنشاء مشروعك الجديد.

3. العودة إلى الطرفية الخاصة بك وتشغيل الأوامر التالية لتكوين اسم المستخدم العالمي الخاص بك (--global user.name
) والبريد الإلكتروني (--global user.email
) لـ git. كل اسم مستخدم وبريد إلكتروني فريد على مستوى العالم عبر جميع الحسابات على خادم gitlab.
4. الآن، قم بتشغيل الأمر git clone
أدناه لاستنساخ مشروع ata gitlab الذي قمت بإنشائه (الخطوة الثانية) إلى الدليل الحالي الخاص بك. قم بتعويض yourdomain.com
بنطاق fqdn الخاص بك.
إذا تمت العملية بنجاح، سترى إخراجًا مماثلاً لتلك أدناه. عند اكتمال عملية الاستنساخ، ستحصل على دليل جديد يسمى ata-gitlab.

5. أخيرًا، قم بتشغيل أمر ls
للتحقق من وجود دليل ata-gitlab.
نظرًا لأنه يمكنك استنساخ مشروع ata gitlab الجديد وأن دليل ata gitlab موجود، فإن الإخراج أدناه يؤكد أن خادم gitlab الخاص بك يعمل بشكل صحيح.

الختام
في هذا البرنامج التعليمي، تعلمت كيفية تنفيذ تثبيت آمن لـ gitlab على نظام ubuntu linux الخاص بك. لقد تأكدت من تأمين خادم gitlab الخاص بك عبر واجهة الويب، وإضافة مفاتيح ssh إلى حساب gitlab الخاص بك، واختبار ما إذا كان خادم gitlab الخاص بك يعمل.
مع هذه المعرفة الجديدة، ربما ترغب في معرفة كيفية إعداد أنظمة التكامل المستمر الآلي مع gitlab؟