접근
- 브라우저를 열고 아래 주소로 이동하세요:
https://<SERVER_IP> - 브라우저에서 SSL 경고가 표시될 수 있습니다 (자체 서명 인증서)
- 새 계정 등록
- 처음 등록한 계정이 관리자가 됩니다.
자체 회원가입 비활성화 (선택 사항)
기본적으로 사용자 자체 회원가입이 활성화되어 있습니다.
1. 설정 파일 수정: /etc/gogs/conf/app.ini
2. 다음 섹션에서 [auth] 섹션, 변경 DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true
3. Gogs를 다시 시작합니다:
systemctl restart gogs
주요 파일 및 디렉터리
- 설치 디렉토리:
/opt/gogs - 구성 파일:
/etc/gogs/conf/app.ini - 애플리케이션 데이터:
/var/lib/gogs - 저장소:
/var/lib/gogs/repositories - 로그:
/var/log/gogs - Systemd 서비스
/etc/systemd/system/gogs.service - Nginx 설정:
/etc/nginx/sites-available/gogs.conf - TLS 인증서:
/etc/nginx/ssl/
Git 사용법
HTTPS (자체 서명 인증서):
GIT_SSL_NO_VERIFY=true git clone https://<SERVER_IP>/<USERNAME>/<REPOSITORY>.git
SSH (내장 서버):
git clone ssh://git@<SERVER_IP>:2222/<USERNAME>/<REPOSITORY>.git
서비스 관리
Gogs:
systemctl status gogs
systemctl restart gogs
Nginx:
systemctl status nginx
systemctl restart nginx
PostgreSQL:
systemctl status postgresql
systemctl restart postgresql
메모
- 기본 설정 파일 위치:
/etc/gogs/conf/app.ini. 설정 파일을 수정한 후 다음 명령으로 서비스를 재시작하세요:systemctl restart gogs. - Nginx 업로드 용량 제한은 다음에서 정의됩니다:
/etc/nginx/sites-available/gogs.conf사용하여client_max_body_size. 대형 저장소의 경우 이 값을 늘리고 Nginx를 재시작하세요. - 대규모 배포 환경에서는 아래 항목의 주석을 해제하세요.
LimitMEMLOCK=infinity및LimitNOFILE=65535in/etc/systemd/system/gogs.service, 그 다음 실행systemctl daemon-reload그리고 Gogs를 재시작하세요. - 데이터베이스 자격 증명은 다음 위치에 정의되어 있습니다.
/etc/gogs/conf/app.ini. - 프로덕션 환경에서는 자체 서명 인증서를 Let's Encrypt 인증서로 교체하는 것을 권장합니다.
- 자체 서명 인증서를 사용하는 경우, HTTPS 클로닝에는 다음이 필요합니다.
GIT_SSL_NO_VERIFY=true.
도메인으로 SSL 활성화하기
1. 도메인을 서버 IP로 연결합니다.
2. Gogs 설정 파일 업데이트 (/etc/gogs/conf/app.ini):
EXTERNAL_URL = https://yourdomain.com/
DOMAIN = yourdomain.com
SSH_DOMAIN = yourdomain.com
3. 변경 사항을 적용하려면 Gogs 서비스를 재시작하세요.
systemctl restart gogs
3. Nginx 설정 파일을 열어 다음 두 항목을 모두 교체하세요. server_name <IP>; 을 실제 도메인으로 교체합니다 (<your-domain>) HTTP (포트 80) 및 HTTPS (포트 443) 블록 모두에 적용합니다:
vim /etc/nginx/sites-available/gogs.conf
4. Certbot 설치:
apt install -y certbot python3-certbot-nginx
5. 다음 명령어를 실행하여 유효한 Let's Encrypt 인증서를 발급받으세요.
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
6. Nginx 설정 파일에서 SSL 경로를 교체하세요.
vim /etc/nginx/sites-available/gogs.conf
# Before:
# ssl_certificate /etc/nginx/ssl/gogs.crt;
# ssl_certificate_key /etc/nginx/ssl/gogs.key;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
7. 변경 사항을 적용하려면 Nginx를 재시작하세요.
systemctl restart nginx
8. 브라우저를 열고 다음 주소로 접속하세요. https://yourdomain.com