itea یک سرور git با منبع آزاد است که در Go نوشته شده است. این برنامه با یک ویرایشگر پرونده مخزن ، پیگیری مسئله پروژه ، مدیریت کاربران ، اعلان ها ، ویکی داخلی و موارد دیگر همراه است. Gitea یک برنامه سبک وزن است و قابل نصب بر روی سیستم های کم قدرت تر است. این مقاله نحوه نصب Gitea را در CentOS 8 به شما نشان می دهد. با ما در شتابان هاست همراه باشيد.
براي نصب Gitea ابتدا از SQLite ، PostgreSQL و MySQL / MariaDB به عنوان پسوند ديتابيس پشتیبانی می کند.
ما از SQLite استفاده خواهیم کرد. این یک ديتابيس سبک است که داده ها را در یک پرونده واحد ذخیره می کند. اگر SQLite روی دستگاه CentOS شما نصب نشده است می توانید با اجرای دستور زیر به عنوان کاربر sudo آن را نصب کنید:
sudo dnf install sqlite
ما فرض می کنیم SELinux غیرفعال است یا در حالت مجاز قرار دارد.
Gitea را می توان از مبدأ ، binary به عنوان یک بسته نصب کرد. همچنین می تواند به عنوان تصویر Docker مستقر شود. ما Gitea را با استفاده از thr binary نصب خواهیم کرد.
Git را نصب کنید
اولین قدم نصب Git در CentOS خود است:
sudo dnf install git
با نمایش نسخه Git ، نصب را تأیید کنید:
git --version
git version 2.18.4
برای اجرای برنامه 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.3
sudo 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/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
ساختار دایرکتوری بالا توسط اسناد رسمی Gitea توصیه می شود.
مجوزهای فهرست / etc / gitea روی ۷۷۰ تنظیم شده است تا جادوگر نصب بتواند فایلهای پیکربندی را ایجاد کند. پس از اتمام نصب ، مجوزهای محدود کننده بیشتری را تنظیم خواهیم کرد.
با تایپ کردن فایل به آدرس / 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-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 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 باید firewall خود را پیکربندی کنید:
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --reload
مرورگر خود را باز کنید ،
http: // YOUR_DOMAIN_IR_IP: 3000 / نصب را وارد کنید ، و صفحه تنظیمات اولیه ظاهر می شود
زمینه های مورد نیاز را به شرح زیر پر کنید:
تنظیمات بانک اطلاعاتی:
تنظیمات عمومی برنامه:
پس از اتمام ، دکمه “نصب Gitea” را بزنید. نصب فوری است. پس از اتمام شما به صفحه ورود هدایت می شوید.
روی پیوند “اکنون ثبت نام کنید” کلیک کنید. اولین کاربر ثبت نام شده به طور خودکار به گروه Admin اضافه می شود.
برای ایمن تر کردن نصب ، مجوزهای فایل پیکربندی Gitea را فقط با استفاده از تايپ عبارت زير تغییر دهید:
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini
Gitea در دستگاه CentOS شما نصب شده است.
این مرحله اختیاری است ، اما بسیار توصیه می شود. برای استفاده از Nginx به عنوان یک پروکسی معکوس ، باید یک دامنه یا زیر دامنه داشته باشید که به IP عمومی سرور شما اشاره می کند. در این آموزش از git.example.com استفاده خواهیم کرد.
ابتدا Nginx را نصب کنید و با استفاده از راهنماهای زیر ، مجوز رمزگذاری SSL را به صورت رایگان ایجاد کنید:
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-amd64
sudo mv /tmp/gitea /usr/local/bin
۳)binary را اجرایی کنید:
sudo chmod +x /usr/local/bin/gitea
۴) سرویس Gitea را مجدداً راه اندازی کنید:
sudo systemctl restart gitea
ما به شما نحوه نصب Gitea در CentOS 8 را نشان داده ایم. ما را در شتابان هاست دنبال كنيد.