Settare Ubuntu 7.10 (Gutsy Gibbon) per un server domestico

23 03 2008

Dato che ho avuto molto a che fare con Ubuntu 7.10 ultimamente, mi sento un po’ in dovere di condividere alcune cose a riguardo.

Vediamo come personalizzare un po’ questa distribuzione per renderla più semplice da usare e come settare correttamente Apache per creare un piccolo sito della propria intranet domestica.

Parto dal presupposto che Apache2 sia installato, con MySQL e PHP5, e che Linux sia un sistema operativo a noi “familiare”.

Prima di tutto creiamo uno script in bash che ci consentirà di fare il backup di tutto quello che facciamo, non tanto per tornare ad una configurazione iniziale, ma per non perdere tutte le modifiche nel passaggio, ad esempio, ad un’altra distribuzione o dopo una reinstallazione di Ubuntu.

Creiamo nella nostra home una cartella bin che andremo ad aggiungere al nostro PATH, non con export, che lo salva solo per la sessione attuale, ma aggiungendo a /home/utente/.bashrc il comando:
export PATH="$PATH:/home/utente/bin
e verifichiamo che sia effettivamente funzionante salvando (se come me usate in prevalenza emacs C-x,C-s) e chiudiamo il file (C-x,C-c) e lanciando da shell dopo aver ricaricato la sessione:
echo $PATH
Se compare alla fine la riga che avevamo aggiunto, siamo pronti a creare il nostro script di backup.


touch /home/user/bin/backupscript.sh

chmod a+x /home/user/bin/backupscript.sh

Apriamo quindi il file con il nostro editor di testo preferito e scriviamo:


#!/bin/bash
# Semplice script per effettuare il backup di files di
# configurazione o altre cose importanti
#
# Aggiungere una linea di cp per ogni directory o file da
# salvare
#
cp -r /etc/apache2/ /home/fixed/backup/apache/conf/
cp -r /var/www/ /home/fixed/backup/apache/www/
tar czf /root/backup.tar.gz /home/fixed/backup/
echo ""
echo "backup salvato in /root/backup.tar.gz"
echo ""
echo "backup terminato"
echo ""

Ovviamente il mio utente è fixed, mettete il vostro.
Dovremo quindi aggiungere una riga di cp ad ogni modifica che facciamo, e alla fine nella cartella /root/ troveremo il nostro tar.gz con tutte le modifiche. Consiglio di fare comunque dei backup preventivi prima di modificare i file di configurazione di Apache
Dovrete creare anche la struttura di sottocartelle all’interno della vostra home, o in alternativa modificare questo semplice script.

Andiamo ora a modificare il nostro file .bashrc per renderlo un po’ più utile:
decommentiamo

#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases

#fi

e creiamo sempre con touch un file chiamato .bash_aliases all’interno del quale inseriremo:

alias apt='sudo apt-get install'
alias remove='sudo apt-get remove'
alias search='sudo apt-cache search'
alias ll='ls -l --color=auto'
alias aprestart='/etc/init.d/apache2 restart'

In modo da poter installare senza problemi programmi, rimuoverli e cercare all’interno dei repository ciò che vogliamo.
ll servirà per non dover digitare ogni volta un ls -l e l’ultimo alias a ricaricare Apache da qualsiasi directory (ne avremo davvero bisogno).

Aggiungiamo quindi all’interno del nostro script di backup le linee:

cp /root/.bashrc /home/fixed/backup/general
cp /root/.bash_aliases /home/fixed/backup/general

subito dopo gli altri cp, e creiamo se necessario la struttura in sottocartelle. So che questa si potrebbe fare in automatico, ma non è neanche lo script di backup più performante del mondo. E’ solo rapido da scrivere.

Per rendere la nostra shell un po’ più movimentata, aggiungiamo delle frasi carine dette da animaletti che compariranno ad ogni apertura:

sudo su
apt cowsay

e aggiungiamo alla fine di .bashrc

echo ''
echo ''
if [ -x /usr/games/fortune ]; then
/usr/games/fortune -a fortunes literature riddles | cowsay -f bud-frogs

fi
echo ''

In questo modo delle simpatiche rane diranno un po’ di cose strane all’apertura di ogni nuova shell bash.

Per essere sicuri di non perdere nulla (uno dei miei più grandi terrori) modifichiamo ancora il nostro script di backup aggiungendo:

cp -R /usr/shared/games/fortune/ /home/fixed/backup/fortune a backupscript.sh

e creando le relative sottocartelle.

Se avrò tempo in un prossimo post descriverò i VirtualHost che ho creato e discuterò di come si possa usare SSL per ottenere un’autenticazione “semi-sicura” per l proprio sito web.

Cowsay