
نحوه نصب Gitea در اوبونتو ۲۰٫۰۴
Gitea یک سرور git با کاربرد آسان است که در Go نوشته شده است. Gitea شامل یک ویرایشگر فایل مخزن، ردیابی مسئله پروژه، مدیریت کاربران، اعلانها، ویکی داخلی و موارد دیگر است. Gitea یک برنامه سبک و قابل نصب بر روی سیستم های کم مصرف است. در این مقاله با ما همراه باشید تا به شما عزیزان نحوه نصب و کانفیگ Gitea در اوبونتو ۲۰٫۰۴ را توضیح دهیم.
پیش نیازها :
Gitea از SQLite، PostgreSQL و MySQL/MariaDB به عنوان پسوند دیتابیس پشتیبانی می کند. SQLite فقط برای نصب های کوچک توصیه می شود. نصب های بزرگتر باید از MySQL یا PostgreSQL استفاده کنند. ما از SQLite به عنوان دیتابیس برای Gitea استفاده خواهیم کرد. اگر SQLite روی سیستم اوبونتو نصب نشده است می توانید با وارد کردن دستورات زیر به عنوان کاربر sudo آن را نصب کنید:
sudo apt update
sudo apt install sqlite3
نصب Gitea :
Gitea تصاویر Docker را ارائه می دهد و می تواند از سورس، باینری و به عنوان یک بسته نصب شود. ما Gitea را از باینری نصب خواهیم کرد.
Git را نصب کنید :
اولین قدم نصب Git بر روی سرور خود است:
sudo apt update
sudo 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
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.1
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,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-reload
sudo 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/gitea
sudo chmod 640 /etc/gitea/app.ini
کانفیگ 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;
}
}
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
sudo systemctl restart gitea
ارتقاء 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-amd64
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
sudo systemctl restart gitea
جمع بندی :
در این آموزش شما را در نصب Gitea در اوبونتو ۲۰٫۰۴ راهنمایی کردیم. برای اطلاعات بیشتر در مورد نحوه کانفیگ نمونه Gitea و ایجاد اولین پروژه خود، از صفحه مستندات Gitea دیدن کنید.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊
برچسب ها: دستورات لینوکس
ارسال دیدگاه جدید