نحوه نصب Gitea در اوبونتو ۲۰٫۰۴

نحوه نصب Gitea در اوبونتو ۲۰٫۰۴

سعیده مهاجری

Gitea یک سرور git با کاربرد آسان است که در Go نوشته شده است. این برنامه با یک ویرایشگر پرونده مخزن ، پیگیری مسئله پروژه ، مدیریت کاربر ، اعلان ها ، ویکی داخلی و موارد دیگر همراه است. این سرور یک برنامه سبک است و می تواند روی سیستم های کم مصرف نصب شود. در این مقاله ما به شما عزیزان نحوه نصب و کانفیگ Gitea در اوبونتو ۲۰٫۰۴ را توضیح خواهیم داد.

پیش نیازها :

Gitea از SQLite ، PostgreSQL و MySQL / MariaDB به عنوان پسوند پایگاه داده پشتیبانی می کند. SQLite فقط برای نصب های کوچک توصیه می شود. نصب های بزرگتر باید از MySQL یا PostgreSQL استفاده کنند. از SQLite به عنوان پایگاه داده این سرور استفاده کنید. اگر SQLite روی سیستم اوبونتو شما نصب نشده است ، آن را با وارد کردن دستورات زیر به عنوان sudo user نصب کنید:

sudo apt updatesudo apt install sqlite3

نصب Gitea :

Gitea تصاویر Docker را ارائه می دهد و می تواند از منبع ، binary و به عنوان یک package نصب شود. این سرور را با استفاده از binary نصب کنید.

نصب Git :

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

sudo apt updatesudo apt install git

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

git --version
git version 2.25.1

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

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

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

دستور بالا یک کاربر و گروه جدید به نام git ایجاد می کند و دایرکتوری home را روی / home / 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 binary :

به صفحه دانلود این سرور بروید و آخرین نسخه binary معماری خود را دانلود کنید. اگر نسخه جدیدی در دسترس است ، متغیر VERSION را در دستور زیر تغییر دهید. برای دانلود Gitea binary در دایرکتوری / tmp از wget استفاده کنید:
VERSION=1.14.1sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

می توانید gitea binary را از هر مکانی اجرا کنید. کنوانسیون را دنبال کنید و binary را به دایرکتوری / usr / local / bin منتقل کنید:

sudo mv /tmp/gitea /usr/local/bin

binary را قابل اجرا کنید:

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/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea

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

یک فایل Systemd Unit ایجاد کنید :

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-reloadsudo 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 در اوبونتو 20.04

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

  • نوع پایگاه داده: SQLite3
  • مسیر: از یک مسیر مطلق استفاده کنید ، /var/lib/gitea/data/gitea.db

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

  • عنوان سایت: نام سازمان خود را وارد کنید.
  • Repository Root Path – مخازن پیش فرض / home / git / gitea را ترک کنید.
  • Git LFS Root Path: پیش فرض / var / lib / gitea / data / lfs را ترک کنید.
  • به عنوان نام کاربری اجرا کنید: git
  • دامنه سرور SSH: آدرس IP دامنه یا سرور خود را وارد کنید.
  • پورت ۲۲ : اگر SSH در پورت دیگر پذیرفته شود آن را تغییر دهید
  • Gitea HTTP Listen Port: 3000
  • Gitea Base URL: از http و آدرس IP دامنه یا سرور خود استفاده کنید.
  • Log Log: پیش فرض / var / lib / gitea / log را ترک کنید

با ویرایش فایل کانفیگ Gitea می توانید تنظیمات را در هر زمان تغییر دهید. برای شروع نصب ، دکمه “Install Gitea” را بزنید. نصب فورا صورت میگیرد. پس از اتمام ، شما به صفحه ورود هدایت خواهید شد. بر روی “Register now ” کلیک کنید. اولین کاربر ثبت شده به طور خودکار به گروه مدیر اضافه می شود. مجوزهای فایل کانفیگ Gitea را با تایپ دستور زیر تغییر دهید:

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

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

پیکربندی Nginx به عنوان پروکسی خاتمه SSL :

این مرحله اختیاری است ، اما بسیار توصیه می شود. خاتمه SSL به این معنی است که Nginx به عنوان یک واسطه بین برنامه Gitea و کلاینت های وب عمل می کند بنابراین شما می توانید از طریق HTTPS به این سرور دسترسی پیدا کنید. برای استفاده از Nginx به عنوان یک پروکسی معکوس ، باید یک دامنه یا زیر دامنه داشته باشید که به IP عمومی سرور خود اشاره دارد. در این مثال ، از git.example.com استفاده کنید. ابتدا Nginx را نصب کنید و با استفاده از راهنماهای زیر ، مجوز رمزگذاری SSL را به صورت رایگان ایجاد کنید:

نحوه نصب Nginx در اوبونتو ۲۰٫۰۴ :

  • Nginx را امن کنید و اجازه دهید در اوبونتو ۲۰٫۰۴ رمزگذاری شود

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

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

دامنه این سرور و آدرس root را تغییر دهید. برای انجام این کار ، فایل کانفیگ را باز کنید و دستورات زیر را ویرایش کنید:

sudo nano /etc/gitea/app.ini
[server]
DOMAIN           = git.example.com
ROOT_URL         = https://git.example.com/

این سرور را با وارد کردن دستور زیر دوباره راه اندازی کنید:

sudo systemctl restart 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 را قرار داده اید. برای اعمال تغییرات ، این سرور را مجدداً راه اندازی کنید:

sudo systemctl restart gitea

برای تأیید تنظیمات و ارسال ایمیل آزمایشی ، وارد این سرور شوید و به: Site Management> Configuration> SMTP Mailer Configuration بروید. این سرور همچنین به شما امکان می دهد تا با ایجاد یک وب webhook به Slack متصل شوید و اعلان ها را به کانال های Slack خود ارسال کنید.

به روزرسانی Gitea :

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

۱_ سرویس 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-amd64sudo mv /tmp/gitea /usr/local/bin

۳_ binary را قابل اجرا کنید:

sudo chmod +x /usr/local/bin/gitea

۴_ سرویس Gitea را مجدداً راه اندازی کنید:

sudo systemctl restart gitea

جمع بندی :

ما به شما نحوه نصب و کانفیگ  Gitea در اوبونتو ۲۰٫۰۴ را نشان دادیم.

امیدواریم مطالب مورد پسند بوده باشد.

ما را در شتابان هاست همراهی کنید.

برچسب ها: دستورات لینوکس