گیتلب (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
جمعبندی
در حال حاضر، شما نسخه کامیونیتی از سرور گیتلب را در سیستم اوبونتو نصب کرده و تنظیمات آن را انجام دادهاید. امیدواریم که این مطلب مورد استفاده شما قرار گرفته باشد.