웹사이트 검색

Debian 11에서 PostgreSQL과 함께 Gitea를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 1단계 – OS 업데이트
  3. 2단계 – PostgreSQL 설치 및 구성
  4. 3단계 – Git 설치 및 구성
  5. 4단계 – Gitea용 git 사용자 만들기
  6. 5단계 – Gitea 설치 및 구성
  7. 6단계 – Gitea 웹 인터페이스에 액세스
  8. 7단계 – 이메일 알림 설정
  9. 10단계 – Gitea 업데이트
  10. 결론

Gitea는 Git 서버를 위한 무료 오픈 소스 자체 호스팅 솔루션입니다. Gitea는 Windows, Linux 및 macOS를 포함한 대부분의 플랫폼에 설치할 수 있는 바이너리 패키지로 제공되는 경량 애플리케이션인 Go 프로그래밍 언어로 작성했습니다. 강력하고 확장 가능하며 빠르고 사용하기 쉬우며 GitLab의 대안 중 하나입니다.

Gitea는 리포지토리 파일 편집기, 버그 및 시간 추적, 리포지토리 분기, 파일 잠금, 내장 위키를 비롯한 많은 기능을 제공합니다. , 병합, 다중 데이터베이스 지원, 간편한 업그레이드 프로세스, 내장 컨테이너 레지스트리 등.

이 튜토리얼에서는 Debian 11에서 PostgreSQL을 사용하여 바이너리에서 Gitea를 설치하는 방법을 보여줍니다.

전제 조건

  • Debian 11을 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

1단계 – OS 업데이트

Gitea 설치를 시작하기 전에 아래 명령을 실행하여 시스템을 최신 버전으로 업데이트하십시오.

sudo apt-get update -y

sudo apt-get upgrade -y

2단계 – PostgreSQL 설치 및 구성

Gitea는 MySQL, MariaDB, SQLite, MySQL 및 PostgreSQL과 같은 모든 주요 데이터베이스를 지원하지만 이 가이드에서는 PostgreSQL을 Gitea 데이터베이스로 사용합니다.

먼저 다음 명령을 사용하여 PostgreSQL Repository를 생성합니다.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

다음으로 리포지토리 서명 키를 가져와야 합니다.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

이제 다음 명령을 사용하여 PostgreSQL을 설치합니다.

sudo apt-get update

sudo apt-get -y install postgresql

그런 다음 PostgreSQL 서비스를 시작하고 시스템 시작 시 활성화하고 다음 명령을 사용하여 PostgreSQL 서비스 상태를 확인합니다.

sudo systemctl start postgresql

sudo systemctl enable postgresql

sudo systemctl status postgresql

다음으로 더 나은 보안을 위해 md5 암호화 체계에서 SCRAM-SHA-256 체계로 전환해야 합니다. PostgreSQL에 원격으로 연결하려면 PostgreSQL 구성 파일에서 IP 주소를 허용해야 합니다. 다음 명령을 사용하여 변경하려면 구성 파일을 엽니다.

sudo vim /etc/postgresql/14/main/postgresql.conf

다른 PostgreSQL 버전이 설치되어 있는 경우 그에 따라 위의 명령 경로를 변경합니다.

다음으로 요구 사항에 따라 다음 변수를 변경합니다.

listen_addresses = 'localhost, 134.122.38.45'
password_encryption = scram-sha-256

파일을 저장하고 종료한 후 PostgreSQL 서비스를 다시 시작하여 변경 사항을 적용합니다.

sudo systemctl restart postgresql

그런 다음 다음 명령을 사용하여 PostgreSQL 셸에 로그인합니다.

sudo -u postgres psql

그런 다음 다음 명령을 실행하여 Gitea에 대한 사용자 역할 및 데이터베이스를 생성합니다.

postgres=# CREATE ROLE gitea WITH LOGIN PASSWORD '';

postgres=# CREATE DATABASE giteadb;

postgres=# GRANT ALL PRIVILEGES ON DATABASE giteadb TO gitea;

postgres=# exit

여기에서 Gitea에 대한 사용자 이름, 데이터베이스 이름 및 암호를 설정해야 합니다.

이 시점에서 PostgreSQL 설정 및 Gitea 준비, /etc/postgresql/14/main/pg_hba.conf 파일에서 인증 설정을 확인합니다.

PostgreSQL은 기본적으로 모든 로컬 연결을 허용합니다.

host    all             all             127.0.0.1/32            scram-sha-256

gteadb를 원격으로 사용하려면 /etc/postgresql/14/main/pg_hba.conf에 IP 주소와 함께 다음 행을 추가하십시오.

host    giteadb        gitea            134.122.38.0/32           scram-sha-256 

3단계 – Git 설치 및 구성

다음으로 다음 명령을 사용하여 git을 설치합니다.

sudo apt install git

Git 버전을 확인하여 Git 설치를 확인합니다.

git --version

산출:-

git version 2.30.2

다음으로 Git의 이름과 이메일 주소를 설정해야 합니다.

git config --global user.name "Your Name"

git config --global user.email "”

다음 명령을 사용하여 Git 구성을 확인할 수 있습니다.

git config --list

산출:-

user.name=Your Name

4단계 – Gitea용 git 사용자 생성

이제 Gitea 사용자를 생성해야 합니다. 다음 명령으로 이 작업을 수행할 수 있습니다.

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

그러면 새 사용자 git이 생성됩니다.

5단계 – Gitea 설치 및 구성

Gitea 다운로드 페이지로 이동하여 사용 가능한 최신 버전의 Gitea 바이너리를 다운로드합니다. 이 튜토리얼을 작성할 당시 Giteas의 최신 버전은 1.15.7입니다. 아래 명령에서 VERSION 변수를 변경하여 다른 버전을 설치할 수 있습니다.

