CentOS 8에 Gitea 설치 방법

CentOS 8에 Gitea 설치 방법

2022-05-31 last update

19 minutes reading git centos gitea
Gitea는 Go로 작성된 자가 관리 개원 git 서버입니다.저장소 파일 편집기, 프로젝트 문제 추적, 사용자 관리, 알림, 내장wiki 등 기능이 포함되어 있습니다.Gitea
기능이 약한 시스템에 설치할 수 있는 경량급 응용 프로그램입니다.메모리가 훨씬 적은 Gitlab 대체품을 찾고 있고 Gitlab이 제공하는 모든 기능이 필요하지 않다면 Gitea를 시도해야 합니다.이 문서에서는 CentOS 8에서 Gitea를 설치하고 구성하는 방법을 설명합니다.

선결 조건

Gitea 지원 SQLitePostgreSQL
, 및 MySQL
/MariaDB
데이터베이스 백엔드로SQLite를 사용합니다.그것은 경량급 데이터베이스로 데이터를 단일 파일에 저장한다.CentOS 컴퓨터에 SQLite가 설치되어 있지 않은 경우 다음 명령sudo user을 사용하여 설치할 수 있습니다.
:
sudo dnf install sqlite
우리 가설 SELinux is either disabled
또는 허용 모드로 설정합니다.

Gitea 설치

Gitea는 소스 코드, 바이너리 파일 및 패키지에서 설치할 수 있습니다.Docker 이미지로도 배포할 수 있습니다.바이너리 파일을 사용하여 Gitea를 설치합니다.

Git 설치

첫 번째 단계는 install Git
CentOS에서:
sudo dnf install git
Git 버전 표시
git --version
git version 2.18.4

Git 사용자 만들기

Create a new system user를 통해 설치 확인
Gitea 응용 프로그램을 실행하려면:
sudo useradd \   --system \   --shell /bin/bash \   --comment 'Git Version Control' \   --create-home \   --home /home/git \   git
명령은 git 이라는 새 사용자 및 그룹을 만들고 홈 디렉토리를 /home/git 로 설정합니다.

Gitea 바이너리 다운로드

최신 Gitea 바이너리 파일Gitea Download page에서 다운로드 가능
.아키텍처에 적합한 바이너리 파일을 다운로드해야 합니다.본문을 작성할 때 최신 판본은 1.12.3이다.새 버전을 사용할 수 있으면 다음 명령에서 변수 VERSION 를 변경합니다.사용 wget /tmp 디렉토리의 Gitea 바이너리 파일을 다운로드하려면:
VERSION=1.12.3sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
어느 위치에서든 바이너리 파일을 실행할 수 있습니다.우리는 약정에 따라 바이너리 파일을 /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,indexers,public,log}sudo chown git: /var/lib/gitea/{data,indexers,log}sudo chmod 750 /var/lib/gitea/{data,indexers,log}sudo mkdir /etc/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea
상기 디렉터리 구조는 Gitea 공식 문서에서 추천한 것이다./etc/gitea 디렉터리의 권한은 770로 설정되어 설치 마법사가 프로필을 만들 수 있도록 합니다.설치가 완료되면 더 많은 제한 권한을 설정할 것입니다.(adsbygoogle=window.adsbygoogle | |[]).푸시({});

Systemd 단위 파일 만들기

Gitea는 우리의 설정과 일치하도록 구성된 Systemd 단위 파일을 제공합니다.입력:
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/
파일을 /etc/systemd/system/ 디렉터리에 다운로드하여 완료한 후 Gitea 서비스 활성화 및 시작:
sudo systemctl daemon-reloadsudo 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
           └─14804 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Gitea 구성

현재 Gitea가 시작되고 실행되고 있으며 웹 인터페이스를 통해 설치를 완료할 때입니다.기본적으로 Gitea는 모든 네트워크 인터페이스의 포트 3000 에 대한 연결을 탐지합니다.구성 필요 ownership
Gitea 웹 인터페이스에 대한 액세스를 활성화하려면:
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcpsudo firewall-cmd --reload
브라우저를 열고 http://YOUR_DOMAIN_IR_IP:3000/install 를 입력하면 초기 구성 페이지가 표시됩니다. 필요한 필드를 다음과 같이 작성합니다. 데이터베이스 설정:
  • 데이터베이스 유형: SQLite3
  • 경로: 절대 경로 사용, /var/lib/gitea/data/gitea.db
  • 응용 프로그램 일반 설정:
  • 사이트 제목 - 조직 이름 입력.
  • 저장소 루트 경로 - 기본값 유지/home/git/gitea-repositories.
  • Git LFS 루트 경로 - 기본값 유지/var/lib/gitea/data/lfs.
  • 사용자 이름으로 실행 -git
  • SSH Server Domain - 도메인 또는 서버 IP 주소를 입력합니다.
  • SSH 포트 -22, SSH가 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 구성 파일을 읽기 전용으로 설정합니다.CentOS 컴퓨터에 Gitea가 설치되어 있습니다.

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

    이 단계는 선택 사항이지만 실행하는 것이 좋습니다.사용permissions
    서버의 공용 IP를 가리키는 도메인이나 하위 도메인이 필요합니다.이 강좌에서 우리는 사용할 것이다 git.example.com.먼저 Nginx를 설치하고 다음 안내서를 사용하여 SSL 인증서를 암호화할 수 있습니다.
  • Nginx as a reverse proxy
  • How To Install Nginx on CentOS 8
  • 을 완료한 후 텍스트 편집기를 열고 도메인을 편집합니다Secure Nginx with Let’s Encrypt on CentOS 8.
    파일:
    sudo nano /etc/nginx/conf.d/git.example.com.conf
    /etc/nginx/conf.d/git.인스턴스일반 도메인 이름 형식입니다.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를 바꾸는 것을 잊지 마세요.인스턴스Gitea 도메인에 com 액세스하고 SSL 인증서 파일의 올바른 경로를 설정합니다.server block
    .완료 후 HTTP traffic is redirected to HTTPS
    변경 사항을 적용하려면:
    sudo systemctl restart nginx
    Gitea 도메인과 루트 URL을 변경합니다.이를 위해 프로필을 열고 다음 줄을 편집합니다.
    sudo nano /etc/gitea/app.ini
    /etc/gitea/app.ii
    [server]
    DOMAIN           = git.example.com
    ROOT_URL         = https://git.example.com/
    
    :
    sudo systemctl restart gitea
    를 입력하여 Gitea 서비스를 다시 시작합니다. 이 때 Gitea 에이전트가 설정되어 있습니다. https://git.example.com

    e-메일 알림 구성

    에 접근할 수 있습니다. 알림 이메일에 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 메일 프로그램 구성으로 이동하십시오.Gitea에서 Slack에 연결할 수 있도록 만들기 restart the Nginx service
    알림 보내기 web webhook
    .

    Gitea 업그레이드

    최신 Gitea 버전으로 업그레이드하는 것은 간단한 작업입니다.바이너리 파일을 다운로드하고 교체하기만 하면 됩니다.(adsbygoogle=window.adsbygoogle | |[]).푸시({});
  • Gitea 서비스 중단:
    sudo systemctl stop gitea
  • 최신 Gitea 바이너리 파일을 다운로드하여 app.ini 디렉터리로 이동:
    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
  • 그렇습니다.

    결론

    CentOS 8에 Gitea를 설치하는 방법을 보여 드렸습니다.지금 방문하셔야 합니다Slack channels
    첫 번째 프로젝트를 설치하고 만드는 방법을 알고 있습니다.