가벼운 설치형 Git 솔루션 Gitea 설치하기

IT ETC / /
728x90

설치형 GiteaGitHub, Bitbucket GitLab과 유사한 솔루션이다.

Gitea Go로 이루어져 있고 Lite한 환경에서도 운영이 가능하다.

Git 형상 관리 솔루션의 장단점 비교는 해당 페이지에서 가능하다.

 

Gitea compared to other Git hosting options - Docs

 

다음은 ubuntu 20.04 에서 Gitea를 설치하는 방법이다.

우선 패키지를 업데이트하고 Gitea의 필요 Release를 다운로드 받고 권한을 할당한다.

해당 Release 정보는 해당 페이지에서 가능하다.

 

https://dl.gitea.io/gitea

 

sudo apt update

wget -O gitea https://dl.gitea.io/gitea/1.15.4/gitea-1.15.4-linux-amd64

chmod +x gitea

 

Gitea를 사용하기 위해서는 GitDB가 필요하다.

기본적으로 DB SQLiteDefault로 설치하지만

예제에서는 mariadb를 사용하여 설치하도록 진행한다.

우선 GIt을 설치하고 버전을 확인하여 설치를 확인한다.

sudo apt -y install git

git --version

 

이후 DB를 설치한다. 현재 Ubuntu 20.04 apt 최신 패키지에서 지원하는 Mariadb 10.3을 설치하도록 하겠다.

설치 후 기본 보안을 셋팅한다. root의 비밀번호 설정 후 원격 접속을 제거하고 test Database 관련을 제거하여 Clean 하도록 한다.

sudo apt install -y mariadb-server mariadb-client

sudo mysql_secure_installation

Enter current password for root (enter for none): 엔터

Set root password? [Y/n]: Y

New password: 설정할비밀번호

Re-enter new password: 설정할비밀번호

Remove anonymous users? [Y/n]: Y

Disallow root login remotely? [Y/n]: Y

Remove test database and access to it? [Y/n]:  Y

Reload privilege tables now? [Y/n]:  Y

 

sudo systemctl restart mysql

 

설정 후 mariadb에 접속하여 gitea Database 및 관리 계정을 만들어 권한을 준다.

CREATE DATABASE gitea CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'gitea^epdlxjxla789';

GRANT ALL ON gitea.* TO 'gitea'@'localhost';

FLUSH PRIVILEGES;

 

해당 DB 설정 후 Gitea를 실행할 계정을 만들고 해당 계정에 Gitea 관련 폴더를 생성하여 권한을 설정한다.

sudo adduser \

--system \

--shell /bin/bash \

--gecos 'Git Version Control' \

--group \

--disabled-password \

--home /home/gitea \

gitea

 

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}

sudo chown gitea:gitea /var/lib/gitea/{data,indexers,log}

sudo chmod 750 /var/lib/gitea/{data,indexers,log}

sudo mkdir /etc/gitea

sudo chown root:gitea /etc/gitea

sudo chmod 770 /etc/gitea

 

다운로드 받은 giteabin 폴더로 복사한다.

cp gitea /usr/local/bin/gitea

 

위 작업이 끝나면 Gitea Service로 등록하여 편하게 관리하도록 Service를 구축한다.

sudo vi /etc/systemd/system/gitea.service

 

[Unit]

Description=Gitea (Git with a cup of tea)

After=syslog.target

After=network.target

#After=mysqld.service

#After=postgresql.service

#After=memcached.service

#After=redis.service

 

[Service]

# Modify these two values and uncomment them if you have

# repos with lots of files and get an HTTP error 500 because

# of that

###

#LimitMEMLOCK=infinity

#LimitNOFILE=65535

RestartSec=2s

Type=simple

User=gitea

Group=gitea

WorkingDirectory=/var/lib/gitea/

ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini

Restart=always

Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

# If you want to bind Gitea to a port below 1024 uncomment

# the two values below

###

#CapabilityBoundingSet=CAP_NET_BIND_SERVICE

#AmbientCapabilities=CAP_NET_BIND_SERVICE

 

[Install]

WantedBy=multi-user.target

 

저장 후 service demonreload하고 Gitea Service를 시작한다.

sudo systemctl daemon-reload

sudo systemctl enable gitea

sudo systemctl start gitea

sudo systemctl status gitea

 

http://서버아이피:3000 으로 접속한 후 회원가입 버튼을 누른다.

아래와 같은 화면이 뜰것인데, 아까 Mysql을 설정하였으니 DB Mysql로 바꾼 후 설정했던 DB 계정의 아이디와 비밀번호를 입력한다.

 

ssh서버 도메인은 아이피 또는 자신이 쓸 도메인을 입력하고, gitea base url http://localhost:3000/으로 둔다.

 

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기