نماد سایت وبلاگ شتابان هاست

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

نحوه نصب Gitea در اوبونتو 20.04

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

پیش نیازها :

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

sudo apt updatesudo apt install sqlite3

نصب Gitea :

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

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 :

به صفحه دانلود Gitea مراجعه کرده و آخرین باینری را برای معماری سیستم عامل خود دانلود کنید. در زمان نوشتن ، آخرین ورژن ۱٫۱۰٫۲ است. اگر ورژن جدیدی در دسترس است، متغیر VERSION را در دستور زیر تغییر دهید. از wget برای دانلود باینری Gitea در دایرکتوری /tmp استفاده کنید:

VERSION=1.14.1sudo 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 نصب بتواند فایل کانفیگ را ایجاد کند. پس از اتمام نصب، مجوزهای محدودتری را تنظیم خواهیم کرد.

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

ما 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 دانلود و اجرا می شود، می توانیم نصب را از طریق رابط وب نهایی کنیم. به طور پیش فرض ، Gitea اتصالات موجود در پورت ۳۰۰۰ در همه رابط های شبکه فراخوانی می شود. اگر فایروال UFW روی سرور خود دارید، باید پورت Gitea را باز کنید. برای اجازه دادن به عبور ترافیک در پورت ۳۰۰۰، دستور زیر را وارد کنید:

sudo ufw allow 3000/tcp

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

تنظیمات دیتابیس:

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

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

  • Site Title: نام سازمان خود را وارد کنید.
  • Repository Root Path: مخازن پیش فرض var/lib/gitea/data/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 ” را بزنید. روی پیوند “Need an account? Register now” کلیک کنید. اولین کاربر ثبت نام شده به طور خودکار به گروه Admin اضافه می شود. مجوزهای فایل کانفیگ Gitea را فقط با استفاده از دستور زیر به read-only تغییر دهید:

sudo chmod 750 /etc/giteasudo chmod 640 /etc/gitea/app.ini
Gitea روی دستگاه اوبونتو شما نصب شده است.

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

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

  • نحوه نصب Nginx در اوبونتو ۲۰٫۰۴
  • Nginx را با Let’s Encrypt در اوبونتو ۲۰٫۰۴ ایمن کنید

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

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 را دانلود کنید و آن را به دایرکتوری /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
مرحله سوم: باینری را قابل اجرا کنید:
sudo chmod +x /usr/local/bin/gitea
مرحله چهارم: راه اندازی مجدد سرویس Gitea:
sudo systemctl restart gitea

جمع بندی :

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

امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊

 

خروج از نسخه موبایل