#howto - Installazione e configurazione di Gogs su Centos/RHEL 7/8

Scritto da il
Redatto da
github
bash

Gogs è un servizio git self-hosted. Rispetto a GitLab e similari, questo si presenta come un sistema molto leggero e performante.

L’installazione non è complessa, ma richiede diversi passaggi. La guida è applicabile sia a Centos/RHEL 7 che 8.

Di base sono supportate diverse tipologie di database:

  • MySQL
  • PostgreSQL
  • SQLite3
  • MSSQL
  • TiDB

Nel nostro esempio useremo PostgreSQL, ma è possibile sfruttare qualsiasi altro database mutando semplicemente la configurazione.

Installazione di PostgreSQL

Procediamo all’installazione via yum:

yum install postgresql-server postgresql-contrib

ed inizializziamo il database principale:

postgresql-setup initdb

Configurazione di PostgreSQL

In questa sezione andiamo a configurare PostgreSQL per renderlo funzionante solo su IP locale.

Effettuiamo l’accesso come utente postgres:

su - postgres

e modifichiamo il file in posizione data/postgresql.conf, nella sua home:

nano data/postgresql.conf

nello specifico cerchiamo (CTRL+W) il parametro listen_addresses ed eliminiamo il commento che lo precede. In questo modo la linea dovrebbe corrispondere alla seguente:

listen_addresses = '127.0.0.1'

terminata la modifica salviamo (CTRL+X).

Infine, abilitiamo ed avviamo il servizio via systemctl:

systemctl start postgresql
systemctl enable postgresql

Preparazione database

Ora, andiamo a creare il database da dedicare all’installazione di Gogs. Accertiamoci di essere ancora nella sessione dell’utente postgres e se così non fosse:

su - postgres

ed entriamo nella console dando il comando psql.

Procediamo quindi alla creazione del database che in questa guida chiameremo gogs:

CREATE DATABASE gogs;

creiamo anche l’utente gogs a cui daremo (per esempio) come password gogs_password (questa andrà cambiata):

CREATE USER gogs WITH ENCRYPTED PASSWORD 'gogs_password';
GRAND ALL PRIVILEGES ON DATABASE gogs to gogs
exit

Terminato, usciamo dalla sessione di postgres con exit.

Installazione di Git

Git è necessario ai prossimi step, fate riferimento a questa guida per l’installazione.

Installazione di Go

Assicuriamoci di essere in una posizione pulita e scarichiamo go dalla fonte ufficiale (reperibile qui):

wget https://dl.google.com/go/go1.14.3.linux-amd64.tar.gz

scompattiamo l’archivio:

tar -xf go*.linux-amd64.tar.gz

creiamo il percorso go nella nostra home:

mkdir ~/go

modifichiamo il file ~/.bash_profile ed aggiungiamo la seguente riga alla sua fine:

export PATH=$PATH:/home/UTENTE/percorso/go/bin

avendo cura di modificare il percorso /home/UTENTE/percorso/go/bin con quello corretto. Una volta fatto ricarichiamo:

source ~/.bash_profile

ed ora dando il comando go version dovremmo ricevere in output la versione di Go installata, come prova del corretto funzionamento.

Installazione di Gogs

Utilizzando l’opzione get di go, otteniamo gogs da GitHub:

go get -u github.com/gogits/gogs

Questo, una volta scaricato, sarà presente nella nostra GOPATH, in /home/USER/go/. Portiamoci al suo interno ed avviamo il build:

cd $GOPATH/src/github.com/gogits/gogs
go build

Una volta terminato il processo, dovremmo essere in grado di eseguire gogs dallo stesso percorso:

./gogs web

Nell’output che ci si presenta, facciamo riferimento all’ultima riga la quale dovrebbe essere simile alla seguente:

[INFO] Listen: http://0.0.0.0:3000

Facendo accesso quindi dal nostro browser al nostro IP locale, seguito dalla porta 3000, dovremmo essere in grado di seguire la procedura guidata per la configurazione del database con i dati precedentemente salvati.

Per maggiori informazioni, dubbi e chiarimenti, non esitate a fare domande sul nostro gruppo Telegram.

history_edu Revisioni