Browsing posts in: Linux

Installare SVN su Ubuntu Server

Era ora di farlo, ce l’avevo in testa da tempo oramai e stava diventando sempre poù indispensabile. Parlo di un mio server Subversion! I software che ho sviluppato e che continuo a sviluppare aumentano e non sempre un disco fisso e delle semplici cartelle sono il posto migliore dove conservare le diverse versioni che si susseguono e che si sono susseguite nel corso dei mesi e degli anni.

Di seguito gli appunti che ho preso durante l’installazione di Subversion sul mio server Digital Ocean con Ubuntu Server.

  1. Aggiornare i server di Ubuntu:
    sudo apt-get update
  2. Installare Subversion
    sudo apt-get install subversion libapache2-svn apache2-utils
  3. Creare la cartella che ospiterà i vari repository
    sudo mkdir -p /svn/repos/
  4. Creare il primo repository (sostituire da qui in poi reposname con il nome appropriato)
    sudo svnadmin create /svn/repos/reposname
  5. Cambiare quindi la proprietà della cartella
    sudo chown -R www-data:www-data /svn/repos/reposname
  6. Creare il file reposname.conf  in /etc/apache2/sites-available/ per abilitare un virtual host su Apache con il seguente contenuto
    <Location /svn>
      DAV svn
      SVNParentPath /svn/repos/
      AuthType Basic
      AuthName "Test Repo"
      AuthUserFile /etc/svnpasswd
      Require valid-user
    </Location>
  7. Abilitare il virtual host
    sudo a2ensite reposname
  8. Riavviare il web server
    sudo service apache2 reload
  9. Creare il file per il controllo degli accessi al repository e fornire la password
    sudo htpasswd -cm /etc/svnpasswd nomeutente

    Per creare altri utenti usare il comando

    sudo htpasswd -m /etc/svnpasswd altroutente
  10. Subversion e il repository reposname sono ora accessibili via http all’indirizzo
    http://www.nomesito.it/svn/reposname
  11. Installare un SVN Client come ad esempio TortoiseSVN per poter accedere anche in scrittura al repository.

 

 

 


CHMOD ricorsivo su file o su cartelle

Spesso capita di dover cambiare gli attributi delle directory e delle sottodirectory (cartelle e sottocartelle) in maniera ricorsiva, applicando cioè le impostazioni a cascata su tutto l’albero delle directory a partire da un certo percorso.
In linux esiste un modo modo semplice per farlo, utilizzando un comando di una sola riga, ecco come:

Per cambiare i diritti soltanto alle directory:

find . -type d -exec chmod 755 {} \;

naturalmente al posto di 755 dovrete inserire i valori desiderati per i diritti di accesso

Per cambiare i diritti soltanto ai file:

find . -type f -exec chmod 644 {} \;

anche in questo caso al posto di 644 dovrete inserire i valori desiderati per i diritti di accesso

Vediamo nel dettaglio i parametri utilizzati:

“find .” dice di iniziare la ricerca dalla directory corrente
“-type d” dice di cercare soltanto le directory (nel caso di “-type f” verranno cercati solo i file
“-exec chmod {}” dice di eseguire il comando chmod sul file o sulla directory trovata (rappresentati dalla coppia di parentesi graffe)
“\;” dice a find che il comando è finito. Bisogna usare il carattere di escape “\” (backslash) perchè senza di esso il punto e virgola verrebbe interpretato e “mangiato” dalla shell prima di essere letto da find.

Link originale