이 가이드는 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 서버 설치 및 설정이 완료되었습니다!