نحوه نصب GitLab Community Edition (CE) 11.x در Debian 9

از آنجا که GitHub توسط مایکروسافت به دست آمد ، تعداد کمی از توسعه دهندگان برنامه ریزی کرده اند مخزن کد خود را از github.com به یک راه حل جایگزین خود میزبان منتقل کنند. GitLab Community Edition (CE) رایج ترین انتخاب است.

به عنوان یک راه حل پیشرفته و انعطاف پذیر ، GitLab CE می تواند با استفاده از روشهای مختلف مستقر شود ، اما فقط روش رسمی توصیه شده ، نصب بسته بندی Omnibus ، در اینجا پوشش داده خواهد شد.

پیش نیازها

  • نمونه سرور جدید Vultr Debian 9 x64 با حداقل 4 گیگابایت حافظه. 8 گیگابایت یا بیشتر برای ارائه به 100 کاربر توصیه می شود. بگویید آدرس IPv4 آن است 203.0.113.1.
  • کاربران از sudo .
  • دامنه gitlab.example.comای به عنوان مثال فوق الذکر شده است.

توجه: هنگام استقرار در نمونه سرور خود ، حتماً تمام مقادیر مثال را با نمونه های واقعی جایگزین کنید.

مرحله 1: انجام وظایف اساسی برای میزبانی GitLab CE

یک ترمینال SSH را آتش بزنید و به عنوان کاربر سودو به نمونه سرور Debian 9 x64 خود وارد شوید.

یک پارتیشن مبادله اضافه کنید و تنظیم swappiness را تنظیم کنید

هنگام استقرار 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

توجه: اگر از یک اندازه سرور متفاوت استفاده می کنید ، ممکن است اندازه پارتیشن swap متفاوت باشد.

برای اهداف عملکرد سیستم ، توصیه می شود تنظیمات swappiness هسته را با مقدار کم مانند 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 را نصب کنید و بعد از نصب GitLab CE از سرور SMTP خارجی استفاده کنید.

مرحله 3: repo 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>

مرحله چهارم: دسترسی به HTTPS را با ادغام گواهی نامه رمزگذاری SSL فعال کنید

در حال حاضر ، شما موفقیت آمیز GitLab CE 11.x را به عنوان نمونه سرور خود نصب کرده اید ، و کاربران می توانند از قبل با استفاده از پروتکل HTTP به سایت مراجعه کنند. برای اهداف امنیتی ، توصیه می شود با ادغام گواهی Letry Encrypt SSL ، دسترسی HTTPS به سرور GitLab خود را فعال کنید.

از 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

تنظیم مجدد ممکن است مدتی طول بکشد.

پس از انجام تنظیم مجدد ، کلیه کاربران هنگام دسترسی به سایت GitLab مجبور خواهند شد از پروتکل HTTPS استفاده کنند.

توجه: پس از جابجایی از HTTP به HTTPS ، کوکی های قدیمی می توانند خطای GitLab 422 ایجاد کنند. پاک کردن کوکی ها این مشکل را برطرف می کند.



Leave a Comment

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

با استفاده از نمایش های MySQL در Debian 7

با استفاده از نمایش های MySQL در Debian 7

مقدمه MySQL دارای یک ویژگی عالی است که به عنوان بازدید شناخته می شود. نمایش نمایش داده شد. برای یک سؤال طولانی مدت از آنها فکر کنید. در این راهنما ،

راه اندازی یک Chroot در دبیان

راه اندازی یک Chroot در دبیان

در این مقاله به شما می آموزد که چگونه زندان دزدگیر را در دبیان تنظیم کنید. تصور می کنم از Debian 7.x استفاده می کنید. اگر دبیان 6 یا 8 را اجرا کردید ، ممکن است این کار کند

نحوه نصب PiVPN در Debian

نحوه نصب PiVPN در Debian

مقدمه یک راه آسان برای راه اندازی سرور VPN در دبیان با PiVPN است. PiVPN نصب و بسته بندی OpenVPN است. این دستورات ساده را برای شما ایجاد می کند

Nginx ، Wordpress را نصب کنید و رمزگذاری را در چند دقیقه با EasyEngine روی Debian 8 یا Ubuntu 16.04 نصب کنید

Nginx ، Wordpress را نصب کنید و رمزگذاری را در چند دقیقه با EasyEngine روی Debian 8 یا Ubuntu 16.04 نصب کنید

EasyEngine (ee) ابزاری پایتون است که به شما امکان می دهد سایت های وردپرس خود را به راحتی و به صورت خودکار مدیریت کنید. با استفاده از EasyEngine ، شما مجبور به dea نیستید

نحوه ساخت Brotli از Source on Debian 9

