كيفية تثبيت GitLab Community Edition (CE) 11.x على CentOS 7

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

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

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

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

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

قم بتشغيل محطة SSH ، وقم بتسجيل الدخول إلى مثيل خادم CentOS 7 كمستخدم 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
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gitlab.example.com gitlab
EOF

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

hostname
hostname -f

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

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

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

قم بتثبيت ال EPEL YUM الريبو ثم قم بتحديث النظام

sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now

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

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

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

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients

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

sudo yum install -y postfix
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-service=pop3
sudo firewall-cmd --permanent --add-service=imap
sudo firewall-cmd --permanent --add-service=smtps
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --reload

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

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

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

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

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

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

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

sudo EXTERNAL_URL="http://gitlab.example.com" yum 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

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

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

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

كيفية تثبيت CMS أكتوبر على CentOS 7

كيفية تثبيت CMS أكتوبر على CentOS 7

أكتوبر هو نظام إدارة محتوى مفتوح المصدر يعتمد على Laravel PHP Framework. مع واجهة أنيقة وبنية وحدات موجزة

قم بتثبيت 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 زيادة

كيفية تثبيت المجدول المحجوز على CentOS 7

كيفية تثبيت المجدول المحجوز على CentOS 7

استخدام نظام مختلف؟ المتطلبات الأساسية مثيل خادم Vultr CentOS 7. مستخدم sudo. الخطوة 1: تحديث النظام أولاً ، قم بتحديث خادم النظام الخاص بك إلى th

تثبيت Netdata على CentOS 7

تثبيت Netdata على CentOS 7

استخدام نظام مختلف؟ Netdata هي نجمة صاعدة في مجال مراقبة مقاييس النظام في الوقت الفعلي. مقارنة بالأدوات الأخرى من نفس النوع ، Netdata:

كيفية تثبيت DreamFactory Open Source على CentOS 7

كيفية تثبيت DreamFactory Open Source على CentOS 7

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

كيفية تثبيت خادم Starbound على CentOS 7

كيفية تثبيت خادم Starbound على CentOS 7

استخدام نظام مختلف؟ في هذا البرنامج التعليمي ، سأشرح لك كيفية إعداد خادم Starbound على CentOS 7. المتطلبات الأساسية يجب أن تمتلك هذه اللعبة عليك

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب

كيفية تثبيت Django على CentOS 7

كيفية تثبيت Django على CentOS 7

Django هو إطار Python شائع لكتابة تطبيقات الويب. مع Django ، يمكنك بناء التطبيقات بشكل أسرع ، دون إعادة اختراع العجلة. إذا كنت تريد

قم بإعداد خادم SA-MP San Andreas متعدد اللاعبين على CentOS 6

قم بإعداد خادم SA-MP San Andreas متعدد اللاعبين على CentOS 6

مرحبًا بك في برنامج تعليمي Vultr آخر. هنا ، ستتعلم كيفية تثبيت خادم SAMP وتشغيله. تمت كتابة هذا الدليل الخاص بـ CentOS 6. المتطلبات الأساسية التي ستحتاج إليها

تثبيت Revive Adserver على CentOS 7

تثبيت Revive Adserver على CentOS 7

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

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

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

استخدام نظام مختلف؟ Elgg هو محرك تواصل اجتماعي مفتوح المصدر يسمح بإنشاء بيئات اجتماعية مثل الشبكات الاجتماعية في الحرم الجامعي

قم ببناء شبكتك الاجتماعية مع الشتات على CentOS 7

قم ببناء شبكتك الاجتماعية مع الشتات على CentOS 7

استخدام نظام مختلف؟ الشتات هو شبكة اجتماعية مفتوحة المصدر تدرك الخصوصية. في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد وتكوين po Diaspora po

نشر Kubernetes مع Kubeadm على CentOS 7

نشر Kubernetes مع Kubeadm على CentOS 7

نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في

قم بإعداد Sails.js للتطوير على CentOS 7

قم بإعداد Sails.js للتطوير على CentOS 7

استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver

كيفية تجميع Nginx من المصدر على CentOS 7

كيفية تجميع Nginx من المصدر على CentOS 7

استخدام نظام مختلف؟ يمكن استخدام NGINX كخادم HTTP / HTTPS أو خادم وكيل عكسي أو خادم وكيل بريد أو موازن تحميل أو فاصل TLS أو ذاكرة تخزين مؤقت

كيفية تثبيت dotCMS على CentOS 7

كيفية تثبيت dotCMS على CentOS 7

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

كيفية تثبيت PufferPanel (لوحة تحكم Minecraft المجانية) على CentOS 7

كيفية تثبيت PufferPanel (لوحة تحكم Minecraft المجانية) على CentOS 7

مقدمة في هذا البرنامج التعليمي ، سيتم تثبيت PufferPanel على Vultr VPS. PufferPanel هي لوحة تحكم مفتوحة المصدر مجانية للاستخدام لإدارتك

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