로컬 Git 서버를 구축하기 위해 Gitea를 설치하는 방법

마지막 업데이트 : 3 9월 2026
  • Gitea는 GitLab 및 GitHub의 가벼운 대안으로, 시스템 리소스를 거의 사용하지 않습니다.
  • 설치는 SystemD를 통해 서비스로 관리되는 실행 가능한 바이너리를 기반으로 합니다.
  • Nginx에서 리버스 프록시를 사용하는 것은 HTTPS를 통한 안전한 액세스를 가능하게 하는 데 필수적입니다.
  • 이 기능을 사용하면 이슈와 태그를 유지하면서 다른 플랫폼의 기존 저장소를 마이그레이션할 수 있습니다.

데이터 센터의 서버 랙은 로컬 Git 서버의 인프라를 나타냅니다.

GitHub나 GitLab 같은 거대 기업의 규칙, 비용, 가용성에 의존하는 것이 지겹다면, 자신만의 인프라를 구축하는 것이 해결책입니다. 집이나 사무실에 Git 서버를 구축하면 코드에 대한 완벽한 제어 , 완벽한 접근 관리, 그리고 제3자의 제약 없이 개인 저장소를 안전하게 사용할 수 있다는 안심감을 누릴 수 있습니다.

다양한 옵션 중에서 Gitea는 단연 돋보이는 보석과 같습니다. Go 언어로 작성된 이 도구는 놀라울 정도로 가볍고 빠르기 때문에 Git 서버에 16GB의 RAM을 할당하고 싶지 않은 사용자에게 이상적입니다. 기능은 풍부하지만 리소스를 많이 소모하는 GitLab과 달리 Gitea는 마치 고속정처럼 핵심 기능에 집중하고, 리소스를 거의 사용하지 않으며, GitHub를 사용해 본 사람이라면 누구나 쉽게 이해할 수 있는 인터페이스를 제공합니다.

Gitea, GitLab, Forgejo 간략 비교

서버실에서 노트북을 이용해 서버를 구성하는 소프트웨어 엔지니어.

설치를 시작하기 전에 어떤 환경인지 미리 알아두는 것이 좋습니다. GitLab은 대규모 팀에 적합한 대표적인 엔터프라이즈 솔루션이지만, 강력한 하드웨어가 필요합니다. 반면 Gitea는 메모리 사용량이 매우 적어 일반 서버나 개인 프로젝트에 가장 적합한 선택 입니다 . 마지막으로 Gitea의 커뮤니티 포크인 Forgejo가 있습니다. 기업의 간섭 없이 개방적인 거버넌스를 선호하는 자유 소프트웨어 마니아라면 Forgejo가 좋은 대안이 될 수 있습니다.

  서버란 무엇이고 어떻게 작동하는가: 유형 및 특성

시작하기 전에 필요한 것

Git 저장소 관리 방법을 설명하기에 이상적인, 현대적인 작업 공간에 코드 줄이 표시된 노트북 컴퓨터.

모든 것이 원활하게 작동하도록 하려면 루트 권한이 있는 Linux 서버 (Ubuntu, Debian 또는 Rocky Linux)가 필요합니다. 또한 해당 시스템에 Git이 설치되어 있어야 하며, Gitea는 SQLite 사용을 지원하지만 프로덕션 환경에서는 데이터 안정성을 보장하기 위해 PostgreSQL 또는 MariaDB 사용을 강력히 권장합니다.

시스템 내에서 기반을 마련하기

키보드에서 프로그래밍하는 손의 클로즈업 사진으로, 소프트웨어 개발과 Gitea의 사용을 보여줍니다.

보안상의 이유로 Gitea를 root 권한으로 실행하는 것은 좋지 않습니다. 전용 사용자를 생성하는 것이 가장 좋습니다. 다음 명령어를 실행하여 전용 사용자를 생성할 수 있습니다. adduser --system --shell /bin/bash --group --home /home/gitea gitea. 사용하는 것이 필수입니다 /bin/bash를 셸로 실행 Gitea는 SSH를 통해 git-shell과 상호 작용해야 하기 때문입니다. Git이 설치되어 있지 않다면 간단히 설치하세요. apt install git 문제를 신속하게 해결할 것입니다.

바이너리 설치 및 폴더 구조

네트워크 스위치에 연결된 이더넷 케이블의 상세 모습으로, 네트워크 구성 및 리버스 프록시를 보여줍니다.

Gitea는 여러 가지 방법으로 설치할 수 있지만, 바이너리 파일을 다운로드하는 것이 가장 간단합니다. 공식 웹사이트에서 최신 안정 버전을 찾아 [방법/방법]을 사용하여 다운로드하십시오. wget en /usr/local/bin/gitea나중에 줄게요 chmod +x 명령어를 사용하여 실행 권한을 부여하세요.프로그램이 제대로 작동하려면 일련의 특정 디렉터리를 생성해야 합니다. /etc/gitea 구성 및 /var/lib/gitea 사용자 지정 데이터, 로그 및 파일의 경우. 조정하는 것을 잊지 마세요. 속성 권한(chown) 사용자 gitea가 그들에게 글을 쓸 수 있도록 하기 위해서입니다.

