Android

Jak zainstalować i skonfigurować Gogs na Ubuntu 18.04

Ubuntu 18.04.1. Установка Wine. Запуск Windows-приложений

Ubuntu 18.04.1. Установка Wine. Запуск Windows-приложений

Spisu treści:

Anonim

Gogs to samoobsługowy serwer git typu open source napisany w Go. Zawiera edytor plików repozytorium, śledzenie problemów z projektami i wbudowaną wiki.

Gogs to lekka aplikacja, którą można zainstalować w systemach o niskiej mocy. Jeśli szukasz alternatywy dla Gitlab o znacznie mniejszej pojemności pamięci i nie potrzebujesz wszystkich dzwonków i gwizdów, które oferuje Gitlab, zdecydowanie powinieneś wypróbować Gogs.

W tym samouczku opisano kroki instalacji i konfiguracji Gogs w systemie Ubuntu 18.04. Te same instrukcje dotyczą Ubuntu 16.04 i każdej innej dystrybucji opartej na Ubuntu.

Zanim zaczniesz

Gogi mogą używać bazy danych SQLite, PostgreSQL lub MySQL / MariaDB do przechowywania wszystkich swoich danych.

W tym samouczku użyjemy SQLite jako wybranej bazy danych. Jeśli SQLite nie jest zainstalowany w twoim systemie, możesz go zainstalować, wpisując:

sudo apt install sqlite3

Dla dodatkowej warstwy bezpieczeństwa zalecane jest skonfigurowanie podstawowej zapory ogniowej. Możesz wykonać czynności opisane w naszym poradniku Jak skonfigurować zaporę ogniową z UFW w przewodniku Ubuntu 18.04.

Instalowanie Gogów

Zainstalujemy Gogi z binarnego. Instalacja jest dość prostym procesem.

Zainstaluj Git

Pierwszym krokiem jest instalacja Git na serwerze. Aby to zrobić, odśwież indeks lokalnego pakietu i zainstaluj pakiet git, uruchamiając następujące polecenia jako użytkownik sudo:

sudo apt update sudo apt install git

Sprawdź instalację, wyświetlając wersję Git:

git --version

git version 2.17.1

Utwórz użytkownika Git

Utwórz nowego użytkownika systemu, aby uruchomić usługę Gogs, wpisując:

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

Polecenie utworzy użytkownika i ustawi katalog domowy na /home/git . Wynik będzie wyglądał mniej więcej tak:

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'…

Pobierz plik binarny Gogs

Odwiedź stronę pobierania Gogs i pobierz najnowszy plik binarny dla swojej architektury. W momencie pisania najnowsza wersja to 0.11.86, jeśli dostępna jest nowa wersja, zmień zmienną VERSION w poniższym poleceniu.

Pobierz archiwum Gogsa z katalogu /tmp używając następującego polecenia wget:

VERSION=0.11.86 wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp

Po zakończeniu pobierania wyodrębnij plik tar.gz Gogs i przenieś go do katalogu /home/git :

sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

Uruchom następujące polecenie, aby zmienić własność katalogu instalacyjnego Gogs na użytkownika i grupę git:

sudo chown -R git: /home/git/gogs

Utwórz systemowy plik jednostki

Gogs jest dostarczany z plikiem jednostkowym Systemd, który jest już skonfigurowany tak, aby pasował do naszej konfiguracji.

Skopiuj plik do katalogu /etc/systemd/system/ , wpisując:

sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

Po zakończeniu uruchom i włącz usługę Gogs:

sudo systemctl start gogs sudo systemctl enable gogs

Sprawdź, czy usługa została uruchomiona pomyślnie:

* 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

Zainstaluj Gogsa za pomocą instalatora internetowego

Po pobraniu i uruchomieniu Gogsa nadszedł czas, aby zakończyć instalację za pośrednictwem interfejsu internetowego.

Otwórz przeglądarkę, wpisz http://YOUR_DOMAIN_IR_IP:3000 a pojawi się ekran podobny do następującego:

Pierwszy zarejestrowany użytkownik jest automatycznie dodawany do grupy administracyjnej.

Otóż ​​to. Gogs został zainstalowany na twoim komputerze Ubuntu.

Konfigurowanie Nginx jako serwera proxy terminacji SSL

Ten krok jest opcjonalny, ale jest wysoce zalecany. Aby używać Nginx jako odwrotnego proxy, musisz mieć domenę lub subdomenę wskazującą publiczny adres IP twojego serwera. W tym samouczku użyjemy gogs.example.com .

Najpierw zainstaluj Nginx i wygeneruj bezpłatny certyfikat Let's Encrypt SSL, postępując zgodnie z poniższymi instrukcjami:

Po zakończeniu otwórz edytor tekstu i edytuj plik bloku serwera domeny:

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; } }

Nie zapomnij zastąpić gogs.example.com domeną Gogs i ustawić prawidłową ścieżkę do plików certyfikatów SSL. Wszystkie żądania HTTP zostaną przekierowane do Uruchom ponownie usługę Nginx, aby zmiany odniosły skutek:

sudo systemctl restart nginx

Następnie musimy zmienić domenę Gogs i adres URL root. W tym celu otwórz plik konfiguracyjny i edytuj następujące linie:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

DOMAIN = gogs.example.com ROOT_URL =

Uruchom ponownie usługę Gogs, wpisując:

sudo systemctl restart gogs

W tym momencie Gogs jest skonfigurowany i możesz uzyskać do niego dostęp pod https://gogs.example.com : https://gogs.example.com

Konfigurowanie powiadomień e-mail

Aby Gogs mógł wysyłać powiadomienia e-mail, możesz zainstalować Postfix lub skorzystać z niektórych transakcyjnych usług pocztowych, takich jak SendGrid, MailChimp, MailGun lub SES.

Aby włączyć powiadomienia e-mail, otwórz plik konfiguracyjny i edytuj następujące wiersze:

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

Upewnij się, że podałeś poprawne informacje o serwerze SMTP.

Uruchom ponownie usługę Gogs, aby zmiany odniosły skutek:

sudo systemctl restart gogs

Gogs pozwala także łączyć się ze Slackiem, tworząc przeglądarkę internetową i wysyłając powiadomienia do swoich kanałów Slacka.

Ulepszanie Gogów

Aby zaktualizować Gogs, konieczne jest wykonanie kilku ręcznych kroków.

  1. Najpierw zatrzymaj usługę Gogs:

    sudo systemctl stop gogs

    Zmień nazwę katalogu instalacyjnego Gogsa.

    sudo mv /home/git/gogs{, _old}

    Pobierz najnowszą wersję Gogsa i przenieś ją do katalogu /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

    Upewnij się, że zmieniłeś WERSJĘ z aktualną wersją wydania Gogs.

    Skopiuj katalogi custom , data i log do wyodrębnionego katalogu za pomocą następującego polecenia rsync:

    sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/

    Na koniec uruchom usługę Gogs:

    sudo systemctl restart gogs

Otóż ​​to.

Wniosek

Ten samouczek przeprowadził cię przez instalację i konfigurację Gogs na Ubuntu 18.04. Możesz teraz stworzyć swój pierwszy projekt i zacząć korzystać z nowego serwera Gogs.

gogle ubuntu