چگونه یک سرور Git خصوصی در لینوکس راه اندازی کنیم

70
0
سرور Git خصوصی در لینوکس

Git یک سیستم کنترل نسخه Open-surce است که توسط توسعه دهندگان در سراسر جهان استفاده می شود. در این مقاله نحوه ایجاد سرور Git خصوصی در لینوکس برای میزبانی پروژه های خود به طور کامل توضیح داده شده است.

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

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

پیش نیازهای راه اندازی سرور Git

قبل از شروع به راه اندازی سرور Git خصوصی خود، باید به یک ماشین یدکی دسترسی داشته باشید یا باید مشترک ارائه دهندگان Cloud باشید. این مهم است زیرا شما دستگاه یدکی را طوری تنظیم می کنید که به عنوان یک سرور Git عمل کند که از دستگاه محلی خود به آن متصل می شوید و عملیات Git را انجام می دهید.

در حالی که هیچ سیستم مورد نیاز کاملاً تعریف شده ای وجود ندارد، یک گیگابایت RAM باید برای عملکرد سرور Git کافی باشد. علاوه بر این، مطمئن شوید که یک توزیع لینوکس در دستگاه دارید و در حال اجرا است.

مرحله 1: دانلود و نصب Git بر روی سرور لینوکس

دانلود و نصب Git بر روی سرور لینوکس
دانلود و نصب Git بر روی سرور لینوکس

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

در مورد مشتقات Debian/Ubuntu:

sudo apt install git

در توزیع های مبتنی بر Arch:

sudo pacman -S git

در CentOS/RHEL/Fedora:

sudo dnf install git

پس از نصب Git بر روی سیستم شما، مراحل بعدی را برای پیکربندی سیستم لینوکس خود برای میزبانی مخازن Git به عنوان یک سرور Git ادامه دهید.

مرحله 2: یک حساب کاربری Git راه اندازی کنید

یک حساب کاربری Git راه اندازی کنید
یک حساب کاربری Git راه اندازی کنید

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

ssh username@address
sudo useradd git

پس از اضافه شدن کاربر جدید، با استفاده از دستور su به آن سوئیچ کنید:

su git

ایجاد یک حساب کاربری اختصاصی Git یک پروتکل ایمنی است که تضمین می‌کند کلاینت‌ هایی که به سرور Git شما متصل می‌شوند، دید و دسترسی محدودی به منابع روی دستگاه دارند. این به شما امکان می دهد با خیال راحت در پروژه های گروهی که در آن چندین عضو تیم به سرور شما دسترسی دارند، همکاری کنید.

مرحله 3:.ssh Directory را ایجاد کنید و کلیدهای مجاز را اضافه کنید

ssh Directory را ایجاد کنید و کلیدهای مجاز را اضافه کنید
ssh Directory را ایجاد کنید و کلیدهای مجاز را اضافه کنید

ایجاد یک .ssh Directory برای ذخیره کلیدهای عمومی و سایر داده های ضروری، ضروری است که تعیین می کند چه کسی به این سرور Git دسترسی داشته باشد. برای شروع، وارد حساب کاربری Git که قبلا ایجاد کرده‌اید، .ssh Directory را ایجاد کنید و دسترسی را فقط به کاربر Git محدود کنید:

ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys

مجوزهای دسترسی دایرکتوری را با استفاده از دستور chmod ایمن کنید تا مطمئن شوید که هیچ کس به جز شما نمی تواند در آن تغییرات ایجاد کند. به .ssh Directory بروید و با استفاده از فرمان Touch یک فایل جدید “authorized_keys” ایجاد کنید.

cd .ssh
ssh-keygen -t rsa #only run this command if you DO NOT have an id_rsa.pub file
cat id_rsa.pub

