كيفية تثبيت GitLab Community Edition (CE) 11.x على دبيان 9

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

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

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

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

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

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

قم بتشغيل محطة SSH ، وقم بتسجيل الدخول إلى مثيل خادم Debian 9 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

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

قم بإعداد قواعد جدار الحماية المعقولة لتشغيل موقع ويب:

sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -A INPUT -s $(echo $(w -h ${USER}) | cut -d " " -f3) -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -d 127.0.0.0/8 -j REJECT
sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP

ستسري جميع الإعدادات المذكورة أعلاه على الفور. استخدم الأمر التالي لسردها للمراجعة:

sudo iptables -L -n

استخدم iptable-persistentالأداة لحفظ جميع قواعد iptables الموجودة في ملف /etc/iptables/rules.v4، مما يجعل جميع قواعد iptables ثابتة:

sudo apt install -y iptables-persistent

أثناء التثبيت ، سيتم سؤالك عما إذا كنت تريد حفظ قواعد IPv4 / IPv6 الحالية. اضغط ENTERمرتين لحفظ كل من قواعد IPv4 و IPv6 الحالية إلى /etc/iptables/rules.v4و /etc/iptables/rules.v6.

إذا حاولت تحديث قواعد IPv4 لاحقًا ، فاستخدم ما يلي لحفظ التحديث الخاص بك:

sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

تحديث النظام

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

عندما يتم تشغيل النظام مرة أخرى ، قم بتسجيل الدخول كمستخدم 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 iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

بعد تثبيت 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

كيفية تثبيت Neos CMS على دبيان 9

كيفية تثبيت Neos CMS على دبيان 9

استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت

قم بإعداد Cacti على Debian Jessie

قم بإعداد Cacti على Debian Jessie

مقدمة Cacti هي أدوات مراقبة ورسوم بيانية مفتوحة المصدر تعتمد بالكامل على بيانات RRD. من خلال Cacti ، يمكنك مراقبة أي نوع من أنواع الأجهزة تقريبًا

كيفية تثبيت 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. جعلت البساطة وتعدد الاستخدامات ب

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

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

استخدام نظام مختلف؟ InvoicePlane هو تطبيق فواتير مجاني ومفتوح المصدر. يمكن العثور على رمز المصدر الخاص به في مستودع Github هذا. هذا الدليل

كيفية تثبيت Reader Self 3.5 RSS Reader على Debian 9 LAMP VPS

كيفية تثبيت Reader Self 3.5 RSS Reader على Debian 9 LAMP VPS

استخدام نظام مختلف؟ Reader Self 3.5 هو قارئ RSS بسيط ومرن ومفتوح ومفتوح المصدر ومستضاف ذاتيًا وبديل Google Reader. القارئ سيل

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

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

استخدام نظام مختلف؟ BookStack عبارة عن نظام أساسي بسيط وسهل الاستخدام لتنظيم المعلومات وتخزينها. BookStack مجاني تمامًا ومفتوح

كيفية تثبيت FFmpeg على دبيان 8 أو دبيان 9

كيفية تثبيت FFmpeg على دبيان 8 أو دبيان 9

مقدمة FFmpeg هي أداة سطر أوامر مفتوحة المصدر لتشفير / فك تشفير الفيديو والصوت. ميزاته الرئيسية هي سرعة عالية وجودة وفيل صغير

كيفية تثبيت TermRecord على Ubuntu 16.04 و Debian 9

كيفية تثبيت TermRecord على Ubuntu 16.04 و Debian 9

استخدام نظام مختلف؟ TermRecord هو أداة بسيطة مفتوحة المصدر مكتوبة بلغة Python ، تسمح بحفظ الجلسات النهائية إلى مشاركة ذاتية سهلة المشاركة

كيفية تثبيت Matomo Analytics على Debian 9

كيفية تثبيت Matomo Analytics على Debian 9

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

اختيار نظام التشغيل: CentOS أو Ubuntu أو Debian أو FreeBSD أو CoreOS أو Windows Server

اختيار نظام التشغيل: CentOS أو Ubuntu أو Debian أو FreeBSD أو CoreOS أو Windows Server

تقدم هذه المقالة ملخصًا موجزًا ​​لأنظمة تشغيل الخادم المقدمة كنماذج على Vultr. CentOS CentOS هو إصدار مفتوح المصدر من RHEL (Re

كيفية تثبيت X-Cart 5 على دبيان 10

كيفية تثبيت X-Cart 5 على دبيان 10

استخدام نظام مختلف؟ X-Cart هي منصة تجارة إلكترونية مفتوحة المصدر مرنة للغاية مع الكثير من الميزات والتكاملات. كود مصدر X-Cart مضيف

راقب حالة خادم Debian مع Munin

راقب حالة خادم Debian مع Munin

Munin عبارة عن أداة مراقبة لمسح العمليات والموارد في جهازك وتقديم المعلومات في الرسوم البيانية من خلال واجهة الويب. استخدم ما يلي

كيفية تثبيت Tiny Tiny RSS Reader على Debian 9 LAMP VPS

كيفية تثبيت Tiny Tiny RSS Reader على Debian 9 LAMP VPS

استخدام نظام مختلف؟ Tiny Tiny RSS Reader هو قارئ ومجمّع أخبار مستوحى ذاتيًا ومفتوح المصدر ومستضاف على الويب (RSS / Atom) ، مصمم خصيصًا

إضافة نطاق عناوين IP إلى خادمك (CentOS / Ubuntu / Debian)

إضافة نطاق عناوين IP إلى خادمك (CentOS / Ubuntu / Debian)

مقدمة في هذا البرنامج التعليمي ، سنغطي عملية إضافة نطاق IP / شبكة فرعية كاملة إلى خادم Linux يعمل بنظام CentOS أو Debian أو Ubuntu. الموكيز

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