نحوه ساخت Brotli از Source on Debian 9

با استفاده از یک سیستم متفاوت؟ Brotli یک روش فشرده سازی جدید با نسبت فشرده سازی بهتر از Gzip است. کد منبع آن در Github به صورت عمومی میزبانی می شود. تی

نحوه نصب BlogoText CMS بر روی Debian 9 LAMP VPS

نحوه نصب BlogoText CMS بر روی Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ BlogoText CMS یک سیستم مدیریت محتوا (CMS) ساده و سبک ، آزاد و متن باز است و موتور وبلاگ مینیمالیستی

نحوه نصب InvoicePlane در Debian 9

نحوه نصب InvoicePlane در Debian 9

با استفاده از یک سیستم متفاوت؟ InvoicePlane یک برنامه صورتحساب رایگان و متن باز است. کد منبع آن را می توانید در این مخزن Github پیدا کنید. این راهنما

نحوه نصب Backdrop CMS 1.8.0 در Debian 9 LAMP VPS

نحوه نصب Backdrop CMS 1.8.0 در Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ Backdrop CMS 1.8.0 یک سیستم مدیریت محتوا منبع باز و آزاد و متناسب با تلفن همراه ، رایگان و آزاد است که به ما اجازه می دهد

Plesk را روی Debian 7 (Wheezy) نصب کنید

Plesk را روی Debian 7 (Wheezy) نصب کنید

با استفاده از یک سیستم متفاوت؟ Plesk یک صفحه کنترل میزبان وب اختصاصی است که به کاربران امکان می دهد وب سایت ها ، بانک اطلاعاتی شخصی و / یا مشتری خود را مدیریت کنند.

نحوه نصب BookStack در Debian 9

نحوه نصب BookStack در Debian 9

با استفاده از یک سیستم متفاوت؟ BookStack یک سکوی ساده ، خود میزبان و با کاربرد آسان برای سازماندهی و ذخیره اطلاعات است. BookStack کاملاً رایگان و باز است

نحوه نصب Pagekit 1.0 CMS بر روی Debian 9 LAMP VPS

نحوه نصب Pagekit 1.0 CMS بر روی Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ Pagekit 1.0 CMS یک سیستم زیبا و مدولار زیبا ، مدولار ، قابل تمدید و سبک ، آزاد و منبع باز منبع آزاد (CMS) با

نصب اسفنج و Minecraft Forge در Debian 9

نصب اسفنج و Minecraft Forge در Debian 9

با استفاده از یک سیستم متفاوت؟ اسفنج یک پروژه منبع باز است که قابلیت های سرورهای Minecraft را از طریق افزونه ها گسترش می دهد. همراه با برنامه تعدیل شده

ابزارهای نظارت بهتر برای اوبونتو و CentOS

ابزارهای نظارت بهتر برای اوبونتو و CentOS

معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند

نحوه نصب CMS اکتبر 1.0 بر روی یک Debian 9 LAMP VPS

نحوه نصب CMS اکتبر 1.0 بر روی یک Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ اکتبر 1.0 CMS یک سیستم مدیریت محتوا (CMS) ساده و قابل اعتماد ، رایگان و منبع باز است که در چارچوب Laravel ساخته شده است

وضعیت سرور Debian را با Munin نظارت کنید

وضعیت سرور Debian را با Munin نظارت کنید

Munin ابزاری برای نظارت بر فرآیندها و منابع موجود در دستگاه شما است و اطلاعات را در نمودارها از طریق رابط وب ارائه می دهد. از پیگیری استفاده کنید

نحوه فعال سازی TLS 1.3 در Apache در Debian 10

نحوه فعال سازی TLS 1.3 در Apache در Debian 10

با استفاده از یک سیستم متفاوت؟ TLS 1.3 نسخه ای از پروتکل Transport Layer Security (TLS) است که در سال 2018 به عنوان یک استاندارد پیشنهادی در RFC 8446 منتشر شد

Nginx را با ماژول PageSpeed ​​در Debian 8 کامپایل و نصب کنید

Nginx را با ماژول PageSpeed ​​در Debian 8 کامپایل و نصب کنید

در این مقاله خواهیم دید که چگونه خط اصلی Nginx را از منابع رسمی Nginx با ماژول PageSpeed ​​کامپایل و نصب کنید ، که به شما امکان می دهد

نحوه نصب انجمن Flarum در Debian 10

نحوه نصب انجمن Flarum در Debian 10

با استفاده از یک سیستم متفاوت؟ Flarum یک نرم افزار انجمن نسل بعدی آزاد و منبع باز است که بحث آنلاین را سرگرم کننده می کند. ساده ، سریع و رایگان است

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد