نحوه نصب Gitea در اوبونتو 18.04

Gitea یک سیستم کنترل نسخه آزاد و متناسب با میزبان است که از git استفاده می شود. Gitea در Golang نوشته شده است و یک راه حل سبک است که باید روی هر سیستم عامل میزبانی شود.

پیش نیازها

  • نمونه جدید Vultr اوبونتو 18.04 با حداقل 2 هسته CPU و 1 GB RAM
  • کاربر غیر ریشه با امتیازات sudo.
  • نگینکس
  • گیت
  • MariaDB

مرحله 1: Nginx را نصب کنید

به عنوان مثال سرور Vultr Ubuntu 18.04 خود را به روز کنید.

sudo apt update

Nginx را نصب کنید.

sudo apt -y install nginx

پس از نصب Nginx ، با مرور صفحه تست nginx در مرورگر ، آزمایش کنید که کار می کند یا خیر. مرورگر وب خود را باز کرده و به آن اشاره کنیدhttp://example.com

از دستورات زیر می توان برای متوقف کردن ، بارگیری مجدد ، راه اندازی مجدد ، بررسی وضعیت و فعال سازی Nginx استفاده کرد.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl restart nginx.service
sudo systemctl reload nginx.service
sudo systemctl enable nginx.service

مرحله 2: نصب Git

Git را نصب کنید.

sudo apt -y install git

پس از نصب ، نسخه را بررسی کنید:

git --version
git version 2.17.1

مرحله 3: سرور بانک اطلاعاتی MariaDB را نصب کنید

Gitea از پایگاه داده های زیر پشتیبانی می کند

  • MariaDB / MySQL
  • PostgreSQL
  • SQLite
  • TiDB

برای این آموزش سرور و مشتری مشتری MariaDB را نصب خواهیم کرد.

sudo apt -y install mariadb-server mariadb-client

پس از نصب MariaDB ، از دستورات زیر می توان برای متوقف کردن ، شروع ، راه اندازی مجدد ، بررسی وضعیت و فعال کردن آن استفاده کرد.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl restart mariadb.service
sudo systemctl status mariadb.service
sudo systemctl enable mariadb.service

پس از آن ، دستور زیر را اجرا کنید تا سرور MariaDB با ایجاد رمزعبور root و غیرفعال کردن دسترسی از راه دور ریشه ایمن شود.

sudo mysql_secure_installation

در صورت درخواست ، با دنبال کردن راهنما به سوالات زیر پاسخ دهید.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

راه اندازی مجدد MariaDB.

sudo systemctl restart mariadb.service

برای آزمایش اینکه MariaDB نصب شده است ، دستور زیر را وارد کنید تا وارد سرور MariaDB شوید

sudo mysql -u root -p

سپس برای ورود به سیستم ، رمز عبوری را که در بالا ایجاد کردید تایپ کنید. پیام خوش آمدید MariaDB را مشاهده خواهید کرد.

ایجاد یک پایگاه داده به نام gitea.

CREATE DATABASE gitea;

یک کاربر پایگاه داده giteauserبا نام رمز جدید ایجاد کنید.

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

سپس دسترسی کامل به دیتابیس را به کاربر اعطا کنید.

GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

در آخر ، تغییرات خود را ذخیره کرده و از آن خارج شوید.

FLUSH PRIVILEGES;
EXIT;

مرحله 4: محیط Gitea را آماده کنید

برای اجرای Gitea یک کاربر ایجاد کنید.

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

ساختار دایرکتوری مورد نیاز را ایجاد کنید.

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: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

مرحله 5: نصب گیتا

با اجرای فرامین زیر ، باینری گیتا قابل بارگیری است.

sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo chmod +x gitea

باینری را در یک مکان جهانی کپی کنید.

sudo cp gitea /usr/local/bin/gitea

مرحله ششم: یک فایل سرویس ایجاد کنید تا به طور خودکار Gitea شروع شود

یک فایل سرویس linux ایجاد کنید.

sudo nano /etc/systemd/system/gitea.service

پرونده را با موارد زیر جمع کنید.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Gitea را فعال کنید و شروع کنید.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

دستور وضعیت را اجرا کنید.

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
  Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
  Active: active (running) since Wed 2018-10-10 14:15:28 CDT; 19ms ago
 Main PID: 17769 (gitea)
   Tasks: 4 (limit: 2321)
  CGroup: /system.slice/gitea.service
       ├─17769 /usr/local/bin/gitea web -c /etc/gitea/app.ini
       └─17774 /usr/local/bin/gitea web -c /etc/gitea/app.ini

مرحله 7: Nginx را به عنوان یک پروکسی معکوس پیکربندی کنید

پرونده پیش فرض پیکربندی nginx را حذف کنید.

sudo rm /etc/nginx/sites-enabled/default

یک پیکربندی پروکسی معکوس برای Gitea ایجاد کنید.

sudo nano /etc/nginx/sites-available/git

پرونده را با پیکربندی زیر جمع کنید.

upstream gitea {
    server 127.0.0.1:3000;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com;
    root /var/lib/gitea/public;
    access_log off;
    error_log off;

    location / {
      try_files maintain.html $uri $uri/index.html @node;
    }

    location @node {
      client_max_body_size 0;
      proxy_pass http://localhost:3000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;
      proxy_redirect off;
      proxy_read_timeout 120;
    }
}

پیکربندی پروکسی معکوس Gitea Nginx را فعال کنید.

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled

سپس سرویس Nginx را بارگیری مجدد کنید.

sudo systemctl reload nginx.service

در مرحله بعد مرورگر خود را باز کرده و روی نام میزبان سرور یا آدرس IP مرور کنید.

http://example.com/install

برای تکمیل تنظیم Gitea ، دستورالعمل های روی صفحه را دنبال کنید.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد