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

نصب و پیکربندی Gogs در Ubuntu 18.04

نصب و پیکربندی Gogs در Ubuntu 18.04

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

قبل از اینکه شروع کنید

Gogs می توانند از ديتابيس SQLite ، PostgreSQL یا MySQL / MariaDB برای ذخیره اطلاعات خود استفاده کنند.

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

sudo apt install sqlite3

برای ایجاد یک لایه امنیتی بیشتر ، توصیه می شود یک فایروال اساسی تنظیم کنید. شما می توانید مراحل راهنمای راه اندازی فایروال با UFW در راهنمای اوبونتو ۱۸٫۰۴ را دنبال کنید.

۱) نصب Gogs

ما Gogs را از binary نصب خواهیم کرد.

اولین قدم نصب Git روی سرور شماست. برای انجام این کار ، فهرست بسته محلی را تازه کنید و با اجرای دستورات زیر به عنوان کاربر sudo ، بسته git را نصب کنید:

sudo apt update
sudo apt install git

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

git --version
git version 2.17.1

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

با تایپ کردن کاربر سیستم جدیدی را برای اجرای سرویس Gogs ایجاد کنید:

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' 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' ...

۳) Gogs binary را بارگيري كنيد

از صفحه بارگیری Gogs دیدن کرده و آخرین binary را برای خود بارگیری کنید. آخرین نسخه ۰٫۱۱٫۸۶ است ، اگر نسخه جدید موجود است ، متغیر VERSION را در دستور زیر تغییر دهید.

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

ERSION=0.11.86wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp

پس از اتمام بارگیری ، فایل Gogs tar.gz را استخراج کرده و آن را به فهرست / home / git منتقل کنید:

 

sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

دستور زیر را تغییر دهید تا مالکیت دایرکتوری نصب Gogs را به کاربر و گروه git تغییر دهید:

sudo chown -R git: /home/git/gogs

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

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

sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

 

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

sudo systemctl start gogs
sudo systemctl enable gogs

تأیید کنید که این سرویس با موفقیت شروع شده است:

gogs.service - Gogs
   Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago
 Main PID: 14376 (gogs)
    Tasks: 8 (limit: 2319)
   CGroup: /system.slice/gogs.service
           `-۱۴۳۷۶ /home/git/gogs/gogs web

 

۴) gogs را با استفاده از نصاب وب نصب کنید

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

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

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

روی پیوند “Sign up now” کلیک کنید.

 

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

 

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

 

۵) پیکربندی Nginx به عنوان پروکسی SSL

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

ابتدا Nginx را نصب کنید.

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

sudo nano /etc/nginx/sites-enabled/gogs.example.com
server {
listen 80;
server_name gogs.example.com;
include snippets/letsencrypt.conf;
return 301 https://gogs.example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name gogs.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/gogs.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem;
include snippets/letsencrypt.conf;
include snippets/ssl.conf;
# log files
access_log /var/log/nginx/gogs.example.com.access.log;
error_log /var/log/nginx/gogs.example.com.error.log;
# Handle / requests
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:3000;
}
}

 

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

sudo systemctl restart nginx

در مرحله بعد ، باید دامنه Gogs و url root را تغییر دهیم. برای انجام این کار ، پرونده پیکربندی را باز کرده و خطوط زیر را ویرایش کنید:

sudo nano /home/git/gogs/custom/conf/app.ini
server]
DOMAIN           = gogs.example.com
ROOT_URL         = https://gogs.example.com/

سرویس Gogs را با تایپ مجدد شروع کنید:

sudo systemctl restart gogs

در این مرحله ، gogs پیکربندی شده است و می توانید به آن دسترسی داشته باشید: https://gogs.example.com

پیکربندی اعلان های ایمیل

به منظور اینکه Gogs بتواند ایمیل اعلان ارسال کند ، می توانید Postfix را نصب کنید یا از برخی سرویس های ایمیل متقابل مانند SendGrid ، MailChimp ، MailGun یا SES استفاده کنید.

برای فعال کردن اعلان های ایمیل ، پرونده پیکربندی را باز کرده و خطوط زیر را ویرایش کنید:

sudo nano /home/git/gogs/custom/conf/app.ini
mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

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

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

sudo systemctl restart gogs

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

به روزرسانی Gogs

برای به روزرسانی Gogs ، چندین مرحله دستی لازم است.

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

sudo systemctl stop gogs

۲) دایرکتوری نصب Gogs را تغییر نام دهید.

sudo mv /home/git/gogs{,_old}

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

VERSION=<THE_LATEST_GOGS_VERSION>wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmpsudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

اطمینان حاصل کنید که VERSION را با نسخه واقعی نسخه Gogs تغییر داده اید.

۴) با استفاده از دستور rsync زیر ، دایرکتوری ها را در فهرست استخراج شده کپی کنید:

sudo rsync -a /home/git/gogs_old/{custom,data,log,gogs.db} /home/git/gogs/

۵) سرانجام ، سرویس Gogs را شروع کنید:

sudo systemctl restart gogs

این مقاله شما را از طریق نصب و تنظیمات Gogs در اوبونتو ۱۸٫۰۴ طی کرده است. اکنون می توانید اولین پروژه خود را ایجاد کرده و شروع به استفاده از سرور جدید Gogs کنید. ما را در شتابان هاست دنبال كنيد.

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