گیتلب (Gitlab) یک ابزار مدیریت سورس‌ کد است و بهترین جایگزین برای Github محسوب می‌شود. شما به راحتی می‌توانید سرور گیتلب را نصب کرده و از تمام مزایا و ویژگی‌های فوق‌العاده آن استفاده کنید. در این مطلب قصد داریم نحوه نصب و تنظیم گیتلب (نسخه کامیونیتی) را در سیستم‌های لینوکس CentOS 8 به شما آموزش دهیم.

گام ۱) بررسی پیش‌نیازها

  • سیستمی که به‌تازگی CentOS 8 بر روی آن نصب شده باشد.
  • تنظیمات اولیه سرور به صورت کامل
  • تنظیم نام دامین/ ساب‌دامین برای گیتلب همراه با اتصال DNS به سرور.

گام ۲) نصب گیتلب در CentOS 8

اول از همه باید منبع گیتلب را در سیستم CentOS فعال کنید. تیم پشتیبانی گیتلب یک اسکریپت shell به منظور تنظیم منبع yum برای کاربران لینوکس ارائه کرده است. برای این منظور می‌توانید فرمان زیر را اجرا کنید.


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

حالا باید از فرمان زیر برای نصب نسخه کامیونیتی از گیتلب استفاده کنید.


sudo dnf install gitlab-ce

فرمان بالا تمام اپلیکیشن‌های موردنیاز و از جمله وب‌سرور Nginx را برای شما نصب می‌کند. تمام این ابزارها برای اجرای گیتلب در سیستم‌تان موردنیاز خواهند بود.

گام ۳) فعالسازی ابزار Let’s Encrypt SSL

گیتلب دارای یک ویژگی داخلی برای تنظیم رمزنگاری گواهی SSL در سرور گیتلب است. تنها کاری که باید انجام دهید این است که این ویژگی را درون فایل تنظیمات فعال کنید.

بنابراین مطابق زیر فایل تنظیمات را ویرایش کنید.


vim /etc/gitlab/gitlab.rb

اکنون آدرس عمومی اینترنتی را برای سرور گیتلب تنظیم نمایید.


external_url 'https://gitlab.ariaservice.net'

همچنین می‌توانید ابزار let’s encrypt ssl را برای گیتلب فعال کنید. برنامه نصب‌کننده به صورت اتوماتیک Lets encrypt ssl را تولید کرده و بر روی گیتلب تنظیم می‌کند.


letsencrypt['enable'] = true

letsencrypt['contact_emails'] = ['info@ariaservice.net’]

همچنین می‌توانید تنظیمات را به‌ گونه‌ای انجام دهید که گواهی SSL به صورت خودکار تجدید شود.


letsencrypt['auto_renew'] = true

letsencrypt['auto_renew_hour'] = 12

letsencrypt['auto_renew_minute'] = 30

letsencrypt['auto_renew_day_of_month'] = "*/7"

قبل از اینکه Let’s encrypt را فعال کنید، باید یک دامین / ساب‌دامین را به IP سرورتان متصل نمایید. چنین چیزی به منظور تأیید کلی دامین برای SSL موردنیاز خواهد بود.

گام ۴) تنظیمات سرور گیتلب

حالا نوبت به تنظیمات سرور گیتلب با استفاده از فرمان زیر می‌رسد. در نتیجه این فرمان، تمام نصب‌ها و تغییرات لازم برای اجرای  نسخه کامیونیتی گیتلب در سیستم اوبونتو صورت می‌گیرد.


sudo gitlab-ctl reconfigure

فرآیند این تنظیمات برای تکمیل نصب ممکن است به زمان نیاز داشته باشد.

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

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

 

گام ۵) تغییرات در فایروال

سیستم‌هایی که ابزار firewalld در آنها نصب و فعال شده، باید تنظیمات مجوز پورت HTTP (80) و HTTPS (443) در آنها انجام شود. در نتیجه شما می‌توانید از سراسر شبکه به سرور وصل شوید. فرمان‌های زیر را تایپ کنید تا پورت‌ها در firewalld اجازه فعالیت داشته باشند.


sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

سپس برای اِعمال تغییرات فرمان زیر را اجرا کنید.


sudo firewall-cmd --reload

گام ۶) داشبورد دسترسی گیتلب

برای دسترسی به رابط کاربری تحت وب گیتلب می‌توانید از نام دامین تنظیم‌شده استفاده کنید. گیتلب در مرتبه اول از شما می‌خواهد که کلمه عبور مدیریت را انتخاب کنید. برای این منظور، یک پسورد جدید و امن برای کاربر روت تعریف نمایید.


https://nagios.ariaservice.net

تنظیم پسورد اولیه سرور گیتلب

تنظیم پسورد اولیه سرور گیتلب

پس از تنظیم کلمه عبور برای حساب کاربری روت گیتلب، به سراغ صفحه ورود بروید. با کاربر “root” وارد شده و از پسوردی که انتخاب کرده‌اید، استفاده کنید.


Username:  root

Password:  above_configured_password

 

ورود به گیتلب

ورود به گیتلب

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

داشبورد گیتلب

داشبورد گیتلب

 

گام ۷) برنامه زمان‌بندی برای تهیه نسخه پشتیبان از داده‌های گیتلب

برای تهیه نسخه پشتیبان از داده‌های گیتلب، فرمان زیر به کمک شما می‌آید. موقعیت پیش‌فرض برای ذخیره این نسخه پشتیبان در آدرس /var/opt/gitlab/backups است. در همین حال، شما می‌توانید این تنظیمات را در فایل /etc/gitlab/gitlab.rb تغییر دهید.


sudo gitlab-rake gitlab:backup:create

همچنین می‌توانید زمان‌بندی فرمان را برای پشتیبان‌گیری شبانه از داده‌ها اضافه کنید. برای این منظور، دستور cron زیر باید به crontab سیستم اضافه شود.


0 22 * * * sudo gitlab-rake gitlab:backup:create

جمع‌بندی

در حال حاضر، شما نسخه کامیونیتی از سرور گیتلب را در سیستم اوبونتو نصب کرده و تنظیمات آن را انجام داده‌اید. امیدواریم که این مطلب مورد استفاده شما قرار گرفته باشد.