Gitea е бърз и лесен за използване самостоятелно хостван git сървър, написан в Go. Включва редактор на файлове на хранилище, проследяване на проблеми с проекти, управление на потребители, известия, вградена wiki и много други.
Gitea е леко приложение и може да се инсталира на системи с ниска мощност. Ако търсите алтернатива на Gitlab с много по-малък отпечатък на паметта и не ви трябват всички камбани, които Gitlab предлага, тогава трябва да опитате с Gitea.
Тази статия обяснява как да инсталирате и конфигурирате Gitea на Ubuntu 20.04.
Предпоставки #
Gitea поддържа SQLite, PostgreSQL и MySQL / MariaDB като бекенд на базата данни.
SQLite се препоръчва само за малки инсталации. По-големите инсталации трябва да използват MySQL или PostgreSQL.
Ще използваме SQLite като база данни за Gitea. Ако SQLite не е инсталиран на вашата система Ubuntu, инсталирайте го, като въведете следните команди като sudo потребител:
sudo apt актуализация
sudo apt инсталира sqlite3
Инсталиране на Gitea #
Gitea предоставя изображения на Docker и може да се инсталира от източник, двоичен файл и като пакет. Ще инсталираме Gitea от двоичен файл.
Инсталирайте Git #
Първата стъпка е да инсталирате Git на вашия сървър:
sudo apt актуализация
sudo apt инсталирайте git
Проверете инсталацията, като покажете версията на Git:
git --версия
git версия 2.25.1
Създайте потребител на Git
Създайте нов системен потребител, който ще стартира приложението Gitea, като напишете:
sudo adduser \
--система \
--shell / bin / bash \
--gecos 'Контрол на версиите на Git' \
--група \
--деактивирана парола \
--home / home / git \
git
Командата по-горе създава нов потребител и група с име git
, и задайте началната директория на / home / git
. Резултатът ще изглежда по следния начин:
Добавяне на системен потребител 'git' (UID 112) ... Добавяне на нова група 'git' (GID 118) ... Добавяне на нов потребител 'git' (UID 112) с група 'git' ... Създаване на домашна директория '/ home / git' ..
Изтеглете двоичен файл на Gitea #
Насочете се към страницата за изтегляне на Gitea и изтеглете най-новия двоичен файл за вашата архитектура. По време на писането последната версия е 1.10.2. Ако има нова версия, променете ВЕРСИЯ
променлива в командата по-долу.
Използвайте wget
за да изтеглите двоичния файл на Gitea в / tmp
директория:
ВЕРСИЯ = 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.
Разрешенията на / и т.н. / gitea
директория са зададени на 770
така че съветникът за инсталиране да може да създаде конфигурационния файл. След като инсталацията приключи, ще зададем по-ограничителни разрешения.
Създайте файл на Systemd Unit #
Ще стартираме Gitea като системна услуга.
Изтеглете примерния файл от системен модул в / etc / systemd / system
директория, като напишете:
sudo wget https: // raw.githubuserсъдържание.com / go-gitea / gitea / main / contrib / systemd / gitea.услуга -P / etc / systemd / system /
Не е необходимо да редактирате файла, той е конфигуриран да съответства на нашата настройка.
Активирайте и стартирайте услугата Gitea:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
Проверете дали Gitea работи:
sudo systemctl статус gitea
● gitea.услуга - Gitea (Git с чаша чай) Заредено: заредено (/ etc / systemd / system / gitea.обслужване; активиран; предварително зададен от доставчика: активиран) Активен: активен (работи) от четвъртък 2021-05-06 05:32:04 UTC; Преди 7s Основен PID: 77781 (gitea) Задачи: 6 (ограничение: 470) Памет: 130.6M CGroup: / система.филия / gitea.услуга └─77781 / usr / local / bin / gitea web --config / etc / gitea / app.ini ..
Конфигурирайте Gitea #
След като Gitea е изтеглена и работи, можем да завършим инсталацията чрез уеб интерфейса.
По подразбиране Gitea слуша връзки на порт 3000
на всички мрежови интерфейси.
Ако на сървъра ви работи защитна стена UFW, ще трябва да отворите порта Gitea. За да позволите трафик на пристанището 3000
, въведете следната команда:
sudo ufw позволяват 3000 / tcp
Отворете браузъра си, напишете http: // YOUR_DOMAIN_IR_IP: 3000
, и ще се появи екран, подобен на следния:
Настройки на базата данни:
- Тип база данни: SQLite3
- Път: Използвайте абсолютен път,
/ var / lib / gitea / data / gitea.db
Общи настройки на приложението:
- Заглавие на сайта: Въведете името на вашата организация.
- Основен път на хранилището: Оставете по подразбиране
var / lib / gitea / data / gitea-хранилища
. - Корен път на Git LFS: Оставете подразбирането
/ var / lib / gitea / data / lfs
. - Стартирайте като потребителско име: git
- Домейн на SSH сървъра: Въведете вашия домейн или IP адрес на сървъра.
- SSH порт: 22, променете го, ако SSH слуша на друг порт
- Gitea HTTP порт за слушане: 3000
- Основен URL адрес на Gitea: Използвайте http и IP адреса на вашия домейн или сървър.
- Log Path: Оставете подразбиране
/ var / lib / gitea / log
За да започнете инсталацията, натиснете бутона „Инсталиране на Gitea“.
Инсталацията е незабавна. След като приключите, ще бъдете пренасочени към страницата за вход.
Кликнете върху „Нуждаете се от акаунт? Регистрирай се сега.”Връзка. Първият регистриран потребител се добавя автоматично към администраторската група.
Променете разрешенията на конфигурационния файл на Gitea на само за четене, като използвате:
sudo chmod 750 / etc / gitea
sudo chmod 640 / etc / gitea / app.ini
Това е. Gitea е инсталирана на вашата машина Ubuntu.
Конфигуриране на Nginx като SSL терминален прокси номер
Тази стъпка не е задължителна, но е силно препоръчителна. Прекратяването на SSL означава, че Nginx ще действа като посредническа точка между приложението Gitea и уеб клиентите, за да имате достъп до Gitea чрез HTTPS.
За да използвате Nginx като обратен прокси, трябва да имате домейн или поддомейн, сочещ към публичния IP на вашия сървър. В този пример ще използваме git.пример.com
.
Първо инсталирайте Nginx и генерирайте безплатен Let's Encrypt SSL сертификат, като използвате ръководствата по-долу:
- Как да инсталирам Nginx на Ubuntu 20.04
- Защитете Nginx с Let's Encrypt на Ubuntu 20.04
След като приключите, отворете вашия текстов редактор и редактирайте файла на блока на сървъра на домейн:
sudo nano / etc / nginx / sites-enabled / git.пример.com
/ etc / nginx / sites-enabled / git.пример.comсървър слуша 80; име_на сървър git.пример.com; включва фрагменти / letsencrypt.conf; връщане 301 https: // git.пример.com $ request_uri; сървър слушане 443 ssl http2; име_на сървър git.пример.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50м; # Прокси заглавки proxy_set_header X-Forwarded-Host $ host; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ схема; proxy_set_header X-Real-IP $ remote_addr; # SSL параметри ssl_certificate / etc / letsencrypt / live / git.пример.com / пълна верига.пем; ssl_certificate_key / etc / letsencrypt / live / git.пример.com / privkey.пем; ssl_trusted_certificate / etc / letsencrypt / live / git.пример.com / верига.пем; включва фрагменти / letsencrypt.conf; включва фрагменти / ssl.conf; # регистрационни файлове access_log / var / log / nginx / git.пример.com.достъп.дневник; error_log / var / log / nginx / git.пример.com.грешка.дневник; # Обработва / заявява местоположение / proxy_redirect off; proxy_pass http: // 127.0.0.1: 3000;
Не забравяйте да замените git.пример.com с вашия Gitea домейн и задайте правилния път към файловете за SSL сертификати. HTTP трафикът се пренасочва към HTTPS
Рестартирайте услугата Nginx, за да влязат в сила промените:
sudo systemctl рестартирайте nginx
След това променете домейна на Gitea и главния URL адрес. За целта отворете конфигурационния файл и редактирайте следните редове:
sudo nano / etc / gitea / app.ini
/ etc / gitea / app.ini[сървър] DOMAIN = git.пример.com ROOT_URL = https: // git.пример.com /
Рестартирайте услугата Gitea, като напишете:
sudo systemctl рестартирайте gitea
На този етап проксито на Gitea е конфигурирано и можете да получите достъп до него на адрес: https: // git.пример.com
Конфигуриране на известия по имейл #
Ако искате вашият екземпляр на Gitea да изпраща имейли с известия, можете да инсталирате Postfix или да използвате някаква транзакционна пощенска услуга като SendGrid, MailChimp, MailGun или SES.
За да активирате известия по имейл, отворете конфигурационния файл и редактирайте следните редове:
sudo nano / etc / gitea / app.ini
/ 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 рестартирайте gitea
За да проверите настройките и да изпратите тестов имейл, влезте в Gitea и отидете на: Администриране на сайта> Конфигурация> Конфигурация на SMTP Mailer.
Gitea също ви позволява да се свързвате със Slack, като създавате уеб уеб кука и изпращате известия до вашите Slack канали .
Надстройка на Gitea #
За да надстроите до последната версия на Gitea, просто изтеглете и заменете двоичния файл.
Спрете услугата Gitea:
sudo systemctl stop gitea
Изтеглете най-новата версия на Gitea и я преместете в
/ usr / local / bin
директория:ВЕРСИЯ =
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 рестартирайте gitea
Това е.
Заключение №
Този урок ви преведе през инсталацията на Gitea на Ubuntu 20.04. За повече информация как да конфигурирате вашия екземпляр на Gitea и да създадете първия си проект, посетете страницата с документация на Gitea .
Ако имате въпроси, не се колебайте да оставите коментар по-долу.