cd /tmp
GITEAVERSION=1.15.7
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64

다음으로 다음 명령을 사용하여 Gitea 바이너리를 시스템 경로로 이동합니다.

sudo mv /tmp/gitea /usr/local/bin

다음으로 터미널에 다음 명령을 실행하여 Gitea 바이너리 파일에 대한 실행 권한을 설정합니다.

chmod +x /usr/local/bin/gitea

다음으로 Gitea에 대한 디렉토리 구조를 생성해야 합니다. 이렇게 하려면 다음 명령을 실행하십시오.

sudo mkdir -p /etc/gitea

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}

다음으로 다음 명령을 사용하여 Gitea가 제대로 작동하는 데 필요한 권한을 부여합니다.

sudo chown -R git:git /var/lib/gitea/

sudo chown root:git /etc/gitea

sudo chmod -R 750 /var/lib/gitea/

sudo chmod 770 /etc/gitea

다음으로 다음 명령을 사용하여 Gitea용 systemd 서비스 파일을 생성합니다.

vim /etc/systemd/system/gitea.service

다음 코드를 붙여넣습니다.

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=postgresql.service

[Service]
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

[Install]
WantedBy=multi-user.target

파일을 저장하고 종료합니다. 그런 다음 systemd 데몬을 다시 로드하고 아래 명령을 사용하여 Gitea 서비스를 시작합니다.

sudo systemctl daemon-reload
sudo systemctl start gitea

다음으로 시스템 재부팅 시 Gitea 서비스를 활성화해야 합니다.

sudo systemctl enable gitea

다음으로 다음 명령을 사용하여 Gitea의 상태를 확인합니다.

sudo systemctl status gitea

다음 출력이 표시되어야 합니다.

보시다시피 Gitea는 기본적으로 포트 3000에서 시작되고 실행됩니다. 다음 명령을 사용하여 Gitea 포트를 확인할 수 있습니다.

netstat -tulpan | grep 3000

아래와 같은 출력이 표시되어야 합니다.

tcp6       0      0 :::3000                 :::*                    LISTEN      43778/gitea

6단계 – Gitea 웹 인터페이스에 액세스

Gitea는 이제 기본적으로 포트 3000에서 작동하고 수신 대기합니다. 브라우저를 열고 https://YOURIPADDRESS:3000을 입력합니다.

다음으로 필수 매개변수를 다음과 같이 입력합니다.

데이터베이스 설정

데이터베이스 유형: PostgreSQL
호스트: 127.0.0.1:5432
사용자 이름: gitea
비밀번호: Postgres 역할 생성 중에 선택한 비밀번호를 입력하세요.
데이터베이스 이름: gitadb< br> SSL: 비활성화

일반 설정


사이트 제목: 원하는 제목.
리포지토리 루트 경로: /var/lib/gitea/data/repositories
Git LFS 루트 경로: /var/lib/gitea/ data/lfs
실행 계정 사용자 이름: git
SSH 서버 도메인: your_domain/IP
SSH 서버 포트: 22
Gitea HTTP 수신 포스트: 3000
Gitea Base URL: http://YOURIPADDRESS :3000
로그 경로: /var/lib/gitea/log

이 단계에서 이메일과 서버 및 타사 설정을 구성하거나 나중에 구성할 수 있습니다. 그러나 관리자를 구성해야 합니다.

Gitea에 로그인하기 위한 사용자 이름입니다. 따라서 선택적 설정으로 이동하여 관리자 계정 설정 세부 정보를 입력하고 Gitea에 대한 관리자 사용자를 생성합니다.

그런 다음 Gitea 설치 버튼을 클릭합니다. 설치가 성공적으로 완료되면 다음 페이지에 표시된 Gitea 대시보드로 리디렉션됩니다.

이제 Gitea를 탐색하고 관리자 계정의 사이트 관리 옵션에서 Windows Active Directory를 Gitea와 통합하는 것과 같은 다른 타사 서비스를 설정할 수 있습니다.

7단계 – 이메일 알림 설정

Sendmail을 사용하거나 Amazon SES, Sendgrid와 같은 타사 이메일 서비스를 통해 Gitea에서 이메일 알림을 활성화할 수 있습니다.

이메일 알림을 활성화하려면 다음 명령을 사용하여 Gitea 구성 파일을 엽니다.

vim /etc/gitea/app.in

그런 다음 파일에서 다음 섹션을 편집하고 이메일 설정에 따라 다음 코드를 추가합니다.

[mailer]
ENABLED        = true
FROM           =
PASSWD         = password

파일을 저장하고 종료하고 Gitea 서비스를 다시 시작하여 변경 사항을 적용하십시오.

sudo systemctl restart gitea

10단계 – Gitea 업데이트

Gitea 업그레이드는 수월한 프로세스이며 Gitea 바이너리를 다운로드하고 교체하기만 하면 됩니다.

먼저 Gitea 서비스를 중지합니다.

sudo systemctl stop gitea

다음으로, 다음 명령을 사용하여 Gitea 바이너리를 다운로드하고 설치합니다.

cd /tmp
GITEAVERSION=LATESTVERSION
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64
sudo mv gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea

다음으로 다음 명령을 사용하여 Gitea 서비스를 시작합니다.

sudo systemctl start gitea

이제 Gitea는 다운타임 없이 최신 상태를 유지합니다.

결론

축하합니다! Debian 11에 Gitea git 서비스를 성공적으로 설치했습니다. 이제 웹 브라우저를 통해 Gitea를 쉽게 업데이트하고 git 저장소를 관리할 수 있습니다. 또한 궁금한 사항이 있으면 언제든지 문의해 주세요.