Anonim

لماذا جيتلاب

روابط سريعة

  • لماذا جيتلاب
  • اقامة
  • تثبيت التبعيات
  • تثبيت Gitlab
  • شغّل برنامج الإعداد
  • الإعداد الأولي
  • إعداد SSH
    • ل SSH العادية
  • تكوين UFW
  • ختام الأفكار

هناك الكثير من الخيارات الرائعة لاستضافة مشاريعك ومشاركة الكود الخاص بك. يمكنك إنشاء حساب Github الآن مجانًا. لذا ، لماذا تريد أن تتعثر في إعداد Gitlab بنفسك؟

هناك بعض الحجج الجيدة لذلك ، في الواقع ، وليس أقلها الخصوصية. Gitlab هو لك. أنت تستضيفه ، وأنت تملكه. لذلك ، يمكنك التحكم في من لديه حق الوصول إلى مستودعاتك. هذا يعني أيضًا أن لديك سيطرة على المنصة نفسها. لست خاضعًا لسياسات الشركة أو التغييرات الاعتباطية في التسعير أو جمع البيانات.

يعني أيضًا التحكم في الإصدار المستضاف ذاتيًا أنك لا تعتمد على خدمة للوصول إلى التعليمات البرمجية الخاصة بك. من المؤكد أن فرص جيثب أو أي خدمة أخرى مثل عدم توفر الخدمة بسبب انقطاع التيار الكهربائي ضئيلة ، لكن ألا تفضل أن لا تكون هذه فرصة على الإطلاق؟

Gitlab سهل الإعداد أيضًا ، ويتطلب فقط أن يكون لديك خادم Linux يقوم بتشغيل برنامج Gitlab مفتوح المصدر ، والذي يأتي معظمه مُهيأ مسبقًا وجاهز للتشغيل.

اقامة

قبل البدء ، ستحتاج إلى إعداد VPS لاستضافة Gitlab ، إلا إذا كنت تخطط لاستضافته محليًا. تقدم شركات الاستضافة مثل DigitalOcean و Linode خيارات فعالة من حيث التكلفة يمكنها تشغيل الخادم الخاص بك وتشغيله.

من الجيد أيضًا شراء اسم نطاق لخادمك أيضًا. أو يمكنك توجيه نطاق فرعي لاسم نطاق موجود على خادم Gitlab. في كلتا الحالتين سوف تجعل الوصول إلى واجهة الويب أسهل.

هذا الدليل سوف يتبع Ubuntu 16.04 LTS. إنه أحدث إصدار دعم طويل الأجل من Ubuntu ، ومن السهل جدًا التعامل معه. سيكون Debian Stretch (Stable) خيارًا رائعًا أيضًا ، وسيعمل معظم هذا الدليل عليه أيضًا. سيقوم كل من DigitalOcean و Linode بإعداد الخادم الخاص بك مع نظام التشغيل الذي تختاره ، لذلك ليست هناك حاجة لتثبيت Ubuntu.

تثبيت التبعيات

عند تشغيل نظام التشغيل Ubuntu لأول مرة ، من المستحسن تحديث النظام للتأكد من عدم توفر أي إصلاحات أمنية. المضي قدما والقيام بذلك أولا.

تحديث $ sudo apt $ ترقية sudo apt

بعد انتهاء التحديث ، هناك بعض الأشياء التي ستحتاج إلى تثبيتها لبدء Gitlab. استخدم apt لتثبيت تلك أيضًا.

$ sudo apt install curl openssh-server ca-الشهادات postfix

هذا هو. أنت جاهز لتشغيل البرنامج النصي المثبت Gitlab.

تثبيت Gitlab

تحتفظ Gitlab بمستودع ديبيان / أوبونتو الخاص بها. لتمكين المستودع على الخادم الخاص بك ، قم بتنزيل وتشغيل البرنامج النصي للتثبيت المريح المقدم من فريق Gitlab.

$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | سودو باش

قد يبدو هذا كثيرًا ، لكنه يقوم بتنزيل البرنامج النصي فقط ويطلب من سطر الأوامر تشغيله. سيستغرق البرنامج النصي بضع ثوانٍ للتشغيل وإعداد المستودع. بمجرد القيام بذلك ، ستكون جاهزًا لتثبيت حزمة Gitlab.

sudo $ تثبيت gitlab م

سيستغرق هذا التثبيت بضع دقائق. يأتي Gitlab في حزمة واحدة كبيرة تسمى "حزمة Omnibus". يأتي مع كل ما يحتاجه Gitlab جميعًا معًا.

شغّل برنامج الإعداد

هناك برنامج نصي لإعداد تحتاج إلى تشغيله للحصول على تكوين Gitlab. جاء في الحزمة التي قمت بتثبيتها للتو ، حتى تتمكن من تشغيل ذلك الآن.

إعادة تكوين $ sudo gitlab-ctl

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

الإعداد الأولي

افتح متصفح الويب الخاص بك وانتقل إلى خادم Gitlab. سيتم الترحيب بك من خلال صفحة تطلب منك إعداد كلمة مرور إدارية. من الواضح أن هذه هي كلمة المرور لحساب المسؤول الخاص بك. بشكل افتراضي ، اسم الحساب هذا هو "الجذر".

بعد إعداد هذا الحساب ، يمكنك إما تسجيل الدخول باستخدامه أو تسجيل حساب مستخدم عادي وتسجيل الدخول. وفي كلتا الحالتين ، بمجرد تسجيل الدخول ، ستتمكن من الوصول إلى لوحة معلومات Gitlab بأكملها لإنشاء وإدارة المستودعات.

إعداد SSH

لا ترغب في دفع التغييرات إلى مشاريعك باستخدام كلمات المرور. إنه ألم ، وليس آمنًا جدًا. أفضل شيء يمكنك القيام به هو إنشاء SSH لتسجيل الدخول تلقائيًا من أي جهاز كمبيوتر مثبت عليه المفتاح.

من السهل جدًا إنشاء مفاتيح SSH على نظامي Linux و Mac. في Windows 10 ، يجب أن تكون العملية هي نفسها من خلال تطبيق OpenSSH المتاح.

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

$ ssh-keygen -b 4096 -t rsa -C ''

سيرشدك العملية خلال بضع خطوات. معظم الإعدادات الافتراضية جيدة ، وكل شيء واضح إلى حد ما. إذا اخترت ربط كلمة مرور بمفتاحك ، فستحتاج إلى كلمة المرور هذه في كل مرة تسجل فيها الدخول أو تدفع التغيير. يمكنك ترك كلمة المرور فارغة لعدم استخدام واحدة.

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

$ cat ~ / .ssh / id_rsa.pub

مرة أخرى على Gitlab ، انقر على أيقونة الملف الشخصي في أعلى يمين الشاشة. ثم انقر فوق "الإعدادات" في القائمة الناتجة. في القائمة الموجودة على يسار الصفحة ، انقر فوق "مفاتيح SSH".

انسخ المفتاح من جهازك. ابدأ بعد "ssh-rsa" وتوقف قبل عنوان بريدك الإلكتروني. لذلك ، مجرد نسخ الجزء هراء. الصقه في المربع الكبير المسمى "مفتاح". اسم المفتاح الخاص بك ، وحفظه. من هذه النقطة فصاعدًا ، ستتمكن من دفع الشفرة إلى مستودعاتك دون تسجيل الدخول.

ل SSH العادية

لديك بالفعل مفتاح SSH. يمكنك كذلك استخدامه ل SSH. OpenSSH لديه أداة مدمجة لدفع المفتاح إلى الخادم الخاص بك.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP

استبدل server_username و SERVER_IP باسم المستخدم الخاص بك على الخادم وعنوان IP الخاص بالخادم.

