Ubuntu 20.04에 Gitea 설치 방법

Ubuntu 20.04에 Gitea 설치 방법

2022-05-16 last update

19 minutes reading git ubuntu gitea
Gitea는 Go로 작성된 빠르고 사용하기 쉬운 자동 위탁 관리git 서버다.그것은 저장소 파일 편집기, 프로젝트 문제 추적, 사용자 관리, 알림, 내장wiki 등을 포함한다.Gitea
저전력 시스템에 설치할 수 있는 경량급 응용 프로그램입니다.만약 메모리가 훨씬 적은 Gitlab 대체품을 찾고 있다면, 이 모든 것을 필요로 하지 않을 것이다. Gitlab
제공, 그럼 기티아를 해봐야지.본고는 Ubuntu 20.04에 Gitea를 설치하고 설정하는 방법을 소개한다.

선결 조건

Gitea 지원 SQLitePostgreSQL
, 및 MySQL
/MariaDB
데이터베이스 백엔드로SQLite는 소형 설치에만 권장됩니다.대규모 설치에는 MySQL 또는 PostgreSQL이 필요합니다.Gitea 데이터베이스로 SQLite 를 사용할 예정입니다.만약 Ubuntu 시스템에 SQLite가 설치되어 있지 않다면 아래 명령sudo user을 입력하여 설치하십시오
:
sudo apt updatesudo apt install sqlite3

Gitea 설치

Gitea는 Docker 이미지를 제공하여 원본 코드, 바이너리 파일과 소프트웨어 패키지에서 설치할 수 있습니다.Binary에서 Gitea를 설치할 것입니다.

설치 Git

첫 번째 단계는 install Git
서버에서:
sudo apt updatesudo apt install git
Git 버전 표시를 통해 설치 확인:
git --version
git version 2.25.1

Git 사용자 생성

Create a new system user
Gitea 프로그램을 실행하려면:
sudo adduser \   --system \   --shell /bin/bash \   --gecos 'Git Version Control' \   --group \   --disabled-password \   --home /home/git \   git
을 입력하십시오. 위의 명령은 git 라는 새 사용자와 그룹을 만들고 홈 디렉터리를 /home/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 Download page
아키텍처에 적용되는 최신 바이너리 파일을 다운로드합니다.본문을 작성할 때 최신 판본은 1.10.2이다.새 버전을 사용할 수 있는 경우 다음 명령에서 변수VERSION를 변경합니다.사용 wget /tmp 디렉터리에 있는 Gitea 바이너리 파일을 다운로드하려면
VERSION=1.14.1sudo 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
다음 명령을 실행하여 디렉터리를 만들고 필요한 권한을 설정합니다. ownership
:
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/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea
위의 디렉터리 구조는 Gitea 공식 문서에서 추천한 것입니다./etc/gitea 디렉터리의 권한은 770로 설정하여 설치 마법사가 프로필을 만들 수 있도록 합니다.설치가 완료되면 더욱 엄격한 권한을 설정할 것입니다.

Systemd 단위 파일 만들기

Gitea를 systemd 서비스로 운영합니다.(adsbygoogle=window.adsbygoogle | |[]).추진({});입력:
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
예시 시스템 유닛 파일을 /etc/systemd/system 디렉터리에 다운로드합니다. 이 파일을 편집할 필요가 없습니다. 이 파일은 저희 설정과 일치하도록 설정되어 있습니다.Gitea 서비스 활성화 및 시작:
sudo systemctl daemon-reloadsudo systemctl enable --now gitea
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
             └─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Gitea 구성

