Ubuntu 24.04 LTS 환경에서 PostgreSQL 18을 설치하고, Gitea를 바이너리 방식으로 설치한 뒤 PostgreSQL과 연동하는 방법을 정리합니다.
Gitea는 SQLite로도 실행할 수 있지만, 운영 환경이나 장기 운영을 고려한다면 PostgreSQL 같은 외부 데이터베이스를 사용하는 것이 더 안정적입니다.
이 글에서는 PostgreSQL 공식 PGDG 저장소 방식과 Gitea 공식 바이너리 설치 방식을 기준으로 설명합니다.
기준 환경
- OS: Ubuntu 24.04 LTS, Noble Numbat
- PostgreSQL: 18.x, PGDG 공식 APT 저장소
- Gitea: 1.26.4, 바이너리 설치
- 실행 방식: systemd 서비스
- DB 구성: 같은 서버의 PostgreSQL 사용
참고
Gitea 버전은 2026년 7월 3일 기준 Gitea 공식 문서와 릴리스 안내에서 확인되는
1.26.4를 기준으로 작성했습니다.
특정 버전을 고정해서 설치하고 싶다면 아래 예제의GITEA_VERSION값만 변경하면 됩니다.
핵심 요약
Ubuntu 24.04에서 PostgreSQL 18과 Gitea를 함께 구성할 때는 다음 흐름으로 설치하는 것이 안전합니다.
- PGDG 공식 저장소 추가
- PostgreSQL 18 설치
- Gitea 전용 DB와 DB 계정 생성
pg_hba.conf에서 Gitea 접속만 허용- Gitea 바이너리 다운로드
- GPG 서명 검증
/usr/local/bin/gitea로 설치- systemd 서비스 등록
- 웹에서 최초 설정 진행
- 설치 후
/etc/gitea/app.ini권한 강화
핵심은 다음입니다.
- PostgreSQL 18은 Ubuntu 기본 저장소가 아니라 PGDG 공식 저장소를 사용합니다.
- Ubuntu 24.04의 코드명은
noble이므로 PGDG 저장소 Suite는noble-pgdg를 사용합니다. - Gitea 바이너리는 다운로드 후 GPG 서명을 검증하는 것이 좋습니다.
- Gitea 실행 Linux 계정은
git, PostgreSQL 접속 계정은gitea로 분리합니다. host all all 0.0.0.0/0방식은 운영 환경에서 권장하지 않습니다.- 웹 설치 완료 후
/etc/gitea와/etc/gitea/app.ini권한을 반드시 줄이는 것이 좋습니다.
1. 구성 개요
| 구분 | 값 |
|---|---|
| OS | Ubuntu 24.04 LTS |
| Ubuntu 코드명 | noble |
| PostgreSQL | 18.x |
| PostgreSQL 저장소 | PGDG 공식 APT 저장소 |
| Gitea | 1.26.4 |
| Gitea 설치 방식 | 바이너리 설치 |
| Gitea 실행 계정 | Linux 시스템 계정 git |
| Gitea DB 계정 | PostgreSQL role gitea |
| Gitea DB 이름 | giteadb |
| Gitea 기본 웹 포트 | 3000 |
| PostgreSQL 기본 포트 | 5432 |
2. 사전 준비
먼저 패키지 목록을 갱신하고 필요한 기본 패키지를 설치합니다.
sudo apt update
sudo apt install -y curl wget git ca-certificates gnupg
Gitea는 내부적으로 Git을 사용하므로 Git이 설치되어 있어야 합니다.
git --version
Gitea 공식 문서 기준으로 Git 2.0 이상이 필요합니다.
3. PostgreSQL 18 설치
Ubuntu에는 PostgreSQL 패키지가 기본 포함되어 있지만, Ubuntu 릴리스 시점에 고정된 버전이 제공됩니다.
PostgreSQL 18을 명시적으로 설치하려면 PostgreSQL Global Development Group, 즉 PGDG 공식 APT 저장소를 추가하는 것이 좋습니다.
3-1. PGDG 공식 저장소 키 등록
PostgreSQL 공식 문서의 수동 저장소 등록 방식에 맞춰 저장소 키를 등록합니다.
sudo apt install -y curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc \
--fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
여기서 키 파일은 /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc에 저장합니다.
기존에 많이 사용하던 apt-key 방식은 더 이상 권장되지 않으므로 사용하지 않는 것이 좋습니다.
3-2. PGDG 저장소 파일 생성
Ubuntu 24.04의 코드명은 noble입니다.
따라서 PGDG 저장소의 Suite는 noble-pgdg를 사용합니다.
ARCH="$(dpkg --print-architecture)"
sudo tee /etc/apt/sources.list.d/pgdg.sources > /dev/null <<EOF_PGDG
Types: deb
URIs: https://apt.postgresql.org/pub/repos/apt
Suites: noble-pgdg
Architectures: ${ARCH}
Components: main
Signed-By: /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc
EOF_PGDG
생성된 파일을 확인합니다.
cat /etc/apt/sources.list.d/pgdg.sources
정상적으로 생성되었다면 Suites: noble-pgdg가 보여야 합니다.
3-3. PostgreSQL 18 설치
저장소를 갱신한 뒤 PostgreSQL 18을 설치합니다.
sudo apt update
sudo apt install -y postgresql-18 postgresql-client-18 postgresql-contrib-18
설치 후 서비스를 활성화합니다.
sudo systemctl enable --now postgresql
상태와 버전을 확인합니다.
systemctl status postgresql
psql --version
4. PostgreSQL 기본 설정
Gitea 공식 문서에서는 PostgreSQL 비밀번호 인증 방식으로 scram-sha-256 사용을 안내합니다.
요즘 운영 환경에서는 md5보다 scram-sha-256을 사용하는 것이 더 적절합니다.
4-1. password_encryption 확인
현재 PostgreSQL의 비밀번호 암호화 방식을 확인합니다.
sudo -u postgres psql -c "SHOW password_encryption;"
scram-sha-256이 아니라면 PostgreSQL 설정 파일을 수정합니다.
sudo nano /etc/postgresql/18/main/postgresql.conf
아래 설정을 확인하거나 추가합니다.
password_encryption = scram-sha-256
설정 변경 후 PostgreSQL을 재시작합니다.
sudo systemctl restart postgresql
password_encryption은 이후 생성하거나 변경하는 비밀번호에 적용됩니다.
따라서 Gitea DB 계정은 이 설정을 적용한 뒤 생성하는 것이 좋습니다.
5. Gitea용 PostgreSQL DB 및 계정 생성
PostgreSQL에 postgres 슈퍼유저로 접속합니다.
sudo -u postgres psql
Gitea에서 사용할 전용 DB 계정을 생성합니다.
CREATE ROLE gitea WITH LOGIN PASSWORD '강력한비밀번호';
Gitea 전용 데이터베이스를 생성합니다.
CREATE DATABASE giteadb WITH OWNER gitea TEMPLATE template0
ENCODING 'UTF8'
LC_COLLATE 'en_US.UTF-8'
LC_CTYPE 'en_US.UTF-8';
psql을 종료합니다.
\q
여기서 중요한 점은 OWNER gitea입니다.
DB 소유자를 gitea로 지정했기 때문에 일반적인 Gitea 설치에서는 별도의 GRANT ALL ON SCHEMA public TO gitea를 추가하지 않아도 됩니다.
5-1. locale 오류가 발생하는 경우
일부 최소 설치 환경에서는 en_US.UTF-8 locale이 없어서 DB 생성 시 오류가 날 수 있습니다.
먼저 locale을 확인합니다.
locale -a | grep -i en_US
출력이 없다면 locale을 생성합니다.
sudo apt install -y locales
sudo locale-gen en_US.UTF-8
sudo update-locale
다시 확인합니다.
locale -a | grep -i en_US
그 다음 PostgreSQL DB 생성 명령을 다시 실행하면 됩니다.
6. PostgreSQL 접속 허용 설정
Gitea가 PostgreSQL에 접속하려면 pg_hba.conf에 인증 규칙을 추가해야 합니다.
sudo nano /etc/postgresql/18/main/pg_hba.conf
아래 줄을 추가합니다.
host giteadb gitea 127.0.0.1/32 scram-sha-256
Gitea와 PostgreSQL이 같은 서버에 있고, Gitea 웹 설정에서 DB Host를 127.0.0.1:5432로 입력할 예정이라면 위 설정이면 충분합니다.
pg_hba.conf는 위에서 아래로 순서대로 평가됩니다.
따라서 더 넓은 범위의 규칙보다 Gitea 전용 규칙을 위쪽에 두는 것이 안전합니다.
PostgreSQL을 재시작합니다.
sudo systemctl restart postgresql
접속을 테스트합니다.
psql -U gitea -d giteadb -h 127.0.0.1 -W
정상 접속되면 아래 명령으로 종료합니다.
\q
7. DBeaver 같은 외부 툴 접속이 필요한 경우
Gitea 서버 안에서만 PostgreSQL을 사용할 예정이라면 외부 접속을 열 필요가 없습니다.
하지만 DBeaver 같은 관리 툴에서 외부 PC로 접속해야 한다면 PostgreSQL이 서버 IP로도 listen하도록 설정해야 합니다.
sudo nano /etc/postgresql/18/main/postgresql.conf
예를 들어 서버 IP가 192.168.3.250이라면 다음처럼 설정할 수 있습니다.
listen_addresses = 'localhost,192.168.3.250'
그 다음 pg_hba.conf에 접속을 허용할 PC IP만 추가합니다.
sudo nano /etc/postgresql/18/main/pg_hba.conf
예를 들어 내 PC IP가 192.168.3.10이라면 다음처럼 추가합니다.
host giteadb gitea 192.168.3.10/32 scram-sha-256
적용합니다.
sudo systemctl restart postgresql
방화벽을 사용 중이라면 PostgreSQL 포트도 허용해야 합니다.
sudo ufw allow from 192.168.3.10 to any port 5432 proto tcp
sudo ufw status
운영 환경에서 비추천
아래 설정은 모든 IP에서 모든 DB와 모든 계정 접속을 허용하므로 운영 서버에서는 권장하지 않습니다.host all all 0.0.0.0/0 scram-sha-256
8. Gitea 설치 준비
8-1. Gitea 실행용 Linux 계정 생성
Gitea 프로세스를 root로 실행하지 않고 전용 시스템 계정으로 실행합니다.
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
계정 생성 확인:
id git
8-2. Gitea 디렉터리 생성
Gitea 데이터, 로그, 설정 디렉터리를 생성합니다.
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir -p /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
각 경로의 의미는 다음과 같습니다.
| 경로 | 의미 |
|---|---|
/var/lib/gitea/custom |
커스텀 템플릿, 설정 확장 영역 |
/var/lib/gitea/data |
저장소, 첨부 파일, 세션 등 주요 데이터 |
/var/lib/gitea/log |
Gitea 로그 |
/etc/gitea |
Gitea 설정 파일 위치 |
/etc/gitea/app.ini |
웹 설치 후 생성되는 주요 설정 파일 |
/etc/gitea를 처음에 770으로 설정하는 이유는 웹 설치 과정에서 Gitea가 app.ini를 생성해야 하기 때문입니다.
설치 완료 후에는 권한을 더 좁혀야 합니다.
9. Gitea 바이너리 다운로드 및 검증
9-1. Gitea 버전 변수 설정
GITEA_VERSION="1.26.4"
GITEA_ARCH="linux-amd64"
다른 버전을 설치하려면 GITEA_VERSION 값만 변경하면 됩니다.
9-2. Gitea 바이너리 다운로드
wget -O /tmp/gitea-${GITEA_VERSION}-${GITEA_ARCH} \
https://dl.gitea.com/gitea/${GITEA_VERSION}/gitea-${GITEA_VERSION}-${GITEA_ARCH}
서명 파일도 함께 다운로드합니다.
wget -O /tmp/gitea-${GITEA_VERSION}-${GITEA_ARCH}.asc \
https://dl.gitea.com/gitea/${GITEA_VERSION}/gitea-${GITEA_VERSION}-${GITEA_ARCH}.asc
9-3. GPG 키 가져오기
Gitea 공식 문서에서 안내하는 Teabot GPG 키를 가져옵니다.
gpg --keyserver hkps://keys.openpgp.org \
--recv 7C9E68152594688862D62AF62D9AE806EC1592E2
9-4. GPG 서명 검증
다운로드한 바이너리의 서명을 검증합니다.
gpg --verify \
/tmp/gitea-${GITEA_VERSION}-${GITEA_ARCH}.asc \
/tmp/gitea-${GITEA_VERSION}-${GITEA_ARCH}
정상이라면 Good signature from "Teabot <teabot@gitea.io>"와 유사한 메시지가 출력됩니다.
This key is not certified with a trusted signature!같은 경고가 함께 나올 수 있습니다.
이는 로컬 GPG trust 설정과 관련된 경고이며, 핵심은Good signature여부입니다.
9-5. 실행 파일 설치
검증이 끝난 바이너리를 /usr/local/bin/gitea로 설치합니다.
sudo install -o root -g root -m 755 \
/tmp/gitea-${GITEA_VERSION}-${GITEA_ARCH} \
/usr/local/bin/gitea
버전을 확인합니다.
gitea --version
10. systemd 서비스 등록
Gitea를 systemd 서비스로 등록합니다.
sudo nano /etc/systemd/system/gitea.service
아래 내용을 입력합니다.
[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target postgresql.service
Wants=postgresql.service
[Service]
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
RestartSec=2s
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
여기서는 Type=simple을 사용했습니다.
Gitea 공식 systemd 샘플도 systemd 서비스 방식으로 실행하는 구성을 안내합니다.
Wants=postgresql.service와 After=postgresql.service는 같은 서버의 PostgreSQL을 먼저 올린 뒤 Gitea를 시작하기 위한 설정입니다.Requires=postgresql.service를 사용할 수도 있지만, PostgreSQL 서비스 장애가 Gitea 서비스 중지로 강하게 연결될 수 있으므로 여기서는 보수적인 의존 관계로 작성했습니다.
서비스를 적용하고 시작합니다.
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
상태를 확인합니다.
systemctl status gitea
11. 방화벽 설정
UFW를 사용 중인지 확인합니다.
sudo ufw status
UFW가 inactive라면 별도 설정이 필요하지 않을 수 있습니다.
active 상태라면 Gitea 웹 포트인 3000/tcp를 허용합니다.
sudo ufw allow 3000/tcp
sudo ufw status
PostgreSQL을 외부에서 관리해야 하는 경우에는 특정 IP에 대해서만 5432/tcp를 허용하는 것이 좋습니다.
sudo ufw allow from 192.168.3.10 to any port 5432 proto tcp
12. Gitea 웹 초기 설정
브라우저에서 아래 주소로 접속합니다.
http://서버IP:3000
초기 설치 화면에서 데이터베이스 정보를 입력합니다.
| 항목 | 값 |
|---|---|
| 데이터베이스 유형 | PostgreSQL |
| 호스트 | 127.0.0.1:5432 |
| 사용자 이름 | gitea |
| 비밀번호 | PostgreSQL에서 생성한 비밀번호 |
| 데이터베이스 이름 | giteadb |
| SSL | Disable |
Gitea 기본 사이트 설정은 환경에 맞게 입력합니다.
| 항목 | 예시 |
|---|---|
| 사이트 제목 | Gitea |
| 저장소 루트 경로 | /var/lib/gitea/data/gitea-repositories |
| Git LFS 루트 경로 | /var/lib/gitea/data/lfs |
| 실행 사용자 | git |
| 서버 도메인 | 서버 IP 또는 도메인 |
| HTTP 포트 | 3000 |
| 기본 URL | http://서버IP:3000/ |
관리자 계정
Gitea는 초기 설치 과정에서 관리자 계정을 생성할 수 있습니다.
관리자 계정을 지정하지 않고 설치한 경우, 최초로 가입한 사용자가 관리자 계정이 될 수 있으므로 운영 환경에서는 초기 관리자 계정을 명확히 생성하는 것이 좋습니다.
13. 설치 후 설정 파일 권한 강화
웹 설치가 완료되면 /etc/gitea/app.ini 파일이 생성됩니다.
이 파일에는 DB 접속 정보와 내부 토큰이 포함될 수 있으므로 권한을 줄여야 합니다.
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini
소유권을 확인합니다.
ls -ld /etc/gitea
ls -l /etc/gitea/app.ini
일반적으로 다음과 비슷하게 보이면 됩니다.
drwxr-x--- root git /etc/gitea
-rw-r----- root git /etc/gitea/app.ini
Gitea를 재시작합니다.
sudo systemctl restart gitea
14. 설치 확인
14-1. PostgreSQL 상태 확인
systemctl status postgresql
포트 확인:
ss -ntlp | grep 5432
Gitea DB 접속 테스트:
psql -U gitea -d giteadb -h 127.0.0.1 -W
14-2. Gitea 상태 확인
systemctl status gitea
포트 확인:
ss -ntlp | grep 3000
로그 확인:
journalctl -u gitea -f
Gitea 버전 확인:
gitea --version
브라우저 접속 확인:
http://서버IP:3000
15. 계정 구분
Gitea와 PostgreSQL을 함께 설치하면 계정이 여러 개 등장합니다.
이 계정들을 구분하지 못하면 권한 설정이나 DB 조회 시 헷갈릴 수 있습니다.
| 계정 | 위치 | 용도 |
|---|---|---|
postgres |
Linux / PostgreSQL | PostgreSQL 관리용 슈퍼유저 |
gitea |
PostgreSQL role | Gitea 애플리케이션의 DB 접속 계정 |
git |
Linux 시스템 계정 | Gitea 프로세스 실행 계정 |
daniel, jhkim 등 |
Gitea 웹 사용자 | Gitea 웹 로그인 계정 |
중요한 점은 gitea DB 계정과 Gitea 웹 로그인 계정은 서로 다르다는 것입니다.
16. 주요 SQL 조회
Gitea DB에 접속합니다.
sudo -u postgres psql -d giteadb
PostgreSQL DB 계정 목록 확인:
SELECT usename, usesuper
FROM pg_user;
Gitea 웹 사용자 목록 확인:
SELECT id, name, email, is_admin
FROM "user";
Gitea 테이블 목록 확인:
\dt
Gitea의 사용자 테이블 이름은
"user"입니다.user는 SQL에서 예약어로 취급될 수 있으므로 큰따옴표를 사용해"user"처럼 조회하는 것이 안전합니다.
17. 자주 헷갈리는 부분
17-1. CREATE USER와 CREATE ROLE 차이
PostgreSQL에서 CREATE USER는 내부적으로 CREATE ROLE ... LOGIN과 비슷하게 동작합니다.
Gitea 공식 문서에서는 다음 형태를 사용합니다.
CREATE ROLE gitea WITH LOGIN PASSWORD '비밀번호';
따라서 이 글에서도 공식 문서에 맞춰 CREATE ROLE ... WITH LOGIN 방식을 사용했습니다.
17-2. GRANT ALL ON SCHEMA public이 꼭 필요한가?
아래처럼 DB를 생성했다면:
CREATE DATABASE giteadb WITH OWNER gitea ...
DB 소유자가 gitea이므로 일반적인 Gitea 설치에서는 별도의 schema 권한 부여가 필요하지 않습니다.
다만 이미 다른 소유자로 DB를 만든 뒤 나중에 권한을 조정하는 상황이라면 ALTER SCHEMA public OWNER TO gitea 같은 추가 작업이 필요할 수 있습니다.
17-3. host all all 0.0.0.0/0을 사용해도 되는가?
테스트 환경에서는 편할 수 있지만 운영 환경에서는 권장하지 않습니다.
host all all 0.0.0.0/0 scram-sha-256
이 설정은 모든 IP에서 모든 DB, 모든 사용자에 대해 접속을 허용합니다.
운영 환경에서는 최소한 아래처럼 DB, 계정, 접속 IP를 제한하는 것이 좋습니다.
host giteadb gitea 내PC_IP/32 scram-sha-256
17-4. Gitea systemd는 Type=notify가 더 좋은가?
이 글에서는 Type=simple을 사용했습니다.
Type=simple은 프로세스 시작 시점에 systemd가 서비스 시작을 완료로 간주합니다.
운영 환경에서 더 정교한 readiness 처리가 필요하다면 별도의 health check, reverse proxy, 모니터링 구성을 함께 고려하는 것이 좋습니다.
18. 업그레이드 방법
Gitea는 바이너리 방식으로 설치했기 때문에 업그레이드는 비교적 단순합니다.
다만 업그레이드 전에는 반드시 백업을 먼저 수행해야 합니다.
18-1. PostgreSQL DB 백업
pg_dump -U gitea -h 127.0.0.1 giteadb > giteadb_backup.sql
18-2. Gitea 데이터 백업
sudo tar -czf gitea-data-backup.tar.gz /var/lib/gitea /etc/gitea
18-3. 서비스 중지
sudo systemctl stop gitea
18-4. 새 바이너리 다운로드 및 검증
NEW_VERSION="1.26.4"
GITEA_ARCH="linux-amd64"
wget -O /tmp/gitea-${NEW_VERSION}-${GITEA_ARCH} \
https://dl.gitea.com/gitea/${NEW_VERSION}/gitea-${NEW_VERSION}-${GITEA_ARCH}
wget -O /tmp/gitea-${NEW_VERSION}-${GITEA_ARCH}.asc \
https://dl.gitea.com/gitea/${NEW_VERSION}/gitea-${NEW_VERSION}-${GITEA_ARCH}.asc
gpg --verify \
/tmp/gitea-${NEW_VERSION}-${GITEA_ARCH}.asc \
/tmp/gitea-${NEW_VERSION}-${GITEA_ARCH}
18-5. 바이너리 교체 및 재시작
sudo install -o root -g root -m 755 \
/tmp/gitea-${NEW_VERSION}-${GITEA_ARCH} \
/usr/local/bin/gitea
sudo systemctl start gitea
상태 확인:
systemctl status gitea
gitea --version
업그레이드할 때도
/usr/local/bin/gitea처럼 동일한 실행 파일 경로를 유지하는 것이 좋습니다.
기존 Git hook이나 systemd 설정이 이 경로를 기준으로 동작하기 때문입니다.
19. 최종 확인 명령
설치가 끝난 뒤 아래 명령으로 전체 상태를 확인합니다.
systemctl status postgresql
systemctl status gitea
psql --version
gitea --version
ss -ntlp | grep -E "3000|5432"
psql -U gitea -d giteadb -h 127.0.0.1 -W
정상 상태라면 다음을 확인할 수 있어야 합니다.
- PostgreSQL 서비스가 active 상태
- Gitea 서비스가 active 상태
- PostgreSQL 5432 포트 listen
- Gitea 3000 포트 listen
giteaDB 계정으로giteadb접속 가능- 브라우저에서
http://서버IP:3000접속 가능
결론
Ubuntu 24.04에서 PostgreSQL 18과 Gitea를 설치할 때는 단순히 명령어를 나열하기보다 설치 방식의 기준을 명확히 잡는 것이 중요합니다.
PostgreSQL 18은 Ubuntu 기본 저장소가 아니라 PGDG 공식 저장소를 통해 설치하는 방식이 명확합니다.
Ubuntu 24.04에서는 PGDG Suite 값을 noble-pgdg로 설정해야 합니다.
Gitea는 공식 바이너리를 다운로드한 뒤 GPG 서명을 검증하고, /usr/local/bin/gitea에 고정된 이름으로 설치하는 방식이 안정적입니다.
실무 관점에서 가장 중요한 부분은 다음입니다.
- PostgreSQL 저장소는 공식 PGDG 방식으로 등록합니다.
- Ubuntu 24.04에서는
noble-pgdg를 사용합니다. - Gitea DB 계정은 전용 role로 분리합니다.
pg_hba.conf는 필요한 DB, 계정, IP만 허용합니다.- Gitea 실행 계정은 Linux 시스템 계정
git으로 분리합니다. - 웹 설치 후
/etc/gitea/app.ini권한을 반드시 줄입니다. - 업그레이드 전에는 PostgreSQL DB와
/var/lib/gitea,/etc/gitea를 백업합니다.
이 기준으로 설치하면 개인 서버뿐 아니라 소규모 팀에서 사용하는 Git 저장소 서버로도 비교적 안정적으로 운영할 수 있습니다.
참고 자료
- PostgreSQL 공식 Ubuntu 설치 문서: https://www.postgresql.org/download/linux/ubuntu/
- Gitea 공식 바이너리 설치 문서: https://docs.gitea.com/installation/install-from-binary
- Gitea 공식 Database Preparation 문서: https://docs.gitea.com/installation/database-prep
- Gitea 공식 Linux service 문서: https://docs.gitea.com/installation/linux-service
- Gitea 1.26.3 / 1.26.4 릴리스 안내: https://blog.gitea.com/release-of-1.26.3-and-1.26.4/
'운영체제(OS) > Linux' 카테고리의 다른 글
| 리눅스 /usr/bin과 /usr/local/bin의 차이 (0) | 2026.07.17 |
|---|---|
| Ubuntu 24.04에서 AppImage 파일 실행하기 (0) | 2026.07.09 |
| [Ubuntu 24.04] Gitea + PostgreSQL 완전 삭제 및 확인 방법 (0) | 2026.07.01 |
| [Ubuntu 24.04] Zsh 환경 Node.js 및 pnpm 설치 가이드 (0) | 2026.05.09 |
| [Ubuntu] Zsh + Oh My Zsh + Powerlevel10k 기반 개발용 터미널 환경 구축 가이드 (0) | 2026.05.04 |
댓글