كيفية تثبيت 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

كيفية تثبيت منصة عربة التسوق LiteCart على أوبونتو 16.04

كيفية تثبيت منصة عربة التسوق LiteCart على أوبونتو 16.04

LiteCart عبارة عن منصة سلة تسوق مجانية ومفتوحة المصدر مكتوبة بلغة PHP و jQuery و HTML 5. وهي عبارة عن برنامج بسيط وخفيف الوزن وسهل الاستخدام للتجارة الإلكترونية

قم بإعداد NFS Share على دبيان

قم بإعداد NFS Share على دبيان

NFS هو نظام ملفات قائم على الشبكة يسمح لأجهزة الكمبيوتر بالوصول إلى الملفات عبر شبكة الكمبيوتر. يوضح هذا الدليل كيف يمكنك فضح المجلدات عبر NF

كيفية تثبيت Matomo Analytics على Fedora 28

كيفية تثبيت Matomo Analytics على Fedora 28

استخدام نظام مختلف؟ Matomo (Piwik سابقًا) هو نظام أساسي مفتوح المصدر للتحليلات ، وهو بديل مفتوح لبرنامج Google Analytics. مصدر Matomo مستضاف

قم بإعداد خادم TeamTalk على Linux

قم بإعداد خادم TeamTalk على Linux

TeamTalk هو نظام مؤتمرات يتيح للمستخدمين إجراء محادثات صوتية / مرئية عالية الجودة ، والدردشة النصية ، ونقل الملفات ، ومشاركة الشاشات. أنا

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا

كيفية تثبيت وتكوين روبي مع Rbenv و Rails و MariaDB و Nginx و SSL و Passenger على Ubuntu 17.04

كيفية تثبيت وتكوين روبي مع Rbenv و Rails و MariaDB و Nginx و SSL و Passenger على Ubuntu 17.04

Ruby on Rails هو إطار عمل شهير لـ Ruby تم تطويره لزيادة إنتاجية المبرمجين. ومع ذلك ، الحصول على الجواهر والتبعيات المختلفة ر

كيفية الوصول إلى Vultr VPS الخاص بك

كيفية الوصول إلى Vultr VPS الخاص بك

يوفر Vultr عدة طرق مختلفة للوصول إلى VPS لتكوين وتثبيت واستخدام. بيانات اعتماد الوصول بيانات اعتماد الوصول الافتراضية لـ VPS الخاص بك

كيفية بناء Brotli من المصدر على Ubuntu 18.04 LTS

كيفية بناء Brotli من المصدر على Ubuntu 18.04 LTS

استخدام نظام مختلف؟ Brotli هو طريقة ضغط جديدة مع نسبة ضغط أفضل من GZIP. تتم استضافة رمز المصدر الخاص به علنًا على Githu هذا

كيفية تثبيت OpenNMS على Ubuntu 16.04 LTS

كيفية تثبيت OpenNMS على Ubuntu 16.04 LTS

استخدام نظام مختلف؟ OpenNMS عبارة عن منصة إدارة شبكة مفتوحة المصدر على مستوى المؤسسات يمكن استخدامها لمراقبة وإدارة العديد من الأجهزة

نشر WebDAV على دبيان 10 باستخدام WsgiDAV

نشر WebDAV على دبيان 10 باستخدام WsgiDAV

مقدمة: التأليف والإصدار الموزع على الويب (WebDAV) هو امتداد HTTP يوفر إطار عمل لإنشاء الملفات وتعديلها عن بُعد على

استخدام طرق عرض MySQL على دبيان 7

استخدام طرق عرض MySQL على دبيان 7

مقدمة يتميز MySQL بميزة رائعة تعرف باسم طرق العرض. المشاهدات هي استعلامات مخزنة. اعتبرها اسمًا مستعارًا لاستعلام طويل. في هذا الدليل ،

كيفية تثبيت Omeka Classic 2.4 CMS على Fedora 26 LAMP VPS

كيفية تثبيت Omeka Classic 2.4 CMS على Fedora 26 LAMP VPS

استخدام نظام مختلف؟ Omeka Classic 2.4 CMS هو نظام نشر رقمي مجاني ومفتوح المصدر ونظام إدارة المحتوى (CMS) لمشاركة الصور الرقمية

كيفية تثبيت DokuWiki على Ubuntu 16.04 LTS

كيفية تثبيت DokuWiki على Ubuntu 16.04 LTS

استخدام نظام مختلف؟ DokuWiki هو برنامج ويكي مفتوح المصدر مكتوب بلغة PHP ولا يتطلب قاعدة بيانات. يقوم بتخزين البيانات في ملفات نصية. DokuWik

إنشاء Chroot على دبيان

إنشاء Chroot على دبيان

ستعلمك هذه المقالة كيفية إعداد سجن سريع على دبيان. أفترض أنك تستخدم Debian 7.x. إذا كنت تقوم بتشغيل دبيان 6 أو 8 ، فقد يعمل هذا ، ولكن

كيفية تثبيت PiVPN على دبيان

كيفية تثبيت PiVPN على دبيان

مقدمة طريقة سهلة لإعداد خادم VPN على دبيان هي PiVPN. PiVPN هو أداة تثبيت وغلاف لـ OpenVPN. يخلق أوامر بسيطة لك

كيفية تثبيت CyberPanel وتكوينه على Ubuntu 18.04 LTS

كيفية تثبيت CyberPanel وتكوينه على Ubuntu 18.04 LTS

استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا

كيفية نشر Ghost v0.11 LTS على Fedora 25

كيفية نشر Ghost v0.11 LTS على Fedora 25

استخدام نظام مختلف؟ Ghost هي منصة تدوين مفتوحة المصدر اكتسبت شعبية بين المطورين والمستخدمين العاديين منذ عام 201

قم بتثبيت RockMongo على CentOS 7

قم بتثبيت RockMongo على CentOS 7

RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت

كيفية نشر Lets Chat Server على CentOS 7

كيفية نشر Lets Chat Server على CentOS 7

Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة

نظرة ثاقبة على 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. قراءة هذه المادة لمعرفة المزيد