آموزش نصب 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 کاهش میدهد.
نصب 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
را وارد کنید و صفحه ای مشابه با موارد زیر ظاهر می شود:
تنظیمات پایگاه داده:
- 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 خود را پیکربندی کنید و اولین پروژه خود را ایجاد کنید.
اولین نفر باشید که نظر ارسال میکنید