كيفية تثبيت GitLab Community Edition (CE) 11.x على Ubuntu 18.04 LTS

منذ استحواذ Microsoft على GitHub ، خطط عدد قليل جدًا من المطورين لترحيل مستودعات الرموز الخاصة بهم من github.com إلى حل بديل مستضاف ذاتيًا. يعد إصدار GitLab Community Edition (CE) الخيار الأكثر شيوعًا.

كحل متطور ومرن ، يمكن نشر GitLab CE باستخدام طرق مختلفة ، ولكن الطريقة الوحيدة الموصى بها رسميًا ، تثبيت حزمة Omnibus ، سيتم تغطيتها هنا.

المتطلبات الأساسية

  • نسخة جديدة من خادم Vultr Ubuntu 18.04 LTS x64 مع ذاكرة 4 جيجا بايت على الأقل. يوصى بسعة 8 جيجابايت أو أكثر لخدمة ما يصل إلى 100 مستخدم. لنفترض أن عنوان IPv4 الخاص به هو 203.0.113.1.
  • A المستخدم سودو .
  • المجال gitlab.example.comالذي يشير إلى المثيل المذكور أعلاه.

ملاحظة: عند النشر على مثيل الخادم الخاص بك ، تأكد من استبدال جميع قيم الأمثلة بقيم فعلية.

الخطوة 1: تنفيذ المهام الأساسية لاستضافة GitLab CE

قم بتشغيل محطة SSH ، وقم بتسجيل الدخول إلى مثيل خادم Ubuntu 18.04 LTS x64 كمستخدم sudo.

أضف قسم تبديل وقم بتعديل إعداد المبادلة

عند نشر GitLab CE 11.x على جهاز بذاكرة 4 جيجا بايت ، يلزم إعداد قسم للتبديل بسعة 4 جيجا بايت لتشغيل سلس:

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

ملاحظة: إذا كنت تستخدم حجم خادم مختلفًا ، فقد يختلف حجم قسم المبادلة.

لأغراض أداء النظام ، يوصى بتهيئة إعداد مبادلة kernel على قيمة منخفضة مثل 10:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

سيتم إخراج catالأمر 10.

قم بإعداد اسم مضيف الجهاز واسم المجال المؤهل بالكامل (FQDN)

استخدم الأوامر التالية لإعداد اسم مضيف gitlabو FQDN gitlab.example.comللجهاز:

sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts

يمكنك تأكيد النتائج:

hostname
hostname -f

تعديل قواعد جدار الحماية

السماح بحركة مرور SSH و HTTP و HTTPS الواردة

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

تحديث النظام

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

أثناء الترقية ، قد يتم إعلامك بأنه تم تعديل الإصدار المثبت حاليًا من ملف تكوين grub محليًا. نظرًا لأننا في الواقع لسنا مسؤولين عن التعديل ، استخدم UPالسهم لتمييز install the package maintainer's versionالخيار ، ثم اضغط ENTER.

عندما يتم تشغيل النظام مرة أخرى ، قم بتسجيل الدخول كمستخدم sudo نفسه للمتابعة.

الخطوة 2: تثبيت التبعيات المطلوبة

قبل تثبيت GitLab CE ، تحتاج إلى تثبيت التبعيات المطلوبة:

sudo apt install -y curl openssh-server ca-certificates

أيضًا ، إذا كنت تريد استخدام Postfix لإرسال رسائل إعلام ، فأنت بحاجة إلى تثبيت Postfix:

sudo apt install -y postfix

أثناء التثبيت ، قد تظهر شاشة التكوين:

  1. اضغط TABلتمييز <OK>الزر على الشاشة الأولى ، ثم اضغط ENTER.
  2. حدد Internet Siteواضغط ENTER.
  3. mail nameللحقل ، أدخل FQDN لخادمك gitlab.example.comواضغط ENTER.
  4. إذا ظهرت شاشات أخرى ، فاضغط ENTERلقبول الإعدادات الافتراضية.

ابدأ وتمكين خدمة Postfix:

sudo systemctl enable postfix.service
sudo systemctl start postfix.service

تعديل قواعد جدار الحماية لـ Postfix:

sudo ufw allow Postfix
sudo ufw allow 'Postfix SMTPS'
sudo ufw allow 'Postfix Submission'

بعد تثبيت Postfix ، تحتاج إلى تهيئة Postfix عن طريق تحرير ملف التكوين الرئيسي /etc/postfix/main.cfوفقًا لإعدادات الخادم الفعلية.

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

بدلاً من ذلك ، إذا كنت ترغب في استخدام حل مراسلة آخر ، فما عليك سوى تخطي تثبيت Postfix واختيار استخدام خادم SMTP خارجي بعد تثبيت GitLab CE.

الخطوة 3: إعداد الريبو GitLab APT ثم تثبيت GitLab CE

قم بإعداد مستودع GitLab CE APT على نظامك:

cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

بعد ذلك ، قم بتثبيت GitLab CE 11.x:

sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce

قد يستغرق التثبيت بعض الوقت.

أخيرًا ، قم بتوجيه متصفح الويب المفضل لديك إلى http://gitlab.example.com، ثم قم بتقديم كلمة مرور جديدة عند مطالبتك بإنهاء التثبيت.

من الآن فصاعدًا ، استخدم بيانات الاعتماد التالية لتسجيل الدخول كمسؤول:

  • اسم المستخدم: root
  • كلمه السر: <your-new-password>

الخطوة 4: تمكين وصول HTTPS من خلال دمج شهادة Let's Encrypt SSL

في الوقت الحالي ، نجحت في تثبيت GitLab CE 11.x على مثيل الخادم ، ويمكن للمستخدمين زيارة الموقع بالفعل باستخدام بروتوكول HTTP. لأغراض أمنية ، يوصى بتمكين وصول HTTPS إلى خادم GitLab من خلال دمج شهادة Let's Encrypt SSL.

استخدم viالمحرر لفتح ملف تكوين GitLab CE:

sudo vi /etc/gitlab/gitlab.rb

ابحث عن السطرين التاليين:

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

استبدلها وفقًا لذلك:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']

احفظ واخرج:

:wq!

أعد تكوين GitLab CE باستخدام الإعدادات المحدثة:

sudo gitlab-ctl reconfigure

قد تستغرق إعادة التكوين بعض الوقت.

بعد الانتهاء من إعادة التهيئة ، سيضطر جميع المستخدمين إلى استخدام بروتوكول HTTPS عند الوصول إلى موقع GitLab.

ملاحظة: بعد التبديل من HTTP إلى HTTPS ، قد تتسبب ملفات تعريف الارتباط القديمة في خطأ GitLab 422. يؤدي مسح ملفات تعريف الارتباط إلى إصلاح هذه المشكلة.



Leave a Comment

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

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

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

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

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد