تخطي إلى المحتوى الرئيسي

تثبيت GitLab على سيرفر Linux - استضف منصة DevOps الخاصة بك

المنتجات المثالية لهذا الدليل

ابدأ على الفور — اطلب المنتج المناسب واتبع هذا الدليل خطوة بخطوة.

مقدمة

GitLab هو منصة DevOps شاملة تتيح للفرق التعاون على الكود، وأتمتة سير العمل، وإدارة دورة حياة تطوير البرمجيات بالكامل بكفاءة. في هذا الدليل، سيتم شرح كيفية تثبيت GitLab على سيرفر Linux.

تثبيت GitLab باستخدام مثبت التطبيقات بنقرة واحدة

يمكنك تثبيت GitLab مباشرةً من خلال مثبت التطبيقات بنقرة واحدة في واجهة الويب الخاصة بـ VPS. بعد إكمال إعداد التطبيقات الأولي، افتح كتالوج التطبيقات، وابحث عن GitLab، وابدأ النشر مع إعدادات المشروع، والبيئة، والنطاق المفضلة لديك. هذه طريقة سريعة وسهلة لنشر وإدارة GitLab بدون إعداد يدوي عبر سطر الأوامر، مع الاستفادة من الإدارة المدمجة عبر الويب، ودعم النطاقات المخصصة، وتوفير شهادات SSL حيثما كانت متاحة.

التحضير

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

الأجهزة

المكوناتالحد الأدنىالموصى به
CPU2x 2 GHz4x 2.6+ GHz
RAM4 جيجابايت8 جيجابايت
التخزين10 جيجابايت50+ جيجابايت
عرض النطاق100 ميجابت/ث (صعود وهبوط)100 ميجابت/ث (صعود وهبوط)

البرمجيات

النظام الأساسيالخيارات
نظام التشغيلUbuntu (20.04, 22.04, 24.04)، Debian (10, 11, 12)، OpenSUSE (15.5)
قاعدة البياناتPostgreSQL 14.9+
خادم الويبNGINX (مرفق مع GitLab)، Puma 6.4.2+
أخرىRedis 7.x+، Sidekiq 7.3.2+، Prometheus 2.54.1+
معلومات

للحصول على أدق وأحدث المواصفات، يرجى الرجوع إلى وثائق متطلبات الأجهزة الرسمية لـ GitLab.

يجب إنشاء اتصال عبر عميل SSH لتثبيت GitLab على سيرفر Linux الخاص بك. يرجى مراجعة دليلنا الوصول الأولي (SSH) لمعرفة المزيد.

بمجرد إنشاء الاتصال، يمكنك البدء بتثبيت الحزم اللازمة لتثبيت GitLab.

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

أولاً، عليك تثبيت بعض التبعيات لتشغيل مثبت GitLab. استخدم الأوامر التالية لتثبيت التبعيات المطلوبة على سيرفر Linux الخاص بك.

قم بتحديث قائمة الحزم إلى أحدث إصدار وثبت حزمة OpenSSH Server مع المتطلبات اللازمة باستخدام الأمر التالي. هذه هي الطريقة التي سيتم بها استضافة لوحة التحكم الخاصة بـ GitLab.

sudo apt update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl

يمكنك أيضًا تثبيت Postfix (خادم SMTP) إذا كنت ترغب في إرسال إشعارات بريد إلكتروني عند استخدام GitLab. هذا اختياري.

إذا أردت استخدام إشعارات البريد الإلكتروني، قم بتثبيت Postfix عبر الأمر التالي:

sudo apt-get install -y postfix
معلومات

أثناء تثبيت Postfix، قد تظهر نافذة إعداد. في هذه الحالة، اختر 'Internet Site' واضغط Enter. استخدم DNS الخارجي لسيرفر Linux الخاص بك كـ 'mail name' واضغط Enter. إذا ظهرت شاشات إضافية، استمر بالضغط على Enter لقبول الإعدادات الافتراضية.

إذا كنت تفضل استخدام حل آخر لإرسال البريد الإلكتروني، تخطى هذه الخطوة وقم بإعداد خادم SMTP خارجي بعد تثبيت GitLab على سيرفر Linux الخاص بك باتباع دليل رسمي من فريق GitLab.

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

بعد تنزيل وتثبيت جميع التبعيات المطلوبة، أنت الآن جاهز لتثبيت GitLab.

في هذا الدليل، سنثبت GitLab مباشرة من مستودعات الحزم الرسمية.

السكريبت التالي سيضيف مستودعات GitLab إلى مدير الحزم apt:

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

بعد الانتهاء، يمكن تثبيت حزمة gitlab-ee:

sudo apt-get install -y gitlab-ee

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

الخطوة 3: تكوين GitLab

للتأكد من أن كل شيء يعمل بشكل صحيح، يجب عليك إجراء بعض التعديلات على ملف التكوين. ابدأ بفتح ملف تكوين GitLab باستخدام محرر النصوص المفضل لديك. كمثال، سنستخدم المحرر المدمج nano.

sudo nano /etc/gitlab/gitlab.rb

بعدها، ابحث عن السطر external_url وأدخل نطاقك أو عنوان IP الخاص بسيرفر Linux إذا لم يكن لديك نطاق لاستخدامه مع GitLab.

## GitLab URL
##! URL الذي سيكون GitLab متاحًا عليه.
##! لمزيد من التفاصيل حول تكوين external_url راجع:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
##!
##! ملاحظة: أثناء التثبيت/التحديث، سيتم استخدام قيمة متغير البيئة
##! EXTERNAL_URL لملء/استبدال هذه القيمة.
##! على مثيلات AWS EC2، نحاول أيضًا جلب اسم المضيف/عنوان IP العام
##! من AWS. لمزيد من التفاصيل، راجع:
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
external_url 'http`s`://`نطاقك / عنوان IPv4 لسيرفر Linux الخاص بك`'

ننصح أيضًا بإدخال بريدك الإلكتروني في السطر letsencrypt['contact_emails']. هذا سيمكن Let's Encrypt من إرسال إشعارات والتواصل معك بخصوص شهادات SSL المجانية والتلقائية.

ملاحظة

يجب استخدام نطاق إذا كنت ترغب في الحصول على شهادة SSL مجانية من Let's Encrypt. لا يمكنك طلب شهادة مباشرة على عنوان IP.

################################################################################
# تكامل Let's Encrypt
################################################################################
# letsencrypt['enable'] = nil
# letsencrypt['contact_emails'] = [`بريدك الإلكتروني هنا`] # يجب أن تكون مصفوفة من عناوين البريد الإلكتروني لإضافتها كجهات اتصال
# letsencrypt['group'] = 'root'
# letsencrypt['key_size'] = 2048
# letsencrypt['owner'] = 'root'
# letsencrypt['wwwroot'] = '/var/opt/gitlab/nginx/www'
# راجع https://docs.gitlab.com/omnibus/settings/ssl/index.html#renew-the-certificates-automatically لمزيد من المعلومات حول هذه الإعدادات
# letsencrypt['auto_renew'] = true
# letsencrypt['auto_renew_hour'] = 0
# letsencrypt['auto_renew_minute'] = nil # يجب أن يكون رقمًا أو تعبير كرون، إذا تم تحديده.
# letsencrypt['auto_renew_day_of_month'] = "*/4"
# letsencrypt['auto_renew_log_directory'] = '/var/log/gitlab/lets-encrypt'
# letsencrypt['alt_names'] = []
نصيحة

يمكنك استخدام CTRL+W للبحث عن letsencrypt['contact_emails'] والضغط Enter لتسهيل العثور على السطر دون البحث يدويًا في الملف بأكمله.

عند الانتهاء، اضغط CTRL+X ثم Y ثم Enter لتأكيد التغييرات.

أخيرًا، شغّل الأمر التالي لإعادة تكوين GitLab باستخدام الإعدادات الجديدة.

sudo gitlab-ctl reconfigure

قد تستغرق هذه العملية بعض الوقت لأنها ستقوم بتهيئة GitLab باستخدام معلومات التكوين المحدثة، مع عمليات تلقائية. كما سيتم إصدار شهادات SSL إذا تم استخدام نطاق.

الخطوة 4: الوصول إلى واجهة الويب

بعد التهيئة، يجب أن يكون السيرفر متاحًا الآن عبر متصفح الويب. انتقل إلى موقعك بإدخال اسم النطاق أو عنوان IP كما يلي:

https://[نطاقك] OR http://[عنوان IP الخاص بك]

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

للحصول على صلاحيات المدير في أول تسجيل دخول، قم بتسجيل الدخول كمستخدم root باستخدام اسم المستخدم root.

بالنسبة لكلمة المرور، يجب عليك الوصول إلى ملف على سيرفر Linux حيث يتم تخزينها. افتح الملف باستخدام الأمر التالي وابحث عن حقل Password.

sudo nano /etc/gitlab/initial_root_password
# تحذير: هذه القيمة صالحة فقط في الحالات التالية

# 1. إذا تم توفيرها يدويًا (إما عبر متغير البيئة `GITLAB_ROOT_PASSWORD` أو عبر إعداد `gitlab_rails['initial_root_password']` في `gitlab.rb`، وتم توفيرها قبل تهيئة قاعدة البيانات لأول مرة)

# 2. لم يتم تغيير كلمة المرور يدويًا، سواء عبر واجهة المستخدم أو عبر سطر الأوامر.

#

# إذا لم تعمل كلمة المرور المعروضة هنا، يجب إعادة تعيين كلمة مرور المدير باتباع https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: `[كلمة المرور الخاصة بك هنا]`

# ملاحظة: سيتم حذف هذا الملف تلقائيًا في أول تشغيل لإعادة التهيئة بعد 24 ساعة.

أدخل اسم المستخدم وكلمة المرور في صفحة تسجيل الدخول للدخول إلى لوحة معلومات GitLab لأول مرة. يجب أن تكون قادرًا الآن على الوصول إلى لوحة GitLab على سيرفر Linux الخاص بك.

ننصح بشدة بإنشاء مستخدم جديد و/أو تغيير كلمة مرور مستخدم root. يمكن فعل ذلك من خلال الدخول إلى Admin في الزاوية السفلية اليسرى واختيار Overview->Users. في هذه الصفحة، يمكنك إدارة المستخدمين لحالة GitLab الخاصة بك.

اختياري: إعداد جدار ناري باستخدام ufw

يمكنك تخطي هذا إذا لم ترغب في إعداد جدار ناري أو إذا كنت تستخدم مثلاً firewalld على OpenSUSE. تأكد من السماح بالوصول إلى المنافذ 80/443 و 22.

تثبيت ufw

إذا كنت قد ثبتت ufw مسبقًا، يمكنك تخطي هذه الخطوة بأمان.

sudo apt-get install -y ufw

فتح المنافذ المطلوبة

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

تفعيل الجدار الناري

تحذير

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

لتفعيل الجدار الناري، استخدم الأمر التالي:

sudo ufw enable

الخاتمة

تهانينا، لقد قمت بتثبيت GitLab بنجاح! إذا كانت لديك أي أسئلة أو مشاكل أخرى، يرجى التواصل مع فريق الدعم الخاص بنا، المتوفر لمساعدتك يوميًا!

إذا كنت ترغب في إجراء إعدادات إضافية، نوصي بقراءة الوثائق الرسمية لـ GitLab للخطوات التالية.