프로그래밍/Tips [IA]
[IA] Gitea service in Windows
nanze
2025. 2. 25. 18:58
반응형
윈도우에서 Gitea 서비스 설치 및 설정 가이드
Gitea를 설치하기 전에 다음을 준비하세요:
- 운영 체제: Windows 10, Windows Server 2012 이상 (64비트 권장).
- 필수 소프트웨어:
- Git for Windows (최신 버전): https://git-scm.com/download/win
- 텍스트 편집기 (예: Notepad++, VS Code 등).
- 하드웨어 요구 사항: 최소 2 CPU 코어, 1GB RAM (소규모 팀 기준, 더 큰 규모라면 확장 필요).
- 네트워크: 로컬 네트워크 또는 외부 액세스를 위한 포트 열기 준비 (기본 포트: 3000).
- 관리자 권한: 명령 프롬프트 또는 PowerShell을 관리자 모드로 실행할 수 있어야 합니다.
1. Gitea 다운로드 및 설치
1.1 Gitea 실행 파일 다운로드
- Gitea 공식 다운로드 페이지로 이동: https://dl.gitea.io/gitea/
- 최신 버전의 윈도우용 바이너리를 선택:
- 예: gitea-<version>-windows-4.0-amd64.exe (64비트 시스템 기준).
- 다운로드한 파일을 적절한 디렉토리로 이동:
- 추천 경로: C:\gitea
- 디렉토리가 없다면 새로 생성: 탐색기에서 C:\로 이동 후 gitea 폴더를 만들고 파일을 이동.
1.2 Git 설치 확인
- Git이 설치되어 있는지 확인:
- 명령 프롬프트(CMD)를 열고 git --version 입력.
- 출력 예: git version 2.39.2.windows.1.
- 설치되어 있지 않다면 Git for Windows를 설치하고 PATH에 추가:
- 설치 중 "Add Git to PATH" 옵션 체크.
1.3 초기 실행 테스트
- C:\gitea로 이동:
- CMD에서 cd C:\gitea 입력.
- Gitea 실행:
- gitea.exe web 입력.
- 브라우저에서 접속 테스트:
- 주소: http://localhost:3000
- Gitea 초기 설정 페이지가 표시되면 성공.
2. Gitea 기본 설정
2.1 설정 파일 생성
- Gitea 종료:
- CMD에서 Ctrl+C로 실행 중지.
- 설정 디렉토리 생성:
- C:\gitea\custom\conf 디렉토리 생성.
- 기본 설정 파일 복사:
- Gitea 실행 시 자동 생성된 app.ini가 없다면, gitea.exe web을 잠시 실행해 생성 후 중지.
- C:\gitea\app.ini를 C:\gitea\custom\conf\app.ini로 이동.
2.2 app.ini 수정
- C:\gitea\custom\conf\app.ini를 텍스트 편집기로 열기.
- 주요 설정 변경:
[server] DOMAIN = yourdomain.com ; 외부 도메인 또는 IP (예: 192.168.1.100) HTTP_PORT = 3000 ; 기본 포트, 변경 가능 ROOT_URL = http://yourdomain.com:3000/ ; Gitea 기본 URL DISABLE_SSH = false ; SSH 사용 여부 (필요 시 true로 변경) [database] DB_TYPE = sqlite3 ; 기본 SQLite, MySQL/PostgreSQL로 변경 가능 PATH = C:/gitea/data/gitea.db ; 슬래시(/) 사용 권장 [repository] ROOT = C:/gitea/data/git ; 저장소 경로 [security] INSTALL_LOCK = true ; 설치 후 잠금 (초기 설정 완료 시 활성화) SECRET_KEY = <random_string> ; 무작위 문자열 생성 (예: openssl rand -base64 32)
- 저장 후 닫기.
2.3 데이터베이스 설정 (선택)
- SQLite3로 충분하지만, 대규모 사용 시 MySQL/PostgreSQL 권장:
- MySQL 예시
[database]
DB_TYPE = mysql
HOST = localhost:3306
NAME = gitea
USER = gitea_user
PASSWD = your_password
MySQL 설치 및 DB/유저 생성 필요.
3. Gitea를 윈도우 서비스로 등록
3.1 서비스 등록
- CMD를 관리자 모드로 실행:
- 시작 > "cmd" 검색 > 우클릭 > "관리자 권한으로 실행".
- 서비스 생성 명령어 입력:
sc.exe create gitea start= auto binPath= "C:\gitea\gitea.exe web --config C:\gitea\custom\conf\app.ini"
- 경로에 공백이 없도록 주의
- 서비스 확인:
- services.msc 실행 (Win + R > services.msc).
- "gitea" 서비스 찾기.
3.2 서비스 시작
- 서비스 시작:
- CMD에서: sc.exe start gitea
- 또는 services.msc에서 "gitea" 우클릭 > "시작".
- 브라우저에서 확인:
- http://localhost:3000 접속.
3.3 부팅 시 자동 시작 설정
- 기본적으로 start= auto로 설정되어 부팅 시 자동 시작됨.
- 지연 시작 필요 시 (DB 의존성 등):
sc.exe config gitea start= delayed-auto
3.4 의존성 추가 (선택)
- MySQL 등 다른 서비스에 의존 시:
sc.exe config gitea depend= MySQL
- MySQL 서비스 이름 확인 필요 (services.msc에서 확인)
4. 네트워크 및 보안 설정
4.1 방화벽 설정
- 포트 3000 열기:
- CMD (관리자 모드):
netsh advfirewall firewall add rule name="Gitea" dir=in action=allow protocol=TCP localport=3000
- CMD (관리자 모드):
- SSH 사용 시 포트 22 열기 (필요 시):
netsh advfirewall firewall add rule name="Gitea SSH" dir=in action=allow protocol=TCP localport=22
4.2 외부 액세스 설정
- 로컬 IP 확인:
- CMD에서 ipconfig 실행 > "IPv4 주소" 확인 (예: 192.168.1.100).
- app.ini에서 DOMAIN과 ROOT_URL을 IP로 설정:
DOMAIN = 192.168.1.100 ROOT_URL = http://192.168.1.100:3000/
- 라우터에서 포트 포워딩 (외부 액세스 시):
- 3000번 포트를 내부 IP로 연결.
4.3 HTTPS 설정 (선택)
- IIS를 역방향 프록시로 사용해 SSL 적용:
- IIS 설치 (제어판 > 프로그램 추가/제거 > Windows 기능 > IIS 체크).
- URL Rewrite 및 ARR 모듈 설치.
- 인증서 획득 (예: Let’s Encrypt).
- IIS에서 Gitea로 프록시 설정 (Microsoft 가이드 참고: https://learn.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-url-rewrite-module-with-application-request-routing).
5. 사용자 및 저장소 관리
5.1 초기 사용자 등록
- http://localhost:3000 접속.
- "회원가입" 클릭 > 첫 번째 관리자 계정 생성.
- 로그인 후 대시보드 확인.
5.2 저장소 생성
- "+" 버튼 > "새 저장소" 선택.
- 이름 입력 후 생성.
- Git 명령어로 로컬에서 작업:
git clone http://localhost:3000/username/repo.git
6. 유지보수 및 문제 해결
6.1 로그 확인
- C:\gitea\log 디렉토리에서 로그 파일 확인.
6.2 서비스 중지/제거
- 중지: sc.exe stop gitea
- 제거: sc.exe delete gitea
6.3 백업
- C:\gitea\data와 C:\gitea\custom\conf\app.ini를 주기적으로 백업.
6.4 업데이트
- Gitea 중지.
- 새 버전 다운로드 후 C:\gitea\gitea.exe 교체.
- 서비스 재시작.
반응형