لیست مطالب
در دنیای توسعه نرم افزار، استفاده از سیستم های کنترل نسخه نظیر Git بخش جداییناپذیر پروژههای گروهی است. زمانی که تیمهای برنامه نویسی در درون سازمان یا شرکت فعالیت میکنند، استفاده از یک سرور گیت محلی (Self-hosted Git Server) میتواند امنیت، سرعت و استقلال بیشتری نسبت به سرویسهای ابری عمومی مانند GitHub یا GitLab.com فراهم کند. در این مقاله به آموزش راه اندازی دو پلتفرم محبوب، یعنی GitLab و Gitea به صورت محلی میپردازیم و مزایا، پیش نیازها و نحوه مدیریت آنها را بررسی خواهیم کرد.
مزایای راه اندازی سرور گیت محلی
- امنیت داده ها: تمامی کدها، اطلاعات و مستندات در شبکه داخلی شرکت ذخیره می شوند و هیچ وابستگی به سرورهای خارجی ندارند.
- پایداری و کنترل کامل: مدیر شبکه کنترل کامل بر نسخه ها، کاربران، پشتیبان گیری و تنظیمات دارد.
- پشتیبانی از سیاست های داخلی امنیتی: می توان سطوح دسترسی دقیق برای اعضا تعریف کرد و از انتشار ناخواسته کدها جلوگیری نمود.
- عدم نیاز به اینترنت مداوم: در محیطهایی که اتصال اینترنت پایدار وجود ندارد، سرور محلی امکان توسعه بدون وقفه را فراهم میکند.
- هزینه کمتر در بلندمدت: برخلاف سرویسهای ابری، هزینهها پس از راه اندازی اولیه، عمدتاً محدود به نگهداری سرور است.
انتخاب بین GitLab و Gitea
دو نرم افزار شناخته شده برای راه اندازی گیت سرور عبارت اند از GitLab و Gitea:
- GitLab: نرم افزار قدرتمند و جامع که علاوه بر کنترل نسخه، امکانات CI/CD، مدیریت پروژه، Issue Tracking و حتی Container Registry را فراهم می کند. برای سازمان های بزرگ مناسب است.
- Gitea: نرم افزاری سبک تر و ساده تر که عملکردی مشابه GitHub دارد و برای تیم های کوچک و متوسط گزینهای ایده آل محسوب میشود. نصب و راه اندازی آن نیز بسیار سریع و کمهزینه است.
پیش نیازهای سخت افزاری و نرم افزاری

پیش از شروع نصب، لازم است سروری با شرایط زیر مهیا شود:
حداقل پیش نیازها برای Gitea:
- CPU دو هسته ای
- 2 گیگابایت RAM
- 10 گیگابایت فضای ذخیره سازی
- سیستم عامل Ubuntu Server 22.04 یا Debian 12
حداقل پیش نیازها برای GitLab:
- CPU چهار هسته ای
- 8 گیگابایت RAM
- 50 گیگابایت فضای ذخیره سازی
- سیستم عامل ترجیحاً Ubuntu Server 22.04
مراحل نصب و راه اندازی Gitea
1. نصب پیش نیازها:
bash
sudo apt update
sudo apt install git mariadb-server nginx
2. ساخت پایگاه داده:
bash
sudo mysql -u root -p
CREATE DATABASE gitea;
CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON gitea.* TO 'giteauser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
3. دریافت فایل Gitea:
bash
wget -O /usr/local/bin/gitea https://dl.gitea.io/gitea/latest/gitea-1.22-linux-amd64
chmod +x /usr/local/bin/gitea
4. اجرای سرویس:
bash
sudo useradd -r -m -U -d /var/lib/gitea -s /bin/bash gitea
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R gitea:gitea /var/lib/gitea
gitea web
5. پس از اجرای دستور، وب سرور Gitea بر روی پورت 3000 فعال میشود و از طریق مرورگر با آدرسhttp://server-ip:3000میتوانید فرآیند پیکربندی رابط گرافیکی را کامل کنید.
مراحل نصب و راه اندازی GitLab
1. نصب پیش نیازها:
bash
sudo useradd -r -m -U -d /var/lib/gitea -s /bin/bash gitea
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R gitea:gitea /var/lib/gitea
gitea web
2. نصب GitLab به وسیله بسته رسمی:
bash
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ee
3. پس از نصب، دستور زیر برای پیکربندی اولیه اجرا شود:
bash
sudo gitlab-ctl reconfigure
4. اکنون با مراجعه به آدرس سرور در مرورگر خود، میتوانید از رابط مدیریتی GitLab استفاده کنید و با ورود کاربر root پیکربندی اولیه انجام دهید.
نکات امنیتی در استفاده از سرور گیت

- حتما برای تمامی کاربران رمز عبور قوی و احراز هویت دو مرحلهای فعال کنید.
- از پروتکل HTTPS به جای HTTP معمولی استفاده نمایید.
- پشتیبانگیری خودکار (Backup) روزانه تنظیم کنید.
- دسترسی به پورتهای SSH و HTTP را به IPهای مجاز محدود نمایید.
- بهروزرسانی خودکار نرم افزارها و سیستم عامل را برنامهریزی کنید.
مدیریت تیم و پروژه ها
پس از نصب، مدیر سیستم میتواند تیم ها را تعریف کرده، دسترسی هر برنامه نویس را مشخص کند و مخازن اختصاصی بسازد. GitLab ابزارهای مدیریتی بیشتری مانند CI/CD Pipeline و سیستم Issue Tracking داخلی ارائه میدهد، در حالی که Gitea ساختاری ساده تر و سبک تر برای مدیریت دارد.
نتیجه گیری
راهاندازی یک سرور گیت محلی نه تنها باعث افزایش امنیت و کنترل در فرآیند توسعه نرم افزار میشود، بلکه امکان تمرکز بیشتر بر روی فرآیندهای داخلی تیم را نیز فراهم میکند. GitLab برای سازمانهای بزرگ با نیاز به اتوماسیون پیشرفته گزینهای حرفهایتر است، در حالی که Gitea انتخابی مناسب برای تیمهای کوچک با امکانات سبکتر و سریعتر میباشد. در هر دو حالت، داشتن زیرساخت مناسب و نگهداری صحیح نقش مهمی در موفقیت سیستم دارد.
صفرویک پرداز
اگر شرکت یا تیم شما به دنبال پیادهسازی سرورهای اختصاصی برای مدیریت پروژه های نرم افزاری است، صفرویک پرداز با بیش از دو دهه تجربه در ارائه سرور اختصاصی، زیرساخت شبکه پایدار و خدمات پشتیبانی ۲۴ ساعته، آماده راهاندازی و پشتیبانی از سرورهای GitLab و Gitea برای تیم های برنامه نویسی شما میباشد. برای مشاوره تخصصی با کارشناسان صفرویک با شماره ۶۵۰ ۴۸ ۰۲۱ – ۱۰۱ ۱۰ ۹۱۰ تماس بگیرید.