حاول تسجيل الدخول مرة أخرى إلى الخادم الخاص بك باستخدام المفتاح الجديد.

$ ssh _IP

يجب عليك الاتصال على الفور دون الحاجة إلى إدخال كلمة مرور.

من الأفضل قفل بقية SSH أيضًا. من المحتمل أنها واحدة من أضعف النقاط في خادم يواجه الجمهور. افتح / etc / ssh / sshd_confg في محرر النصوص الذي تختاره على الخادم.

هناك بعض الأشياء التي تحتاج إلى تغيير. أولاً ، ابحث عن PermitRootLogin وقم بتعيينه على لا.

PermitRootLogin لا

بعد ذلك ، ابحث عن PasswordAuthentication ، وقم بإلغاء التثبيت ، وقم بتعيينه على لا.

PasswordAuthentication no

ثم ، تأكد من تعيين السطرين التاليين على لا. يجب أن تكون بشكل افتراضي على Ubuntu ، لكن من الأفضل التحقق.

PermitEmptyPasswords no HostbasedAuthentication no

أخيرًا ، ابحث عن UsePAM في أسفل التهيئة واضبطه على لا.

UsePAM لا

حفظ والخروج من التكوين الخاص بك. ثم ، أعد تشغيل خدمة SSH.

$ sudo systemctl إعادة تشغيل sshd

تكوين UFW

آخر تدبير أمني قد ترغب في اتخاذه هو تثبيت وإعداد جدار الحماية. يعمل Ubuntu بشكل جيد جدًا مع جدار الحماية غير المعقد المسمى (UFW). إنها مجرد غلاف حول جدار الحماية ktel الخاص بـ iptables ، ولكنها تجعل العمل مع جدار الحماية أسهل بكثير. المضي قدما وتثبيته.

$ sudo apt install ufw

بمجرد تثبيت ufw ، ابدأ بتعيين القواعد الافتراضية لرفض كل شيء.

$ sudo ufw افتراضي رفض الواردة $ sudo ufw افتراضي رفض المنتهية ولايته $ sudo ufw افتراضي رفض إعادة توجيه

قم بعد ذلك بإعداد قواعدك للسماح للخدمات الأساسية ، بما في ذلك Git. التعليقات موجودة فقط للعلم. لا تحاول تشغيلها.

# SSH $ sudo ufw تسمح بـ ssh $ sudo ufw تسمح بـ # ssh اسمح sudo ufw $ الصحيح بـ ntp $ sudo ufw يسمح بـ ntp # Port 53 لتحليل مجال DNS $ sudo ufw سماح بـ 53 $ sudo ufw سمح بـ 53 # ربما لن تحتاج إلى هذا # إذا كنت تستخدم خادم DHCP ، فقم بإلغاء قفل 67 $ sudo ufw allow in 67 $ sudo ufw allow out 67 # وأخيراً ، Git $ sudo ufw تسمح بـ 9418 $ sudo ufw allo out 9418

تأكد من أن كل شيء جيد ، وقم بتمكين جدار الحماية

تمكين sudo ufw $

يمكنك التحقق من حالة جدار الحماية الخاص بك من خلال ما يلي:

حالة sudo ufw $

هذا هو! خادم Gitlab الخاص بك وراء جدار الحماية.

ختام الأفكار

الآن ، لديك خادم Gitlab يعمل. يمكنك البدء في إعداد حسابات المستخدمين والمشاريع من خلال واجهة Gitlab. Gitlab هي الآن حزمة Ubuntu منتظمة ، لذلك سيتم تحديثها بانتظام مع apt بينما تقوم بتحديث نظامك.

ستوفر لك Gitlab كل المرونة التي ستحتاج إليها لإدارة المشاريع الخاصة بك والمشاريع الكبيرة التي قد تعمل معها مع فريق. إنها منصة قادرة وقوية بالكامل والتي بدأت الفرق أكثر وأكثر تعتمد عليها.

استضافة مشاريع البرامج الخاصة بك مع gitlab