데이터베이스 구성

PostgreSQL을 선택하는 경우, 데이터베이스를 생성하는 것 외에도 패키지를 설치하고 강력한 암호를 사용하여 특정 역할을 생성해야 합니다. giteadb UTF8 인코딩을 사용합니다. MariaDB를 선호하는 경우에도 과정은 비슷합니다. 데이터베이스와 사용자를 생성하고, 다음 사항을 확인합니다. 스토리지 엔진은 InnoDB입니다. 그리고 서버가 3306번 포트에서 수신 대기 중이라는 것입니다.

  GNOME 환경에서의 MCP 서버 지원: 완벽 가이드

SystemD를 이용한 자동화

서버를 재시작할 때마다 Gitea를 수동으로 시작해야 하는 번거로움을 피하려면 드라이브 파일을 생성하는 것이 가장 좋습니다. /etc/systemd/system/gitea.service이 파일은 시스템에 다음을 알려줍니다. Gitea는 서비스로 실행되어야 합니다.사용자, 그룹 및 바이너리 경로를 정의합니다. 생성 후에는 간단히 실행하기만 하면 됩니다. systemctl enable --now gitea 그러면 서버는 기본적으로 3000번 포트에서 수신 대기를 시작합니다.

웹 인터페이스와의 첫 접촉

입장 시 http://tu-ip:3000그러면 설정 마법사가 나타납니다. 여기에서 데이터베이스에 연결하고(호스트, 사용자 이름 및 암호를 지정) 설정을 정의합니다. 일반 사이트 설정인스턴스 이름과 기본 URL과 같은 정보를 설정해야 합니다. 또한 SSH 서버를 구성하고 누구나 등록할 수 있도록 할지 아니면 특정 사용자만 등록할 수 있도록 할지 결정해야 합니다. 공개 로깅 비활성화 서버를 비공개로 유지하기 위해서입니다.

Nginx를 통한 보안 및 전문적인 접근

Gitea에 3000번 포트로 접속하는 것은 비효율적이고 보안에 취약합니다. 이상적인 해결책은 Nginx를 사용하여 리버스 프록시를 설정하는 것입니다. 이렇게 하면 사용자는 도메인(예: git.yourdomain.com)을 통해 사이트에 접속할 수 있으며, 모든 트래픽은 Let's Encrypt SSL 인증서를 사용하여 암호화됩니다 . Nginx 설정에서 443번 포트로 들어오는 트래픽을 Gitea의 3000번 포트로 리디렉션하고, 클라이언트의 실제 IP 주소를 유지하기 위해 X-Forwarded-For 헤더를 추가하면 됩니다.

사용자 관리 및 코드 마이그레이션

공개 로깅을 비활성화한 경우 명령줄에서 다음 명령어를 사용하여 첫 번째 관리자 계정을 생성할 수 있습니다. gitea admin user create안으로 들어가면, 다음을 추가할 수 있습니다. 공개 SSH 키 사용자 프로필에서 비밀번호를 매번 입력하지 않고도 저장소를 복제할 수 있습니다. 이미 GitHub에 코드가 있는 경우 Gitea는 다음과 같은 기능을 제공합니다. 통합 마이그레이션 도구 이 기능은 코드뿐만 아니라 이슈와 태그까지 자동으로 가져옵니다.

  n8n과 Docker를 사용하여 워크플로우를 자동화하는 방법

유지보수 및 튜닝

Gitea 유지 관리는 매우 쉽습니다. 업데이트하려면 새 바이너리를 다운로드하고 기존 바이너리를 교체한 다음 서비스를 다시 시작하기만 하면 됩니다. 백업을 위해서는 다음 명령어를 사용하십시오. gitea dump 그것은 당신의 가장 친한 친구입니다. 왜냐하면 그것은 다음을 생성하기 때문입니다. 모든 것이 포함된 압축 파일데이터베이스, 설정 및 저장소. 이메일의 경우 외부 SMTP 서버(예: Gmail)를 구성하거나 서버에 Postfix를 설치하여 풀 리퀘스트 및 알림을 수신할 수 있습니다.

Gitea를 도입하면 강력하고 가벼우며 완벽하게 비공개로 유지되는 버전 관리 플랫폼을 구축할 수 있습니다. 바이너리 기반 설치, 최적화된 데이터베이스, HTTPS를 통한 트래픽 보안을 보장하는 리버스 프록시를 통해 외부 서비스에 대한 의존성을 없앨 수 있습니다.