راهنمای گیت سرور :
این مقاله نحوه راه اندازی و کانفیگ اولیه Git server را بر روی یک VPS به شما می آموزد. راهنمای فعلی به موضوع نصب اینترفیس تحت وب نپرداخته و راه اندازی سرور Git و همچنین اخذ دسترسی به آن را شرح می دهد. در صورتی که مایلید تا از یک محیط کاربری و گرافیکی نیز بهره مند شوید می توانید به کمک یک متخصص سرور پکیج های متن باز و رایگان مانند Gitosis, GitList و Goblet را امتحان کنید.
در این راهنما از دامنه “git.rahamtech.com” استفاده می کنیم و شما بایدبه جای آن از دامنه متصل به VPS خود استفاده نمایید.
1 – ایجاد یک جفت کلید امنیتی SSH
اولین مرحله، ایجاد یک SSH Pair keys می باشد. اگر در لینوکس یا Mac کار می کنیدمی توانید به راحتی و با دستور زیر جفت کلید خود را ایجاد کنید.
توجه : به جای yourmail@rahamtech.com آدرس ایمیل اختصاصی خود با دامنه خود را وارد نمایید.
ssh-keygen -C "youremail@mailprovider.com"
پس از اجرای دستور فوق، کلید امنیتی SSH شما همانند زیر ساخته می شود.
Generating public/private rsa key pair. Enter file in which to save the key (/home/flynn/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in foo_rsa. Your public key has been saved in foo_rsa.pub. The key fingerprint is: ab:cd:ef:01:23:45:67:89:0a:bc:de:f0:12:34:56:78 flynn@en.com The key's randomart image is: +--[ RSA 2048]----+ | o+-+ .. | | E o | | . ++.o.. | | o o H . | | . . = | | . =o.o= | | o . | | . | | = o . | +-----------------+
اکیدا توصیه می کنیم تا پسورد پیچیده و مناسبی برای Key file خود انتخاب کنید، این امر باعث اضافه شدن یک لایه امنیتی بیشتر می شود. اگر از سیستم عامل ویندوز استفاده می کنید، ابزارهای ایجاد کلید مانند Putty GEN گزینه رایگان و آسانی برای این کار هستند. پس از لاگین به VPS خود و ایجاد جفت کلیدها، هر دو فایل id_rsa و id_rsa.pub را دانلود کنید.
حالا باید یک نام کاربری مختص سرویس Git خود ایجاد نمایید. برای راحتی کار از یورنیمی به نام Git استفاده می کنیم.
راه اندازی User و نصب Git روی VPS
در سرور خود با دسترسی root لاگین کنید.
حالا یک یوزر لینوکسی برای سرویس Git ایجاد می کنیم. (در این راهنما اسم یوزرنیم git در نظر گرفته شده )
useradd git
حالا برای یوزر ایجاد شده یک پسورد تعیین می کنیم.
passwd git
هم اکنون باید Git را روی سرور نصب کنیم.
اگر سیستم عامل Centos دارید با دستور زیر :
yum install git
و اگر سیستم عامل Ubuntu استفاده می کنید، از دستور زیر برای نصب Git استفاده کنید :
apt-get install git
اضافه کردن کلید SSH به Access list
در این مرحله باید از طریق اکانت git که قبلا ایجاد کردیم به سرور لاگین کنیم. اگر تاکنون این کار را انجام ندادید، با دستور زیر، دسترسی اکانت Git را به دست میگیریم.
su git
حالا باید فایل کلید امنیتی id_rsa.pub را در پوشه Home اکانت Git آپلود کنیم. بعد از آپلود این فایل باید برای سرویس SSH سرور تعریف کنیم که کلید های امنیتی SSH ما را به درستی بخواند. کلید های امنیتی سرویس SSH در فولدری به نام .ssh تعریف می شوند. جهت ایجاد این فایل ها به نحو زیر عمل می کنیم :
mkdir ~/.ssh && touch ~/.ssh/authorized_keys
در دستور بالا، استفاده از دو علامت ‘&’ به سیستم می گوید تا بعد از اجرای کامل دستور اول به دستور دوم برسد و آن را نیز اجرا کند.
استفاده از علامت مد “~” به سیستم می گوید که از Home directory یوزر فعلی استفاده کند بنابراین در سرور ما ~ به معنای آدرس /home/git می باشد.
در اینجا می خواهیم از دستور “Cat” استفاده کنیم که در لینوکس، محتوای یک فایل متنی را در صفحه نمایش می دهد. زمانی که در انتهای دستور cat از دو علامت “<<” و آدرس یک فایل استفاده می کنیم، سیستم به جای نمایش محتویات فایل در صفحه نمایش، آن ها را به انتهای فایل دیگری اضافه می کند. مراقب باشید که در صورت استفاده دستور cat به همراه “<“، تمامی محتویات فایل مقصد توسط دستور cat بازنویسی یا Overwrite می شود.
برای اضافه کردن کلید SSH که اخیر آپلود شده مانند زیر عمل کرده و IP سرور خود را به جای 123.45.56.67 میگذاریم.
cat .ssh/id_rsa.pub | ssh user@123.45.56.78 "cat >> ~/.ssh/authorized_keys"
حالا اگر دستور Cat استفاده کنید، می توانید کلید های امنیتی آپلود شده خود را مشاهده کنید.
cat ~/.ssh/authorized_keys
اگر قصد اضافه کردن کاربران دیگری برای دسترسی به Git را نیز دارید، باید کلید های SSH جداگانه ای برای آن ها بسازید و همانند دستور العمل بالا، کلید های id_rsa.pub را در سرور اضافه کنید.
راه اندازی Local repository
فرایند راه اندازی و تغیین یک مخزن لوکال بسیار ساده است. ما باید با استفاده دستور git، یک Repository خام در آدرسی که مایلیم ایجاد کنیم. تصور می کنیم که “rahamtech” نام پروژه ما خواهد بود. در زمان ایجاد پوشه ها، تنها از حروف کوچک انگلیسی استفاده می کنیم و تمامی فاصله (Space) ها را با خط تیره (Hyphen) جایگزین می کنیم و همچنین “.git” را به پایان نام پروژه اضافه می نماییم. در نتیجه نام پروژه ما “rahamtech.git” خواهد بود.
برای ایجاد پوشه پروژه به عنوان یک Repository خام مانند دستور زیر عمل می کنیم :
git init --bare rahamtech.git
تبریک ! ما یک Local repository در سرور vps خود ایجاد کردیم. در ادامه مقاله شرح می دهیم که چه طور می توان از آن استفاده کرد.
نحوه استفاده از Git Server از طریق کامپیوتر لوکال
در لینوکس یا MacOS باید Remote origin را به سروری که به تازگی کانفیگ کردیم تغییر دهیم. اگر کامپیوترتان هم اکنون در حال استفاده از یک Local repo است، با دستور زیر می توانید Repo خود را تغییر دهید.
git remote set-url origin git@git.droplet.rahamatech.git
و اگر مایلید تا یک Repository جدید برای پروژه خود در نظر بگیرید نیز از دستور زیر استفاده کنید :
git init && git remote add origin git@git.droplet.com:rahamtech.git
حالا به راحتی می توانید کدهای خود را از سرور VPS خود Pull,push یا Clone نمایید.
در صورتی که مایلید تا فرایند راه اندازی Git سرور برای شما روی یک سرور VPS توسط تیم فنی رَهام تک صورت گیرد، به این لینک مراجعه نمایید.