آموزش نصب Gitea در اوبونتو 18.04 - وان سرور آکـادمی
آموزش نصب Gitea در اوبونتو 18.04
آموزش نصب Gitea در اوبونتو 18.04

آموزش نصب Gitea در اوبونتو 18.04

زمان تقریبی مطالعه: 6 دقیقه

آموزش نصب Gitea در اوبونتو 18.04

Gitea یک سرور git با منبع آزاد است که در Go نوشته شده است. Gitea شامل یک ویرایشگر پرونده مخزن ، ردیابی مسئله پروژه ، مدیریت کاربران ، اعلان ها ، ویکی داخلی و موارد دیگر می باشد. در این آموزش نحوه نصب و پیکربندی Gitea در اوبونتو 18.04 توضیح داده شده است. همین دستورالعمل ها برای اوبونتو 16.04 و هر توزیع دیگری مبتنی بر دبیان اعمال می شود.

Gitea یک برنامه سبک و قابل نصب بر روی سیستم های کم مصرف است. اگر به دنبال جایگزینی برای Gitlab هستید ، پس حتماً باید گیتا را امتحان کنید.

پیش نیازها

Gitea از SQLite ، PostgreSQL و MySQL / MariaDB به عنوان پسوند پایگاه داده پشتیبانی می کند.

ما از SQLite به عنوان پایگاه داده برای Gitea استفاده خواهیم کرد. اگر SQLite روی سیستم اوبونتو نصب نشده است می توانید با وارد کردن دستورات زیر به عنوان کاربر sudo آن را نصب کنید:

sudo apt update
sudo apt install sqlite3

یک راز بزرگ درمورد 90 % هاستینگ های ایرانی، اورسل کردن بیش از حد است که باعث افت کیفیت سرورها میشود.

وان سرور با ارائه دسترسی های مختلف این امکان را به شما خواهد داد که تمامی منابع سرورتان را مدیریت و بررسی کنید و همچنین با ارائه گارانتی 100% برگشت وجه ریسک خرید شما را به %0 کاهش میدهد.

برای خرید سرور مجازی با گارانتی 100% بازگشت وجه کلیک کنید.

نصب Gitea

Gitea تصاویر Docker را در اختیار شما قرار می دهد و می تواند از سورس، باینری و پکیج نصب شود.

ما Gitea را از باینری نصب خواهیم کرد. مراحل زیر را برای نصب Gitea در اوبونتو انجام دهید.

نصب Git

اولین قدم نصب Git بر روی سرور خود است:

sudo apt update
sudo apt install git

با نمایش نسخه Git ، نصب را تأیید کنید:

git --version
git version 2.17.1

یک کاربر Git ایجاد کنید

یک کاربر جدید سیستم ایجاد کنید که برنامه Gitea را با تایپ کردن دستور زیر اجرا کند:

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

دستور فوق، کاربر و گروه جدیدی به نام git ایجاد می کند و فهرست خانه را روی /home/git تنظیم می کند. خروجی چیزی شبیه به زیر خواهد بود:

