gogs, il server git personale

Ogni tanto scrivo due righe di codice, bash per lo piu , ma anche un po di C per arduino e … basta 🙂

Piu per curiosita che per vera necessita ho installato su un piccolo serverino GOGS e mi stupisce quanto semplice sia stato farlo funzionare.

La mia installazione ora la potete trovare su:

https://git.baviero.it

Di seguito alcune cose utili che ho fatto io per farlo andare, ovviamente una macchina Linux (debian):

creato utente apposito

adduser --disabled-login --gecos 'Gogs' git



scaricato ultima versione


wget https://dl.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz


scompattata e messa nella home del nuovo utente, cambiando l’owner ovviamente



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



creato sul database mysql un utente e un database appositi (vedi come)

Insegnato a apache che, se arriva traffico http indirizzato per git (vedi tu dove lo hai) deve essere rigirato internamente alla porta 3000 (perche’ gogs girerebbe anche senza apache)
Per fare questo ho aggiunto un file in /etc/apache2/sites-available contenente questo:



<VirtualHost *:80>
       ServerAdmin utente@dominio
       ServerName git.dominio
#        ServerAlias altramaniera.dominio
       ProxyRequests Off

       <Location />
               ProxyPreserveHost On
               ProxyPass http://localhost:3000/
               ProxyPassReverse http://localhost:3000/
       </Location>
    # Uncomment the line below if your site uses SSL.
    #SSLProxyEngine On
</VirtualHost>


Importante, in molte configurazioni di apache, e’ aggiungere il .conf alla fine del nome file tipo:



gogs_dominio.conf



perche altrimenti non lo considera quando gli si dice di usarlo con


a2ensite gogs_dominio.conf

aggiungere il modulo

a2enmod proxy_http

poi si riavvia apache

systemctl restart apache2

adesso si puo semplicemente avviare gogs entrando nella directory scompattata prima

./gogs web

se tutto e’ a posto andando su git.dominio apache dovrebbe rigirare il traffico alla porta 3000 e si vede la pagina di confgurazione iniziale.

poi, buon divertimento

Ah , una altra cosa, se si vuol far partire come servizio

https://raw.githubusercontent.com/gogits/gogs/master/scripts/ini
t/deb

inserire il codice in /etc/init.d/gogs

chmod +x gogs

sistemare il file dove serve e

service gogs status
service gogs start
update-rc.d gogs defaults
update-rc.d gogs enable