Gitea یک سرور git با کاربرد آسان است که در Go نوشته شده است. Gitea شامل یک ویرایشگر فایل مخزن، ردیابی مسئله پروژه، مدیریت کاربران، اعلانها، ویکی داخلی و موارد دیگر است. Gitea یک برنامه سبک و قابل نصب بر روی سیستم های کم مصرف است. در این مقاله با ما همراه باشید تا به شما عزیزان نحوه نصب و کانفیگ Gitea در اوبونتو ۲۰٫۰۴ را توضیح دهیم.
پیش نیازها :
Gitea از SQLite، PostgreSQL و MySQL/MariaDB به عنوان پسوند دیتابیس پشتیبانی می کند. SQLite فقط برای نصب های کوچک توصیه می شود. نصب های بزرگتر باید از MySQL یا PostgreSQL استفاده کنند. ما از SQLite به عنوان دیتابیس برای Gitea استفاده خواهیم کرد. اگر SQLite روی سیستم اوبونتو نصب نشده است می توانید با وارد کردن دستورات زیر به عنوان کاربر sudo آن را نصب کنید:
sudo apt update
sudo apt install sqlite3
Gitea تصاویر Docker را ارائه می دهد و می تواند از سورس، باینری و به عنوان یک بسته نصب شود. ما Gitea را از باینری نصب خواهیم کرد.
اولین قدم نصب Git بر روی سرور خود است:
sudo apt update
sudo apt install git
با نمایش ورژن Git ، نصب را تأیید کنید:
git --version
git version 2.25.1
یک کاربر جدید سیستم ایجاد کنید که برنامه Gitea را با تایپ کردن دستور زیر اجرا کند:
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
Adding system user `git' (UID 112) ... Adding new group `git' (GID 118) ... Adding new user `git' (UID 112) with group `git' ... Creating home directory `/home/git' ...
به صفحه دانلود Gitea مراجعه کرده و آخرین باینری را برای معماری سیستم عامل خود دانلود کنید. در زمان نوشتن ، آخرین ورژن ۱٫۱۰٫۲ است. اگر ورژن جدیدی در دسترس است، متغیر VERSION را در دستور زیر تغییر دهید. از wget برای دانلود باینری Gitea در دایرکتوری /tmp استفاده کنید:
VERSION=1.14.1
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
باینری gitea می تواند از هر مکانی اجرا شود. ما کنوانسیون را دنبال می کنیم و باینری را به دایرکتوری /usr/local/bin منتقل می کنیم:
sudo mv /tmp/gitea /usr/local/bin
باینری را قابل اجرا کنید:
sudo chmod +x /usr/local/bin/gitea
برای ایجاد دایرکتوری ها و تنظیم مجوزها و مالکیت مورد نیاز دستورات زیر را اجرا کنید:
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
ساختار دایرکتوری بالا توسط اسناد رسمی Gitea توصیه می شود. مجوزهای دایرکتوری /etc/gitea روی ۷۷۰ تنظیم شده است تا wizard نصب بتواند فایل کانفیگ را ایجاد کند. پس از اتمام نصب، مجوزهای محدودتری را تنظیم خواهیم کرد.
ما Gitea را به عنوان یک سرویس systemd اجرا خواهیم کرد. فایل نمونه systemd unit را در دایرکتوری /etc/systemd/system با تایپ کردن دستور زیر دانلود کنید:
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
سرویس Gitea را فعال و راه اندازی کنید:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
تأیید کنید که این سرویس با موفقیت در حال اجرا است:
sudo systemctl status gitea
gitea.service - Gitea (Git with a cup of tea) Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2021-05-06 05:32:04 UTC; 7s ago Main PID: 77781 (gitea) Tasks: 6 (limit: 470) Memory: 130.6M CGroup: /system.slice/gitea.service └─۷۷۷۸۱ /usr/local/bin/gitea web --config /etc/gitea/app.ini ...
اکنون که Gitea دانلود و اجرا می شود، می توانیم نصب را از طریق رابط وب نهایی کنیم. به طور پیش فرض ، Gitea اتصالات موجود در پورت ۳۰۰۰ در همه رابط های شبکه فراخوانی می شود. اگر فایروال UFW روی سرور خود دارید، باید پورت Gitea را باز کنید. برای اجازه دادن به عبور ترافیک در پورت ۳۰۰۰، دستور زیر را وارد کنید:
sudo ufw allow 3000/tcp
مرورگر خود را باز کنید، آدرس http://YOUR_DOMAIN_IR_IP:3000 را تایپ کنید و صفحه ای مشابه با موارد زیر ظاهر می شود:
تنظیمات دیتابیس:
تنظیمات عمومی برنامه:
با ویرایش فایل کانفیگ Gitea می توانید تنظیمات را در هر زمان تغییر دهید. پس از اتمام، دکمه ” Install Gitea ” را بزنید. روی پیوند “Need an account? Register now” کلیک کنید. اولین کاربر ثبت نام شده به طور خودکار به گروه Admin اضافه می شود. مجوزهای فایل کانفیگ Gitea را فقط با استفاده از دستور زیر به read-only تغییر دهید:
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini
این مرحله اختیاری است، اما به شدت توصیه می شود. خاتمه SSL به این معنی است که Nginx به عنوان یک نقطه واسطه بین برنامه Gitea و مشتریان وب عمل می کند تا بتوانید از طریق HTTPS به Gitea دسترسی داشته باشید. برای استفاده از Nginx به عنوان یک پروکسی معکوس، باید یک دامنه یا زیر دامنه داشته باشید که به IP عمومی سرور شما اشاره می کند. در این آموزش از git.example.com استفاده خواهیم کرد. ابتدا Nginx را نصب کنید و با استفاده از راهنماهای زیر یک گواهی رایگان Let’s Encrypt SSL ایجاد کنید:
پس از اتمام، ویرایشگر متن خود را باز کنید و فایل بلوک سرور دامنه را ویرایش کنید:
sudo nano /etc/nginx/sites-enabled/git.example.com
server { listen 80; server_name git.example.com; include snippets/letsencrypt.conf; return 301 https://git.example.com$request_uri; } server { listen 443 ssl http2; server_name git.example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/git.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf; # log files access_log /var/log/nginx/git.example.com.access.log; error_log /var/log/nginx/git.example.com.error.log; # Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } }
sudo systemctl restart nginx
سپس، دامنه Gitea و url root را تغییر دهید. برای انجام این کار ، فایل کانفیگ را باز کرده و دستورات زیر را ویرایش کنید:
sudo nano /etc/gitea/app.ini
[server] DOMAIN = git.example.com ROOT_URL = https://git.example.com/
سرویس Gitea را با تایپ کردن مجدد راه اندازی کنید:
sudo systemctl restart gitea
در این مرحله، پروکسی Gitea کانفیگ شده است، و می توانید به https://git.example.com دسترسی داشته باشید.
اگر میخواهید نمونه Gitea شما ایمیلهای اعلان ارسال کند، میتوانید Postfix را نصب کنید یا از برخی از سرویسهای ارسال ایمیل مانند SendGrid، MailChimp، MailGun یا SES استفاده کنید. برای فعال کردن اعلانهای ایمیل، فایل کانفیگ را باز کرده و دستورات زیر را ویرایش کنید:
sudo nano /etc/gitea/app.ini
[mailer] ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD
sudo systemctl restart gitea
برای ارتقاء به آخرین ورژن Gitea، به سادگی باینری را دانلود و جایگزین کنید.
مرحله اول: سرویس Gitea را متوقف کنید:
sudo systemctl stop gitea
مرحله دوم: آخرین ورژن Gitea را دانلود کنید و آن را به دایرکتوری /usr/local/bin منتقل کنید:
VERSION=<THE_LATEST_GITEA_VERSION>
wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
sudo systemctl restart gitea
در این آموزش شما را در نصب Gitea در اوبونتو ۲۰٫۰۴ راهنمایی کردیم. برای اطلاعات بیشتر در مورد نحوه کانفیگ نمونه Gitea و ایجاد اولین پروژه خود، از صفحه مستندات Gitea دیدن کنید.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