> [!quote] [Источник](https://kodprog.ru/ustanovka-gitea-v-ubuntu-2204#gsc.tab=0)

## Установка Gitea в Ubuntu 22.04

Перейдём к установке gitea:
Следующей командой скачаю gitea:

```bash
wget -O gitea https://dl.gitea.com/gitea/1.20.5/gitea-1.20.5-linux-amd64
```
Где 1.20.5 - это версия gitea.
И предоставлю ей права на выполнение:
```bash
chmod +x gitea
```

После этого надпись gitea стала зелёной и слева в строчке везде появилась X:

![[Pasted image 20240915235906.png]]

Далее загружу gpg ключ:

```bash
gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
```

И скачаю asc файл для верификации:

```bash
wget -O gitea.asc https://dl.gitea.com/gitea/1.20.5/gitea-1.20.5-linux-amd64.asc
```

Теперь запущу верификацию:

```bash
gpg --verify gitea.asc gitea
```

И должна выйти строчка хорошая подпись несмотря на предупреждение:
![[Pasted image 20240915235942.png]]
В данном случае файл подлинный и его можно использовать.

Далее создам необходимые папки:

```bash
mkdir -p /var/lib/gitea/{custom,data,log}
```

Создам нового пользователя git:

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

И назначу права на папки:

```bash
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
```

Для того, чтобы установка прошла успешно, устанавливаются полные права на файлы, которые после установки желательно понизить:

```bash
chmod 770 /etc/gitea
```

Далее копирую gitea в глобальный путь:

```bash
sudo cp gitea /usr/local/bin/gitea
```

Включаю автозаполнение создав данную настройку:

```bash
sudo nano /usr/share/bash-completion/completions/gitea
```

С содержимым из [[File_1]]


![[Pasted image 20240915235958.png]]

И теперь необходимо создать сервис gitea. Для этого необходимо создать файл:

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

Со следующим содержимым из [[File_Gitea_service]]
![[Pasted image 20240916000017.png]]

В котором раскомментировать строчки напротив используемой базы данных, в моём случае это mysql

![[Pasted image 20240916000033.png]]

Включаю сервис gitea для того, чтобы он запускался во время запуска системы:

```bash
sudo systemctl enable gitea
```

И запускаю его:

```bash
sudo systemctl start gitea
```
Здесь я подумал то, что всё зависло, и спустя какое-то время команда выдаёт ошибку timeout:
![[Pasted image 20240916000057.png]]
Но на самом деле нужно было открыть браузер и перейти по пути [http://localhost:3000/](http://localhost:3000/).

>[!quote] 
>После команды консоль подвиснет и появится ошибка, **НО** нужно прописать ip сервера и порт 3000 (пример http://212.16.94.33:3000

Здесь необходимо указать пароль и поменять имя баз данных на giteadb:

![[Pasted image 20240916000119.png]]
>[!quote] 
>Откроется начальная конфигурация где нужно заполнить:
>1) в поле тип базы данных нужно указать SQLite3
>2) В название указать название сервиса
>3) Оставляем свой ip
>4) В базовый url пишем домен (пример http://stitch505.ru/) (

Открываем Настройки учётной записи администратора и указываем данные

После этого пролистать вниз и нажать установить Gitea.

Далее зарегистрирую новый аккаунт:
![[Pasted image 20240916000223.png]]

И создам новый репозиторий нажав на плюс в правом верхнем углу
![[Pasted image 20240916000244.png]]
Переход в [[Синхронизация PC]]