شما باید این فایل را با کلیدهای عمومی SSH کلاینت هایی که می خواهید به آنها دسترسی به سرور Git بدهید، به روز کنید. جلسه SSH را به حالت تعلیق درآورید و فایل .ssh/id_rsa.pub را در دستگاه محلی خود با استفاده از ویرایشگر متن یا دستور cat باز کنید. این فایل حاوی کلید رمزگذاری شده عمومی شماست که وقتی در فایل authorized_keys نوشته شود، بدون رمز عبور به سرور Git دسترسی خواهید داشت.

cd .ssh
vi authorized_keys

کلید عمومی را کپی کنید و یک اتصال SSH جدید را به سرور Git بچرخانید. به .ssh Directory بروید، فایل authorized_keys را با یک ویرایشگر متن باز کنید و کلید عمومی را جایگذاری کنید. تغییرات را ذخیره کرده و خارج شوید.

از آن به بعد، باید بتوانید بدون هیچ رمز عبوری به سرور متصل شوید. این مرحله را برای هر دستگاهی که به سرور متصل می شود تکرار کنید.

مرحله 4: یک Directory برای ذخیره تمام مخازن خود ایجاد کنید

به سرور لینوکس دسترسی پیدا کنید و یک Directory ایجاد کنید یا از یک دایرکتوری داخلی به عنوان Directory ریشه استفاده کنید. به خاطر داشته باشید که این Directory است که تمام مخازن شما در آن ذخیره می شوند. این یک روش خوب برای سازماندهی دقیق پروژه ها است.

mkdir directory_name

پس از ایجاد دایرکتوری، به مرحله نهایی در این راهنما بروید تا راه اندازی سرور Git را به پایان برسانید.

مرحله 5: با افزودن یک پروژه جدید، توسعه را آغاز کنید

اکنون عملاً کار با راه اندازی سرور Git تمام شده است. اکنون فقط باید توسعه را با مقداردهی اولیه مخازن و اضافه کردن منبع راه دور به ماشین محلی خود آغاز کنید. با استفاده از دستور cd به Directory والد بروید و یک Directory پروژه .Git ایجاد کنید:

cd parent_directory
mkdir new_project.git

اکنون، یک مخزن گیت خالی را مقداردهی اولیه کنید:

git init --bare

هنگامی که مخزن مقدار دهی اولیه شده است، وقت آن است که مبدا راه دور را در ماشین محلی خود اضافه کنید:

git remote add origin name git@address:new_project.git

این تنها کاری است که باید در سمت سرور انجام دهید. اکنون هر کلاینت احراز هویت شده می تواند عملیات منظم Git مانند فشار، کشیدن، ادغام، شبیه سازی و غیره را انجام دهد. برای شروع پروژه های جدید باید هر بار که یک پروژه جدید ایجاد می کنید این مرحله را تکرار کنید.

عملکرد آن را با انجام یک فشار git آزمایش کنید:

touch testfile
git add testfile
git commit -m test file
git push name master
git clone git@address:new_project.git

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

نکات امنیتی برای سرور Git شما

با راه‌اندازی سرور Git، باید به سطح امنیتی آن توجه زیادی داشته باشید، زیرا سرور شخصی شماست و حفظ و محافظت از آن در برابر تهدیدات خارجی تنها مسئولیت شماست. برخی از بهترین شیوه های امنیتی برای اتخاذ عبارتند از:

  • غیرفعال کردن ورود رمز عبور
  • پوسته پیش فرض را به git-shell تغییر دهید. این کار کاربر وارد شده را از صدور هر دستور غیر git محدود می کند
  • از یک پورت سفارشی برای SSH استفاده کنید
  • غیرفعال کردن ورود کاربر root
  • به طور منظم از داده ها نسخه پشتیبان تهیه کنید

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

امتیاز این مطلب
سهیل دهقانی
نوشته شده توسط

سهیل دهقانی

علاقه مند به فناوری و تکنولوژی های روز دنیا کارشناس سئو و تولید محتوا

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

گوگل فارکس آموزش تخصصی آمارکتس