Gitea یک نرمافزار رایگان و متنباز است که به تیمها و توسعهدهندگان این امکان را میدهد که پروژههای نرمافزاری خود را مدیریت کنند. این نرمافزار از Git برای کنترل نسخه استفاده میکند، به این معنی که میتوانید تغییرات مختلفی که در کد برنامهتان ایجاد میشود را ذخیره کرده و مدیریت کنید. علاوه بر این، Gitea امکانات دیگری هم دارد مثل پیگیری خطاها، ایجاد ویکیها برای مستندسازی پروژهها و همچنین قابلیت بازبینی کدها توسط دیگر اعضای تیم، که باعث همکاری بهتر در توسعه نرمافزار میشود. در این مطلب به بررسی روش نصب Gitea روی سرور مجازی لینوکس اوبونتو میپردازیم.
پیش نیازهای نصب Gitea
برای نصب Gitea روی سرور مجازی لینوکس یا یک سرور اختصاصی به دسترسی کامل SSH به عنوان روت یا یک کاربر با دسترسیهای Sudo نیاز دارید.
Gitea از پایگاههای داده زیر پشتیبانی میکند:
- SQLite
- PostgreSQL
- MySQL
- MariaDB
در این مطلب، ما از SQLite به عنوان دیتابیس برای Gitea استفاده میکنیم. شما میتوانید هر یک از پایگاههای داده پشتیبانی شده را بسته به نیاز خود در نصب Gitea انتخاب کنید.
نصب SQLite
برای نصب دیتابیس SQLite از دستور زیر استفاده کنید:
apt install sqlite3
برای بررسی نسخه SQLite نصب شده، دستور زیر را وارد کنید:
sqlite3 --version
خروجی:
root@vps:~# sqlite3 --version 3.45.1 2024-01-30 16:01:20 e876e51a0ed5c5b3126f52e532044363a014bc594cfefa87ffb5b82257ccalt1 (64-bit)
نصب Git
Gitea یک سرویس Git خودمیزبان است که ویژگیهایی مشابه با گیت هاب، بیت باکت یا گیت لب دارد. گیت بهعنوان استاندارد سیستمهای کنترل نسخه توزیعشده شناخته میشود و میتوان آن را روی سیستمهای اوبونتو با استفاده از apt نصب کرد.
برای بررسی و نصب بهروزرسانیهای سیستم، ابتدا این دستورات را اجرا کنید:
apt update apt upgrade
برای نصب بسته گیت از دستور زیر استفاده کنید:
apt install git
برای بررسی نسخه Git نصبشده، دستور زیر را وارد کنید:
git --version
خروجی:
root@vps:~# git --version git version 2.43.0
ایجاد کاربر Git
در این مرحله، یک کاربر با نام git ایجاد خواهیم کرد که فقط دسترسیهای محدود داشته باشد. برای ایجاد کاربر Git از دستور زیر استفاده کنید:
adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --di
دانلود نسخه اجرایی Gitea
برای نصب Gitea ابتدا باید فایل اجرایی Gitea را دانلود کنید. برای این کار، از دستور زیر استفاده کنید:
wget -O /tmp/gitea https://dl.gitea.com/gitea/1.22/gitea-1.22-linux-amd64
این دستور فایل Gitea را در پوشه موقت /tmp دانلود میکند. حالا باید این فایل را به یک مکان مناسب منتقل کنید. برای این کار از دستور زیر استفاده کنید:
mv /tmp/gitea /usr/local/bin
سپس، باید مجوز اجرای فایل را به آن بدهید تا بتوانید آن را اجرا کنید:
chmod +x /usr/local/bin/gitea
ایجاد ساختار دایرکتوری و تنظیم مجوزها
برای این که Gitea به درستی کار کند، نیاز داریم تا دایرکتوریهای مختلفی برای ذخیرهسازی دادهها، لاگها و دیگر فایلها ایجاد کنیم. به این منظور از دستور زیر استفاده کنید:
mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
سپس باید مالکیت برخی از این دایرکتوریها را به کاربر git اختصاص دهید تا Gitea به آنها دسترسی داشته باشد. دستور زیر این کار را انجام میدهد:
chown git: /var/lib/gitea/{data,indexers,log}
بعد از آن، باید مجوزهای دسترسی به این دایرکتوریها را به 750 تغییر دهید تا امنیت سیستم حفظ شود:
chmod 750 /var/lib/gitea/{data,indexers,log}
همچنین باید یک دایرکتوری به نام /etc/gitea ایجاد کنید تا تنظیمات Gitea در آن ذخیره شود:
mkdir /etc/gitea
سپس مالکیت این دایرکتوری را به کاربر root و گروه git بدهید و مجوزها را طوری تنظیم کنید که تنها آنها به آن دسترسی داشته باشند. برای این کار از دستور زیر استفاده کنید:
chown root:git /etc/gitea chmod 770 /etc/gitea
ایجاد فایل سرویس برای Systemd
برای اینکه بتوانید Gitea را در پسزمینه اجرا کنید و با استفاده از دستورات systemctl کنترل کنید، باید یک فایل Systemd برای آن ایجاد کنید. ابتدا این فایل را از لینک زیر دانلود کنید:
wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
حالا باید دستورات زیر را اجرا کنید تا Systemd بتواند سرویس Gitea را شناسایی و آن را اجرا کند:
systemctl daemon-reload systemctl start gitea systemctl enable gitea
دستور اول برای بارگذاری مجدد فایلهای تنظیمات Systemd است، دستور دوم سرویس Gitea را شروع میکند و دستور سوم آن را برای شروع خودکار بعدی راهاندازی میکند.
برای بررسی وضعیت سرویس Gitea، از این دستور استفاده کنید:
systemctl status gitea
نصب و پیکربندی Gitea
اگر از فایروال ufw استفاده میکنید، باید پورت 3000 را باز کنید تا دسترسی به Gitea ممکن باشد. دستور زیر این کار را انجام میدهد:
ufw allow 3000/tcp
حالا میتوانید از طریق مرورگر به آدرس زیر بروید و داشبورد Gitea را ببینید:
http://yourserver-ip-address:3000
در این صفحه، دستورالعملهای نصب را دنبال کنید. بعد از آن، روی دکمه Register کلیک کنید تا پایگاه داده Gitea راهاندازی شود.
تنظیمات پایگاه داده
در مان پیکربندی Gitea، از شما خواسته میشود که نوع پایگاه داده را انتخاب کنید. در اینجا از SQLite3 استفاده میکنیم. برای مسیر پایگاه داده، باید آدرس کامل مسیر را وارد کنید:
- نوع پایگاه داده: SQLite3
- مسیر پایگاه داده: /var/lib/gitea/data/gitea.db
با این تنظیمات، Gitea میتواند اطلاعات پروژهها و کاربران را ذخیره کند.
تنظیمات عمومی برنامه عبارتند از:
-
Site Title: نام دلخواه خود را وارد کنید.
-
Repository Root Path: مسیر پیشفرض
/home/git/gitea-repositoriesرا نگه دارید. -
Git LFS Root Path: مسیر پیشفرض
/var/lib/gitea/data/lfsرا نگه دارید. -
Run As Username: از نام کاربری
gitکه قبلا ایجاد کردید استفاده کنید. -
Server Domain: نام دامنه یا آدرس IP سرور خود را وارد کنید.
-
SSH Port: پورت 22 را نگه دارید، مگر اینکه SSH در پورت دیگری در حال گوش دادن باشد.
-
Gitea HTTP Listen Port: عدد این پورت را 3000 را نگه دارید.
-
Gitea Base URL: از
httpو نام دامنه یا آدرس IP سرور خود استفاده کنید. برای مثال:http://example.com:3000یاhttp://192.168.0.2:3000. -
Log Path: مسیر پیشفرض
/var/lib/gitea/logرا نگه دارید.
توجه: از localhost استفاده نکنید. به جای localhost، باید آدرس IP سرور خود یا نام دامنه خود را وارد کنید.
تنظیمات اختیاری:
-
Create an Administrator user account: یک حساب کاربری مدیر ایجاد کنید.
برای نصب و پیکربندی Gitea، روی دکمه Install کلیک کنید.
پس از تکمیل نصب Gitea، شما بهطور خودکار وارد حساب کاربری ادمین شده و به داشبورد هدایت میشوید.
حالا، میتوانید اولین مخزن Gitea خود را ایجاد کنید و از آن استفاده کنید.
بهروزرسانی Gitea
در این بخش نحوه بهروزرسانی Gitea به نسخه جدیدتر را توضیح میدهیم.
برای بهروزرسانی به نسخه جدید، ابتدا سرویس Gitea را متوقف کنید. برای این کار از دستور زیر استفاده کنید:
systemctl stop gitea
سپس فایل باینری جدید Gitea را از سایت رسمی دانلود کنید. در زمان نوشتن این مطلب، جدیدترین نسخه Gitea نسخه 1.22 است. اگر نسخه جدیدتری در لینک موجود باشد، متغیر VERSION را به نسخه جدید تغییر دهید:
VERSION=<THE_LATEST_GITEA_VERSION>
با استفاده از کد زیر، باینری Gitea جدید را دانلود کنید:
wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
سپس با دستور زیر باینری Gitea را به /usr/local/bin منتقل کرده و با استفاده از دستور زیر آن را به فایل اجرایی تبدیل کنید:
mv /tmp/gitea /usr/local/bin
chmod +x /usr/local/bin/gitea
برای راهاندازی مجدد سرویس Gitea، از دستور زیر استفاده کنید:
systemctl restart gitea
در این مرحله نصب Gitea و بهروزرسانی آن به نسخه جدید به پایان رسیده است.
جمع بندی
در این مقاله نحوه نصب و پیکربندی Gitea، یک سرویس خودمیزبان برای مدیریت مخازن Git، بهطور کامل توضیح داده شد. ابتدا با نصب پیشنیازها از سایت رسمی شروع کردیم. پس از نصب، مراحل پیکربندی Gitea شامل تنظیمات عمومی مانند نام سایت، مسیر مخازن و پورتها توضیح داده شد. همچنین نحوه ایجاد حساب کاربری مدیر و دسترسی به داشبورد Gitea را بررسی کردیم.






