bashrc e bash_aliases – la mia versione

La bash e’ la shell, o terminale, piu usata su linux. A me ha sempre dato la sensazione di potere, quel potere che su windows non ho mai sentito usando cmd, e neppure prima sul DOS. Sara’ perche le distribuzioni linux sono gia’ stracolme di programmi e che basta chiamarli da li per poterli eseguire.

Beh, la bash, ha un file di configurazione che viene automaticamente richiamato (in pratica eseguito) ogni volta che si apre un terminale.

Questo file nascosto e’ il .bashrc presente nella home dell’utente

/home/utente/.bashrc

Qui si definisce tutto il comportamento del terminale, dal prompt (la scrittina prima di dove si scrive 🙂 ) ai percorsi dei comandi da cercare e… boh altro.

Oltre al bashrc c’e’ il .bash_aliases che altro non e’ che un “estensione” del bashrc contenente tutti gli alias definiti dall’utente.

Ormai uso linux da anni, e nel tempo ho preso le me abitudini.

Gli alias sono una mia fissazione, quando trovo un comando che mi sembra anche soltanto lontanamente utile lo inserisco nel mio bash_aliases. Da qui la necessita di averli su tutte le mie macchine (portatile server pc fisso… router 🙂 ). Averli e averli aggiornati. Da qui ho cominciato a scrivere qualche riga di codice e adesso,usando il mio serverino come appoggio, posso caricare e scarcare l’ultima versione comodamente tramite … un alias 🙂

Trovate il bashrc scaricabile dal mio repository GIT, volendo anche il file aliases.

atom e git clone

Ho recentemente installato su un mio piccolo server gogs, (vedi qui) e ho avuto la necessita’ di impostare atom per gestire i miei repo.

Per importare (git clone) un Repository si usa la tab di GITHUB e si inserice l’url del proprio gogs.

Molto semplice se il repository e’ pubblico, per i repository privati invece la forma dell’url diventa:

https://utente:password_su_gogs@server_gogs/utente/repo.git

in pratica si aggiunge subito dopo https (o http) le credenziali da usare.

Gia’ in https credo che sia fare una cavolata per la sicurezza, in http peggio. Diciamo che non lo farei dalla wifi del bar 🙂

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