Archivio del mese di novembre 2008

Directory public_html con uno script bash

Apache, Open Source, Shell, Sistema, Tips & tricks Nessun commento »

Mi è capitato spesso di dover mettere mano a server UNIX/Linux con una gestione dei VirtualHost di Apache compromessa da anni di utilizzo incontrollato del server da parte di amministratori di sistema non proprio ordinati. Il risultato di solito è un grande numero di utenti con home directory strutturate in maniera differente l’una dall’altra.

In particolare, in un caso recente mi sono ritrovato un centinaio di utenti dei quali una certa parte aveva la DocumentRoot nella propria home directory, altri invece ce l’avevano sotto /var/www/users/, cosa che io raccomando in quanto evita di avere problemi con SUEXEC nelle versioni di Apache precompilate.

Per sistemare una situazione così caotica ho deciso di mettere tutto correttamente sotto /var/www/users/ e mi si è presentata la necessità di creare automaticamente le directory mancanti e i relativi link simbolici alle varie home directory. L’ho fatto con un semplicissimo script in bash, che pubblico qui nel caso possa essere utile anche a qualcun altro. Ci ho messo anche un po’ di output per rendere il codice chiaro anche a chi è alle prima armi con la bash.

Attenzione! Alla riga 18 viene fatta la copia di un fast-cgi presente nella directory /var/www/users/ivan/. Ovvio che dovete sostituire ivan con il nome di un utente presente sul vostro server.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
 
echo "Inizializzazione script..."
 
for i in $( ls /home/ ); do
  echo "  Sto processando '$i'"
  if [ -L /home/$i/public_html ]; then
    echo "    Il link simbolico /home/$i/public_html esiste gia' ... salto!"
  else
    echo "    Il link simbolico /home/$i/public_html non esiste: provo a crearlo ... "
    if [ -d /var/www/users/$i ]; then
      echo "La directory /var/www/users/$i esiste, non mi resta che linkarla ... "
      /bin/ln -s /var/www/users/$i /home/$i/public_html
    else
      echo "    La directory /var/www/users/$i NON esiste, ora la creo ... "
      /bin/mkdir /var/www/users/$i
      echo "    Copio il FAST-CGI ... "
      /bin/cp /var/www/users/ivan/fast-cgi /var/www/users/$i/
      echo "    Sistemo i permessi per la directory creata ... "
      /bin/chown -R $i:$i /var/www/users/$i
      /bin/chmod 700 /var/www/users/$i
      echo "    Creo il link simbolico ... "
      /bin/ln -s /var/www/users/$i /home/$i/public_html
    fi
  fi
done

Basta un click!

Novità, Open Source, Segnalazioni Nessun commento »

BUC (Basta Un Click) è un software Open Source per Linux del SiciLinuX Group, sviluppato da Matteo Avalle in collaborazione con Valerio Billera, in grado di trasformare script bash in vere e proprie applicazioni dotate di comoda interfaccia grafica. Il programma sostanzialmente non è altro che un “interprete” in grado di leggere files con estensione .mc, ovvero dei particolari files XML, che contengono, al loro interno, una serie di script bash. In questo modo la vostra abilità nella programmazione bash può essere sfruttata per realizzare delle vere e proprie applicazioni dotate di interfaccia grafica.

Maggiori informazioni sul sito Internet ufficiale del progetto, all’indirizzo: http://buc.opensource.tk

Linus Torvald: uno stile di vita sano…?

Varie Nessun commento »

Riporto qui la traduzione di un post a mio parere molto divertente pubblicato da Linus Torvald sul suo blog personale – ebbene sì, ha anche il tempo per tenere un blog personale, lui…

Non so voi, ma io sono sempre dell’idea che alla natura si deve dare una mano. Mi sono fatto il lasik agli occhi, ad esempio, e sono assolutamente soddisfatto.

Non che mi sia mai dispiaciuto portare gli occhiali, ma non riuscivo nemmeno a riconoscere i miei figli in piscina anche solo alla distanza di un paio di metri. Parliamoci chiaro. Nuotare dietro ai figli degli altri e fargli il solletico non è considerato un comportamento socialmente accettabile. Almeno negli Stati Uniti.

Questo mi porta a parlare di un altro aiutino che vorrei dare alla natura: non sono mai riuscito a trovare uno sport che mi entusiasmasse davvero. Certo, gioco a biliardo, che tecnicamente è uno sport, mi pare. Dopo tutto, si tratta sempre di far muovere una palla qua e là. Anche fare scuba è divertente, ma penso che se lo prendi come un esercizio aerobico stai sbagliando qualcosa (la parte migliore dello scuba è quando ti guardi attorno lasciandoti galleggiare – facendo il minimo possibile di esercizio fisico).

Parliamoci chiaro, io me ne sto seduto e immobile come un vegetale il 99% del tempo. Il mio lavoro è stare seduto davanti a un computer e, nei momenti di relax, l’ultima cosa al mondo che mi va di fare è correre qua e là. Una volta praticavo un po’ il nuoto, e per circa sei mesi sono riuscito a farmi tre quarti d’ora di piscina quasi tutti i giorni, e questo mi ha aiutato, ma anche se mi piace nuotare a un certo punto la cosa si era ridotta ad un conto delle vasche.

Leggi il resto »

Doppelme, ovvero il tuo avatar in 1 minuto

Novità Nessun commento »

Un messaggio per tranquillizzare tutti coloro che in questi giorni mi stanno cercando online e cominciano a mormorare che mi sia capitata una disgrazia. Niente di grave, sono solo profondamente immerso nel lavoro e non posso concedermi distrazioni a causa di alcune scadenze molto prossime. Mi scuso principalmente con Oscar: appena uscito dal marasmi torno sul tuo server e ti do qualche dritta per fare tutto quello che mi hai chiesto.

Nel frattempo, per ingannare l’attesa potete sempre visitare il sito DoppelMe e creare il vostro Avatar personalizzato! Si tratta di un servizio completamente gratuito che consente di creare un proprio alter ego da utilizzare su Internet. È davvero idiot proof e non richiede nemmeno una registrazione obbligatoria. L’avatar che vedete qui a fianco l’ho realizzato così, in meno di un minuto credo. Gingillate gente, gingillate… a presto!