>  기사  >  개발 도구  >  Linux에서 Gogs를 통해 자신만의 Github을 구축하는 방법

Linux에서 Gogs를 통해 자신만의 Github을 구축하는 방법

PHPz
PHPz원래의
2023-03-31 14:02:09935검색

Github의 점진적인 인기로 인해 점점 더 많은 사람들이 Github에서 자신만의 프로젝트를 구축하기로 선택하게 될 것입니다. 즉, Github에 자신의 코드를 게시하는 것입니다. 그러나 Github은 단일 계정에서 생성할 수 있는 프라이빗 리포지토리 수를 제한하므로 자주 사용하는 일부 사용자는 자신의 코드 리포지토리를 구축하기 위한 다른 방법을 찾아야 할 수도 있습니다. 이때에는 Github을 직접 구축하는 것이 선택 사항이 되었습니다. 이 글에서는 Linux 시스템에서 Gogs를 통해 자신만의 Github을 구축하여 Github 계정의 제한을 해제하는 방법을 주로 소개합니다.

1. 설치 환경

빌드를 시작하기 전에 시스템에 해당 환경이 설치되어 있는지 확인해야 합니다.

  1. MySQL 또는 PostgreSQL
  2. Go >= 1.12.x
  3. Git >= 1.7 .1 (2 .x 권장)

Ubuntu 시스템의 경우 다음 명령을 통해 MySQL을 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install mysql-server

Go 설치 방법은 공식 홈페이지에서 다운로드하여 지침을 따르시면 됩니다.

Ubuntu 또는 Debian 시스템의 일부 버전에서는 git-core가 설치되지 않을 수 있으므로 설치해야 합니다.

sudo apt-get update
sudo apt-get install git-core

2. Gogs 설치

  1. Github에서 최신 버전의 Gogs를 다운로드하여 이 디렉터리에 압축을 풉니다. :
wget https://dl.gogs.io/gogs_latest_linux_amd64.tar.gz
tar xvfz gogs_latest_linux_amd64.tar.gz
  1. 다운로드한 Gogs 디렉터리를 입력하고 설치를 수행하세요.
cd gogs
./gogs install

설치를 수행할 때 다음 내용을 입력해야 합니다.

Do you want to install as Windows service/daemon? (y/n)
n
Please enter the URL: (e.g. http://domain.com[:port] or http://[IP]:[port])
http://localhost:3000

다음 설치 단계에서는 일부 데이터베이스 관련 내용을 입력하라는 메시지가 표시됩니다. 당신은 당신의 구성 요구에 따라 그것을 입력해야합니다. 이 단계에서는 MySQL을 데이터베이스로 사용하고 두 번째 서버를 설치하는 것이 좋습니다.

Git 정보를 입력해야 할 경우 GitHub에 사용되는 SSH 키를 추가하는 데 주의가 필요합니다.

  1. Gogs 시작:
cd gogs
./gogs web

시작이 성공적으로 완료되면 브라우저에서 http://localhost:3000을 방문할 수 있습니다.

3. Nginx 역방향 프록시 구성

Gogs 인스턴스가 프로덕션 환경에 있는 경우 Nginx를 역방향 프록시 서버로 사용하는 것이 좋습니다.

  1. Nginx 설치:
sudo apt install nginx
  1. 가상 호스트 파일 만들기:
sudo nano /etc/nginx/sites-available/gogs

다음 콘텐츠를 추가하세요.

server {
    listen 80;

    server_name git.example.com; # your domain name

    access_log /var/log/nginx/git.access.log;
    error_log /var/log/nginx/git.error.log;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $http_host;
    }

    location /ws {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location ~ /\. {
        deny all;
    }
}

필요에 따라 server_name을 변경하세요.

  1. Nginx가 가상 호스트를 확인하는지 확인하세요.
sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/

그런 다음 Nginx 구성을 다시 로드하세요.

sudo nginx -t
sudo systemctl reload nginx

이제 웹 브라우저에서 웹 사이트를 열고 GitHub OAuth를 통해 로그인할 수 있습니다.

4. 요약

위는 Gogs를 통해 나만의 Github 계정을 설정하는 방법입니다. 실제 작업에서 몇 가지 세부 사항을 접하게 될 것이라고 생각하지만 일반적으로 작업은 간단하고 이해하기 쉽습니다. 이러한 자세한 질문에 대해서는 공식 문서나 포럼으로 이동하여 도움을 받을 수 있습니다. Github을 직접 구축하면 보다 유연한 관리가 가능해질 뿐만 아니라 개발자 도구를 사용하면 학습 프로젝트가 될 수도 있습니다.

위 내용은 Linux에서 Gogs를 통해 자신만의 Github을 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.