차례:
- 시작하기 전에
- 고그 설치
- 힘내 설치
- 힘내 사용자 만들기
- Gogs 바이너리 다운로드
- 시스템 단위 파일 작성
- 웹 설치 프로그램을 사용하여 Gogs 설치
- Nginx를 SSL 종료 프록시로 구성
- 이메일 알림 구성
- Gogs 업그레이드
- 결론
Gogs는 Go로 작성된 자체 호스팅 오픈 소스 git 서버입니다. 리포지토리 파일 편집기, 프로젝트 이슈 트래킹 및 내장 위키가 포함되어 있습니다.
Gogs는 가벼운 응용 프로그램으로 저전력 시스템에 설치할 수 있습니다. 훨씬 작은 메모리 공간을 가진 Gitlab의 대안을 찾고 있는데 Gitlab이 제공하는 모든 종소리와 휘파람이 필요하지 않으면 Gogs를 반드시 시도해야합니다.
이 튜토리얼은 Ubuntu 18.04에서 Gogs를 설치하고 구성하는 단계를 설명합니다. Ubuntu 16.04 및 기타 Ubuntu 기반 배포판에도 동일한 지침이 적용됩니다.
시작하기 전에
Gogs는 SQLite, PostgreSQL 또는 MySQL / MariaDB 데이터베이스를 사용하여 모든 데이터를 저장할 수 있습니다.
이 학습서에서는 SQLite를 선택한 데이터베이스로 사용합니다. 시스템에 SQLite가 설치되어 있지 않은 경우 다음을 입력하여 설치할 수 있습니다.
sudo apt install sqlite3
추가 보안 계층을 위해서는 기본 방화벽을 설정하는 것이 좋습니다. Ubuntu 18.04의 UFW를 사용하여 방화벽을 설정하는 방법 가이드의 단계를 수행 할 수 있습니다.
고그 설치
바이너리에서 Gogs를 설치할 것입니다. 설치 과정은 매우 간단합니다.
힘내 설치
첫 번째 단계는 서버에 Git을 설치하는 것입니다. 이렇게하려면 로컬 패키지 색인을 새로 고치고 sudo 사용자로 다음 명령을 실행하여 git 패키지를 설치하십시오.
sudo apt update
sudo apt install git
Git 버전을 표시하여 설치를 확인하십시오.
git --version
힘내 사용자 만들기
다음을 입력하여 Gogs 서비스를 실행할 새 시스템 사용자를 작성하십시오.
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
이 명령은 사용자를 작성하고 홈 디렉토리를
/home/git
로 설정합니다. 결과는 다음과 같습니다.
Adding system user `git' (UID 111)… Adding new group `git' (GID 116)… Adding new user `git' (UID 111) with group `git'… Creating home directory `/home/git'…
Gogs 바이너리 다운로드
Gogs 다운로드 페이지를 방문하여 아키텍처에 맞는 최신 바이너리를 다운로드하십시오. 작성 당시 최신 버전은 0.11.86이며, 사용 가능한 새 버전이 있으면 아래 명령에서
VERSION
변수를 변경하십시오.
다음 wget 명령을 사용하여
/tmp
디렉토리에서 Gogs 아카이브를 다운로드하십시오.
VERSION=0.11.86
wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp
다운로드가 완료되면 Gogs tar.gz 파일을 추출하여
/home/git
디렉토리로 이동하십시오.
sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git
다음 명령을 실행하여 Gogs 설치 디렉토리의 소유권을 사용자 및 그룹 git으로 변경하십시오.
sudo chown -R git: /home/git/gogs
시스템 단위 파일 작성
Gogs는 설정과 일치하도록 이미 구성된 Systemd unit 파일과 함께 제공됩니다.
다음을 입력하여 파일을
/etc/systemd/system/
디렉토리에 복사하십시오.
sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
완료되면 Gogs 서비스를 시작하고 활성화하십시오.
sudo systemctl start gogs
sudo systemctl enable gogs
서비스가 성공적으로 시작되었는지 확인하십시오.
* gogs.service - Gogs Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago Main PID: 14376 (gogs) Tasks: 8 (limit: 2319) CGroup: /system.slice/gogs.service `-14376 /home/git/gogs/gogs web
웹 설치 프로그램을 사용하여 Gogs 설치
Gogs를 다운로드하여 실행 했으므로 이제 웹 인터페이스를 통해 설치를 완료해야합니다.
브라우저를 열고
http://YOUR_DOMAIN_IR_IP:3000
을 입력하면 다음과 유사한 화면이 나타납니다.
첫 번째 등록 된 사용자가 자동으로 관리 그룹에 추가됩니다.
그게 다야. Gobun이 Ubuntu 컴퓨터에 설치되었습니다.
Nginx를 SSL 종료 프록시로 구성
이 단계는 선택 사항이지만 강력히 권장됩니다. Nginx를 리버스 프록시로 사용하려면 서버 퍼블릭 IP를 가리키는 도메인 또는 하위 도메인이 있어야합니다. 이 학습서에서는
gogs.example.com
을 사용
gogs.example.com
.
먼저 Nginx를 설치하고 아래 가이드에 따라 무료 Let 's Encrypt SSL 인증서를 생성하십시오.
완료되면 텍스트 편집기를 열고 도메인 서버 블록 파일을 편집하십시오.
sudo nano /etc/nginx/sites-enabled/gogs.example.com
/etc/nginx/sites-enabled/gogs.example.com
server { listen 80; server_name gogs.example.com; include snippets/letsencrypt.conf; return 301 https://gogs.example.com$request_uri; } server { listen 443 ssl http2; server_name gogs.example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf; # log files access_log /var/log/nginx/gogs.example.com.access.log; error_log /var/log/nginx/gogs.example.com.error.log; # Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } }
gogs.example.com을 Gogs 도메인으로 바꾸고 SSL 인증서 파일의 올바른 경로를 설정하는 것을 잊지 마십시오. 모든 HTTP 요청이 HTTPS로 리디렉션됩니다
변경 사항을 적용하려면 Nginx 서비스를 다시 시작하십시오.
sudo systemctl restart nginx
다음으로 Gogs 도메인과 루트 URL을 변경해야합니다. 이렇게하려면 구성 파일을 열고 다음 행을 편집하십시오.
sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
DOMAIN = gogs.example.com ROOT_URL =
다음을 입력하여 Gogs 서비스를 다시 시작하십시오.
sudo systemctl restart gogs
이 시점에서 Gogs가 구성되었으며
https://gogs.example.com
에서 액세스 할 수 있습니다.
이메일 알림 구성
Gogs가 알림 이메일을 보내려면 Postfix를 설치하거나 SendGrid, MailChimp, MailGun 또는 SES와 같은 일부 트랜잭션 메일 서비스를 사용할 수 있습니다.
이메일 알림을 사용하려면 구성 파일을 열고 다음 행을 편집하십시오.
sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD
올바른 SMTP 서버 정보를 입력하십시오.
변경 사항을 적용하려면 Gogs 서비스를 다시 시작하십시오.
sudo systemctl restart gogs
Gogs를 사용하면 웹 웹 후크를 만들어 Slack 채널에 알림을 보내 Slack에 연결할 수 있습니다.
Gogs 업그레이드
Gogs를 업그레이드하려면 몇 가지 수동 단계가 필요합니다.
-
먼저 Gogs 서비스를 중지하십시오.
sudo systemctl stop gogs
Gogs 설치 디렉토리의 이름을 바꾸십시오.
sudo mv /home/git/gogs{, _old}
최신 Gogs 버전을 다운로드하여
/home/git
디렉토리로 이동하십시오.VERSION=
wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp
sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git
실제 Gogs 릴리스 버전으로
VERSION
을 변경하십시오.다음 rsync 명령을 사용하여
custom
,data
,log
디렉토리를 추출 된 디렉토리에 복사하십시오.sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/
마지막으로 Gogs 서비스를 시작하십시오.
sudo systemctl restart gogs
그게 다야.
결론
이 튜토리얼은 Ubuntu 18.04에서 Gogs의 설치 및 구성 과정을 안내합니다. 이제 첫 번째 프로젝트를 만들고 새 Gogs 서버를 사용할 수 있습니다.
우분투 고그우분투 18.04에서 nfs 서버를 설치하고 구성하는 방법
NFS (Network File System)는 네트워크를 통해 원격 디렉토리를 공유 할 수있는 분산 파일 시스템 프로토콜입니다. 이 튜토리얼에서는 Ubuntu 18.04에서 NFSv4 서버를 설정하는 방법을 설명합니다.
우분투 18.04에서 redis를 설치하고 구성하는 방법
Redis는 오픈 소스 인 메모리 데이터 구조 저장소입니다. 데이터베이스, 캐시 및 메시지 브로커로 사용할 수 있으며 문자열, 해시, 목록, 세트 등과 같은 다양한 데이터 구조를 지원합니다.이 튜토리얼에서는 Ubuntu 18.04 서버에서 Redis를 설치하고 구성하는 방법에 대해 설명합니다.
우분투 18.04에서 nagios를 설치하고 구성하는 방법
Nagios는 가장 널리 사용되는 오픈 소스 모니터링 시스템 중 하나입니다. Nagios는 전체 IT 인프라의 인벤토리를 유지하고 네트워크, 서버, 응용 프로그램, 서비스 및 프로세스가 작동하고 실행되도록합니다.