현재 Gitea가 다운로드되어 실행되고 있으며 웹 인터페이스를 통해 설치를 완료할 수 있습니다.기본적으로 Gitea는 모든 네트워크 인터페이스의 포트3000의 연결을 감청합니다.하면, 만약, 만약...
서버에서 실행할 때 Gitea 포트를 열어야 합니다.포트3000의 트래픽을 허용하려면 다음 명령을 입력하십시오.
sudo ufw allow 3000/tcp
브라우저를 열고 http://YOUR_DOMAIN_IR_IP:3000를 입력하면 다음과 같은 내용의 화면이 나타납니다. 데이터베이스 설정:
  • 데이터베이스 유형: SQLite3
  • 경로: 절대 경로, /var/lib/gitea/data/gitea.db
  • 응용 프로그램 일반 설정:
  • 사이트 제목: 조직 이름을 입력합니다.
  • 저장소 루트 경로: 기본값var/lib/gitea/data/gitea-repositories을 유지합니다.
  • Git LFS 루트 경로: 기본값/var/lib/gitea/data/lfs을 유지합니다.
  • 사용자 이름으로 실행:git
  • SSH 서버 도메인:도메인 또는 서버 IP 주소를 입력합니다.
  • SSH 포트: 22, SSH가 UFW firewall
  • 인 경우 Gitea HTTP 스누퍼 포트: 3000
  • Gitea 기본 URL: HTTP와 도메인 또는 서버 IP 주소를 사용합니다.
  • 로그 경로: 기본 설정/var/lib/gitea/log
  • 을 유지합니다. Gitea 프로필을 편집하면 언제든지 설정을 변경할 수 있습니다.설치를 시작하려면 "설치 Gitea"단추를 누르십시오.설치가 즉각적이다.완료되면 로그인 페이지로 리디렉션됩니다."계좌가 필요합니까? 즉시 등록"을 클릭하세요.링크.첫 번째 등록 사용자는 자동으로 관리 그룹에 추가됩니다.변경listening on other Port
    사용:
    sudo chmod 750 /etc/giteasudo chmod 640 /etc/gitea/app.ini
    Gitea 프로필을 읽기 전용으로 설정합니다.Gitea는 이미 당신의 Ubuntu 기계에 설치되어 있습니다.

    Nginx를 SSL 종료 에이전트로 구성

    이 단계는 옵션이지만 강력히 권장됩니다.SSL 종료는 Nginx가 Gitea 응용 프로그램과 웹 클라이언트 사이의 중간점을 충당하는 것을 의미하기 때문에 HTTPS를 통해 Gitea에 접근할 수 있습니다.사용permissions
    서버의 공용 IP를 가리키는 도메인이나 하위 도메인이 필요합니다.본 예에서 우리는 git.example.com을 사용할 것이다.우선, Nginx를 설치하고 무료 SSL 인증서를 생성할 수 있습니다.
  • Nginx as a reverse proxy
  • How To Install Nginx on Ubuntu 20.04Secure Nginx with Let’s Encrypt on Ubuntu 20.04가 완성되면 텍스트 편집기를 열고 편집 영역server block을 엽니다.
    파일:
    sudo nano /etc/nginx/sites-enabled/git.example.com
    /etc/nginx/sites enabled/git.예.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;
        }
    }
    
    git 교체하는 거 잊지 마세요.예.com은 Gitea 도메인에 연결하고 SSL 인증서 파일의 올바른 경로를 설정합니다.HTTP traffic is redirected to HTTPSRestart the Nginx service
    변경 사항을 적용하려면:
    sudo systemctl restart nginx
    다음에 Gitea역과 루트 URL을 변경하십시오.이를 위해 프로필을 열고 다음 줄을 편집합니다:
    sudo nano /etc/gitea/app.ini
    /etc/gitea/app.ini
    [server]
    DOMAIN           = git.example.com
    ROOT_URL         = https://git.example.com/
    
    는 입력:
    sudo systemctl restart gitea
    를 통해 Gita 서비스를 다시 시작합니다. 이 때 Gitea 에이전트가 설정되어 있습니다. https://git.example.com

    e-메일 알림 구성

    에 접근할 수 있습니다. 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 restart gitea
    설정을 검증하고 테스트 메일을 보내려면 Gitea에 로그인한 다음: 사이트 관리 > 설정 > SMTP 메일 프로그램 설정으로 이동하십시오.(adsbygoogle=window.adsbygoogle | |[]).추진({});Gitea는 또한 생성web webhook을 통해 슬랙에 연결할 수 있습니다.
    알림을 보내 드립니다Slack channels.

    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-amd64sudo mv /tmp/gitea /usr/local/bin
  • 바이너리 실행 가능한 파일 생성:
    sudo chmod +x /usr/local/bin/gitea
  • Gitea 서비스 재시작:
    sudo systemctl restart gitea
  • 이 그렇다.

    결론

    이 자습서는 Ubuntu 20.04에 Gitea를 설치하도록 안내합니다.Gitea 인스턴스를 구성하고 첫 번째 프로젝트를 만드는 방법에 대한 자세한 내용은 Gitea documentation page를 참조하십시오.
    .