Gitea 서버 설치 및 설정 가이드

이 가이드는 Ubuntu 환경에서 Gitea 서버를 설치하고 설정하는 전체 과정을 단계별로 안내합니다.

1. 시스템 업데이트

sudo apt update
sudo apt dist-upgrade -y
sudo apt autoremove -y
cp /etc/skel/.bashrc /root/.bashrc

2. 로케일 및 시간대 설정

sudo vi /etc/default/locale
# 파일 내 LANG=en_US.UTF-8로 설정

dpkg-reconfigure tzdata
timedatectl

sudo apt install systemd-timesyncd
sudo systemctl enable systemd-timesyncd --now
timedatectl timesync-status

sudo apt install chrony
chronyc sourcestats -v

3. Nginx 설치 및 설정

sudo apt install nginx -y
sudo vi /etc/nginx/sites-available/gitea

# 아래 내용을 파일에 추가
server {
    listen 80;
    server_name git.도메인.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/gitea
sudo nginx -t
sudo systemctl restart nginx

4. SSL 인증서 발급 (Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d git.itsent.kr
sudo certbot renew --dry-run
sudo systemctl restart nginx

5. MariaDB 설치 및 설정

sudo apt install mariadb-server mariadb-client -y
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

# 아래 옵션 추가
socket = /run/mysqld/mysqld.sock
skip_name_resolve
skip_host_cache

sudo systemctl restart mariadb

mysql -u root
CREATE USER 'root'@'127.0.0.1' IDENTIFIED VIA mysql_native_password USING PASSWORD('비밀번호');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
SELECT user, host, password, plugin FROM mysql.user;

6. Gitea 사용자 및 환경 설정

sudo adduser --home /home/gitea gitea
cd /tmp
wget -O gitea https://dl.gitea.io/gitea/1.21.11/gitea-1.21.11-linux-amd64
chmod +x gitea
sudo mv gitea /usr/local/bin/gitea

sudo mkdir -p /home/gitea/{custom,data,log}
sudo chown -R gitea:gitea /home/gitea
sudo chmod -R 750 /home/gitea

sudo mkdir -p /etc/gitea
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

환경 요약

  • 사용자: gitea
  • 홈 디렉토리: /home/gitea
  • Gitea 바이너리: /usr/local/bin/gitea
  • 설정파일: /etc/gitea/app.ini
  • 데이터 경로: /home/gitea/data
  • 로그 경로: /home/gitea/log
  • Nginx 설정파일: /etc/nginx/sites-available/gitea

이제 Gitea 서버 설치 및 설정이 완료되었습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다