Adding system user `git' (UID 111) ...
Adding new group `git' (GID 116) ...
Adding new user `git' (UID 111) with group `git' ...
Creating home directory `/home/git' ...

دانلود باینری گیتا

به صفحه بارگیری Gitea مراجعه کرده و آخرین باینری را برای معماری سیستم عامل خود بارگیری کنید. در زمان نوشتن ، آخرین نسخه 1.10.2 است. اگر نسخه جدید در دسترس است ، متغیر VERSION در دستور زیر تغییر دهید.

با استفاده از wget زیر ، binary binary را در دایرکتوری /tmp بارگیری کنید:

VERSION=1.10.2
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,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

ساختار دایرکتوری بالا توسط اسناد رسمی Gitea توصیه می شود.

مجوزهای فهرست /etc/gitea روی 770 تنظیم شده است تا جادوگر نصب بتواند فایل پیکربندی را ایجاد کند. پس از اتمام نصب ، مجوزهای محدود کننده بیشتری را تنظیم خواهیم کرد.

ایجاد یک فایل واحد Systemd

Gitea یک فایل واحد Systemd را ارائه می دهد که قبلاً برای مطابقت با تنظیم ما پیکربندی شده است.

با تایپ کردن دستور زیر ، فایل را در دایرکتوری /etc/systemd/system/ بارگیری کنید:

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/

پس از اتمام ، سرویس Gitea را فعال و استارت کنید:

sudo systemctl daemon-reload
sudo systemctl enable --now 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 Sat 2020-01-04 21:27:23 UTC; 3s ago
 Main PID: 14804 (gitea)
    Tasks: 9 (limit: 1152)
   CGroup: /system.slice/gitea.service
           └─14804 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

پیکربندی Gitea

اکنون که Gitea بارگیری و اجرا شده است ، زمان آن رسیده است که نصب را از طریق رابط وب نهایی کنید.

به طور پیش فرض ، Gitea اتصالات موجود در پورت 3000 در همه رابط های شبکه فراخوانی می شود.

اگر فایروال UFW دارید که روی سرور کار می کند ، باید پورت Gitea را باز کنید:

برای اجازه دادن به عبور ترافیک در پورت 3000 ، دستور زیر را وارد کنید:

sudo ufw allow 3000/tcp

مرورگر خود را باز کنید ، آدرس http://YOUR_DOMAIN_IR_IP:3000 را وارد کنید و صفحه ای مشابه با موارد زیر ظاهر می شود:

آموزش نصب Gitea در اوبونتو 18.04

تنظیمات پایگاه داده:

  • Database Type: SQLite3
  • Path : از یک مسیر مطلق استفاده کنید ، /var/lib/gitea/data/gitea.db

تنظیمات عمومی برنامه:

  • Site Title : نام سازمان خود را وارد کنید.
  • Repository Root Path: مخازن پیش فرض /home/git/gitea-repositories .
  • Git LFS Root Path: پیش فرض /var/lib/gitea/data/lfs .
  • Run As Username : git
  • SSH Server Domain: آدرس IP دامنه یا سرور خود را وارد کنید.
  • SSH Port: 22 ، اگر SSH در پورت دیگر است ، آن را تغییر دهید
  • Gitea HTTP Listen Port: 3000
  • Gitea Base URL: از آدرس http و دامنه یا آدرس IP سرور خود استفاده کنید.
  • Log Path: پیش فرض /var/lib/gitea/log

می توانید تنظیمات را در هر زمان با ویرایش پرونده پیکربندی Gitea تغییر دهید.

پس از اتمام ، دکمه ” Install Gitea ” را بزنید. نصب فوری است. پس از اتمام شما به صفحه ورود هدایت می شوید.

روی پیوند “اکنون ثبت نام کنید” کلیک کنید. اولین کاربر ثبت نام شده به طور خودکار به گروه Admin اضافه می شود.

مجوزهای پرونده پیکربندی Gitea را فقط با استفاده از دستور زیر به read-only تغییر دهید:

sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini

Gitea روی دستگاه اوبونتو نصب شده است.

پیکربندی Nginx به عنوانSSL Termination Proxy

این مرحله اختیاری است ، اما بسیار توصیه می شود. برای استفاده از Nginx به عنوان یک پروکسی معکوس ، باید یک دامنه یا زیر دامنه داشته باشید که به IP عمومی سرور شما اشاره می کند. در این آموزش از git.example.com استفاده میکنیم .

ابتدا Nginx را نصب کنید و با استفاده از راهنماهای زیر ، مجوز رایگان Letry 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;
    }
}

فراموش نکنید که git.example.com را با دامنه Gitea خود جایگزین کنید و مسیر صحیح را برای پرونده های گواهی SSL تنظیم کنید. ترافیک HTTP به HTTPS هدایت می شود

برای اعمال تغییرات ، سرویس Nginx را مجدداً راه اندازی کنید :

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

اطمینان حاصل کنید که اطلاعات صحیح سرور SMTP را درج کرده اید.

برای اعمال تغییرات ، سرویس Gitea را مجدداً راه اندازی کنید:

sudo systemctl restart gitea

برای تأیید تنظیمات و ارسال ایمیل آزمایشی ، به سیستم Gitea وارد شوید و به: Site Administration > Configuration > SMTP Mailer Configuration. بروید.

Gitea همچنین به شما امکان می دهد با ایجاد یک webhook وب به Slack وصل شوید و اعلان هایی را به کانال های Slack ارسال کنید.

به روزرسانی Gitea

برای ارتقاء به آخرین نسخه Gitea، به سادگی دانلود کنید و جایگزین فایل باینری کنید.

سرویس Gitea را متوقف کنید:

sudo systemctl stop gitea

آخرین نسخه Gitea را بارگیری کرده و آن را به فهرست /home/git منتقل کنید:

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

سرویس Gitea را شروع کنید:

sudo systemctl restart gitea

نتیجه گیری

این آموزش شما را در نصب Gitea در اوبونتو 18.04 همراهی کرده است.

اکنون باید به صفحه اسناد Gitea مراجعه کرده و یاد بگیرید که چگونه نمونه Gitea خود را پیکربندی کنید و اولین پروژه خود را ایجاد کنید.

Rate this post