نحوه نصب Gitea در CentOS 8

نحوه نصب Gitea در CentOS 8

زهرا عزتی

itea یک سرور git با منبع آزاد است که در Go نوشته شده است. این برنامه با یک ویرایشگر پرونده مخزن ، پیگیری مسئله پروژه ، مدیریت کاربران ، اعلان ها ، ویکی داخلی و موارد دیگر همراه است. Gitea یک برنامه سبک وزن است و قابل نصب بر روی سیستم های کم قدرت تر است. این مقاله نحوه نصب Gitea را در CentOS 8 به شما نشان می دهد. با ما در شتابان هاست همراه باشيد.

پیش نیازها

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

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

sudo dnf install sqlite

ما فرض می کنیم SELinux غیرفعال است یا در حالت مجاز قرار دارد.

نصب Gitea

Gitea را می توان از مبدأ ، binary به عنوان یک بسته نصب کرد. همچنین می تواند به عنوان تصویر Docker مستقر شود. ما Gitea را با استفاده از thr binary نصب خواهیم کرد.

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

sudo dnf install git

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

git --version
git version 2.18.4

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

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

sudo useradd \   --system \   --shell /bin/bash \   --comment 'Git Version Control' \   --create-home \   --home /home/git \   git

دستور کاربر و گروه جدیدی به نام git ایجاد می کند و فهرست خانه را بر روی / home / git تنظیم می کند.

دانلود Gitea binary
آخرین Gitea binary را می توانید از صفحه Gitea دانلود کنید. حتماً binary مناسب برای معماری خود دانلود کنید.

اگر نسخه جدید در دسترس است ، متغیر VERSION را در دستور زیر تغییر دهید.

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

VERSION=1.12.3sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

می توانید 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,indexers,public,log}sudo chown git: /var/lib/gitea/{data,indexers,log}sudo chmod 750 /var/lib/gitea/{data,indexers,log}sudo mkdir /etc/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea

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

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

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

با تایپ کردن فایل به آدرس / etc / systemd / system / Directory بروید:

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/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 Sat 2020-01-04 21:27:23 UTC; 3s ago
 Main PID: 14804 (gitea)
    Tasks: 9 (limit: 1152)
   CGroup: /system.slice/gitea.service
           └─۱۴۸۰۴ /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Gitea را پیکربندی کنید

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

به طور پیش فرض ، Gitea اتصالات موجود در پورت ۳۰۰۰ را در همه رابط های شبکه گوش می دهد. برای فعال کردن دسترسی به رابط وب Gitea باید firewall خود را پیکربندی کنید:

sudo firewall-cmd --permanent --zone=public --add-port=3000/tcpsudo firewall-cmd --reload

مرورگر خود را باز کنید ،

http: // YOUR_DOMAIN_IR_IP: 3000 / نصب را وارد کنید ، و صفحه تنظیمات اولیه ظاهر می شود

نحوه نصب Gitea در CentOS 8

زمینه های مورد نیاز را به شرح زیر پر کنید:

تنظیمات بانک اطلاعاتی:

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

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

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

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

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

برای ایمن تر کردن نصب ، مجوزهای فایل پیکربندی Gitea را فقط با استفاده از تايپ عبارت زير تغییر دهید:

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

Gitea در دستگاه CentOS شما نصب شده است.

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

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

ابتدا Nginx را نصب کنید و با استفاده از راهنماهای زیر ، مجوز رمزگذاری SSL را به صورت رایگان ایجاد کنید:

نحوه نصب Nginx در CentOS 8

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

sudo nano /etc/nginx/conf.d/git.example.com.conf
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 استفاده می کنید.

هر بار که فایل app.ini را ویرایش می کنید ، باید سرویس Gitea را مجدداً برای تغییر اعمال کنید:

sudo systemctl restart gitea

برای تأیید تنظیمات و ارسال ایمیل آزمایشی ، به سیستم Gitea وارد شوید و به: مدیریت سایت> پیکربندی> پیکربندی پست الکترونیکی SMTP بروید.

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

ارتقاء Gitea

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

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

sudo systemctl stop gitea

۲) آخرین binary 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 در CentOS 8 را نشان داده ایم. ما را در شتابان هاست دنبال كنيد.

برچسب ها: دستورات لينوكس

ارسال دیدگاه جدید