androide

Come installare e configurare gogs su ubuntu 18.04

How to install Mesa 18.1.1 and higher on Ubuntu 18.04

How to install Mesa 18.1.1 and higher on Ubuntu 18.04

Sommario:

Anonim

Gogs è un server git open source self-hosted scritto in Go. Include un editor di file del repository, il rilevamento dei problemi del progetto e un wiki integrato.

Gogs è un'applicazione leggera e può essere installata su sistemi a bassa potenza. Se stai cercando un'alternativa a Gitlab con un ingombro di memoria molto più piccolo e non hai bisogno di tutte le campane e fischietti che offre Gitlab, allora dovresti assolutamente provare Gogs.

Questo tutorial illustra i passaggi per installare e configurare Gogs su Ubuntu 18.04. Le stesse istruzioni valgono per Ubuntu 16.04 e qualsiasi altra distribuzione basata su Ubuntu.

Prima di iniziare

Gogs può utilizzare il database SQLite, PostgreSQL o MySQL / MariaDB per archiviare tutti i suoi dati.

In questo tutorial, useremo SQLite come database preferito. Se SQLite non è installato sul tuo sistema puoi installarlo digitando:

sudo apt install sqlite3

Per un ulteriore livello di sicurezza, si consiglia di impostare un firewall di base. Puoi seguire i passaggi nella nostra guida Come impostare un firewall con UFW su Ubuntu 18.04.

Installazione di Gogs

Installeremo Gogs da binario. L'installazione è un processo piuttosto semplice.

Installa Git

Il primo passo è installare Git sul tuo server. Per fare ciò, aggiorna l'indice del pacchetto locale e installa il pacchetto git eseguendo i seguenti comandi come utente sudo:

sudo apt update sudo apt install git

Verifica l'installazione visualizzando la versione Git:

git --version

git version 2.17.1

Crea un utente Git

Crea un nuovo utente di sistema per eseguire il servizio Gogs digitando:

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

Il comando creerà l'utente e imposterà la directory home su /home/git . L'output sarà simile al seguente:

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

Scarica binario Gogs

Visita la pagina di download di Gogs e scarica l'ultimo binario per la tua architettura. Al momento in cui scrivo, l'ultima versione è 0.11.86, se è disponibile una nuova versione, modifica la variabile VERSION nel comando seguente.

Scarica l'archivio Gogs nella /tmp usando il seguente comando wget:

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

Una volta completato il download, estrarre il file tar.gz di Gogs e spostarlo nella directory /home/git :

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

Eseguire il comando seguente per modificare la proprietà della directory di installazione di Gogs per l'utente e raggruppare git:

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

Creare un file unità di systemd

Gogs viene fornito con un file di unità Systemd che è già configurato per corrispondere alla nostra configurazione.

Copia il file nella directory /etc/systemd/system/ digitando:

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

Una volta fatto, avvia e abilita il servizio Gogs:

sudo systemctl start gogs sudo systemctl enable gogs

Verifica che il servizio sia avviato correttamente:

* 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

Installa Gogs usando il programma di installazione web

Ora che Gogs è scaricato e in esecuzione, è tempo di finalizzare l'installazione tramite l'interfaccia web.

Apri il browser, digita http://YOUR_DOMAIN_IR_IP:3000 e verrà visualizzata una schermata simile alla seguente:

Il primo utente registrato viene automaticamente aggiunto al gruppo Admin.

Questo è tutto. Gogs è stato installato sul tuo computer Ubuntu.

Configurazione di Nginx come proxy di terminazione SSL

Questo passaggio è facoltativo ma è altamente raccomandato. Per utilizzare Nginx come proxy inverso è necessario disporre di un dominio o sottodominio che punti all'IP pubblico del server. In questo tutorial useremo gogs.example.com .

Innanzitutto, installa Nginx e genera un certificato SSL Let's Encrypt gratuito seguendo le guide seguenti:

Una volta fatto, apri il tuo editor di testo e modifica il file di blocco del server di dominio:

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

Non dimenticare di sostituire gogs.example.com con il tuo dominio Gogs e impostare il percorso corretto per i file del certificato SSL. Tutte le richieste HTTP verranno reindirizzate a Riavvia il servizio Nginx per rendere effettive le modifiche:

sudo systemctl restart nginx

Successivamente, dobbiamo cambiare il dominio Gogs e l'URL di root. Per fare ciò, apri il file di configurazione e modifica le seguenti righe:

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

DOMAIN = gogs.example.com ROOT_URL =

Riavvia il servizio Gogs digitando:

sudo systemctl restart gogs

A questo punto, Gogs è configurato e puoi accedervi all'indirizzo: https://gogs.example.com

Configurazione delle notifiche e-mail

Affinché Gogs sia in grado di inviare e-mail di notifica, è possibile installare Postfix o utilizzare alcuni servizi di posta transazionale come SendGrid, MailChimp, MailGun o SES.

Per abilitare le notifiche e-mail, aprire il file di configurazione e modificare le seguenti righe:

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

Assicurati di inserire le informazioni corrette sul server SMTP.

Riavvia il servizio Gogs per rendere effettive le modifiche:

sudo systemctl restart gogs

Gogs ti consente anche di connetterti a Slack creando un webhook web e inviando notifiche ai tuoi canali Slack.

Aggiornamento di Gogs

Per aggiornare Gogs, sono necessari diversi passaggi manuali.

  1. Primo arresto del servizio Gogs:

    sudo systemctl stop gogs

    Rinomina la directory di installazione di Gogs.

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

    Scarica l'ultima versione di Gogs e /home/git directory /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

    Assicurati di cambiare VERSION con l'attuale versione di rilascio di Gogs.

    Copia directory custom , di data e di log directory estratta usando il seguente comando rsync:

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

    Infine, avvia il servizio Gogs:

    sudo systemctl restart gogs

Questo è tutto.

Conclusione

Questo tutorial ti ha guidato attraverso l'installazione e la configurazione di Gogs su Ubuntu 18.04. Ora puoi creare il tuo primo progetto e iniziare a utilizzare il tuo nuovo server Gogs.

ubuntu gogs