خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

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

Git یک سیستم کنترل نسخه منبع باز است که توسط توسعه دهندگان در سراسر جهان استفاده می شود. در اینجا نحوه ایجاد سرور Git Linux برای میزبانی پروژه های خود آورده شده است.

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

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

پیش نیازهای راه اندازی سرور گیت

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

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

مرحله 1: دانلود و نصب 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 راه اندازی کنید

ssh را وارد سرور کنید و حساب کاربری ایجاد کنید

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

ssh username@address
sudo useradd git

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

su git

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

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

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

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

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

مجوزهای دسترسی دایرکتوری را با استفاده از دستور chmod ایمن کنید تا مطمئن شوید که هیچ کس به جز شما نمی تواند در آن تغییرات ایجاد کند. به دایرکتوری ssh بروید و با استفاده از فرمان لمسی یک فایل جدید “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 بروید، فایل authorized_keys را با یک ویرایشگر متن باز کنید و کلید عمومی را جایگذاری کنید. تغییرات را ذخیره کرده و خارج شوید.

مطلب مرتبط:   نحوه استفاده از سطل AWS S3 برای میزبانی فایل های استاتیک و رسانه ای در جنگو

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

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

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

mkdir directory_name

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

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

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

cd parent_directory
mkdir new_project.git

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

git init --bare

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

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

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

مطلب مرتبط:   کمپین بدافزار جدید HiatusRAT مسیریاب های تجاری را هدف قرار می دهد

عملکرد آن را با انجام یک فشار 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
  • به طور منظم از اطلاعات پشتیبان تهیه کنید

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