La Tana di' Chiuna

Non puoi entrare qui almeno di essere un filosofo

My Debian Box

Istruzioni

A partire da Debian 6.0 (Squeeze), la procedura di boot da dispositivo USB o SD card è stata ulteriormente semplificata. Questo consentirà, a chi volesse installare Debian, di impartire un unico comando per la creazione di un dispositivo (USB o SD card) bootabile.

È sufficiente scaricare un'immagine .iso (primo CD/DVD, netinst o mini.iso, vedi la guida Installare Debian), accertarsi che il dispositivo non sia montato e che la sua capacità sia tale da contenere l'immagine. Quindi basta un:

# dd if=/percorso/nome_immagine.iso of=/dev/sdb bs=4M; sync

e ritrovarsi una pendrive USB o una scheda SD bootabile per installare Debian.

ATTENZIONE
Il precedente esempio riguarda una pendrive riconosciuta come "sdb". Accertatevi di inserire il device corretto poiché il precedente comando cancella ogni dato presente sul dispositivo.

Utilizzare il comando:

# fdisk -l

per dissipare eventuali dubbi.

 

ATTENZIONE
Usando questo metodo ibrido, può succedere che il supporto USB sia memorizzato come CD/DVD per cui dopo l'installazione si riceve un errore nel riconoscimento dei supporti USB, per risolvere: editare il file /etc/fstab.
# nano /etc/fstab

ed eliminare la riga relativa al pseudo CD/DVD. Facendo ciò i supporti USB verranno riconosciuti correttamente.

 

Altri sistemi operativi

Per creare una pendrive USB o una SD card bootabile utilizzando altri sistemi operativi, è necessario far ricorso a programmi appositi. In giro per la Rete se ne trovano tanti e molti sono anche gratuiti.
Uno di questi potrebbe essere, ad esempio, UNetbootin. Il programma è rilasciato sotto licenza GPL ed è prelevabile e utilizzabile gratuitamente su piattaforme GNU/Linux, Windows e Mac.
UNetbootbin sembra non funzionare con alcuni debian installer (l'USB viene avviato, ma l'installazione a un certo punto si blocca perché non trova il CD). Uno dei software Windows in grado di creare, sicuramente, un pendrive USB funzionante per l'installazione Debian è PowerISO (gratuito/nag screen). Si consiglia la vecchia versione 4.9 che non installa adware. Lanciato il programma, dal menù "Strumenti > Create Bootable USB driver" sarà possibile creare la propria USB avviabile con l'installer Debian.

 

Programmi da installare direttamente

Deselezionare tutto a parte il server ssh e la configurazione standard (ultima riga). Non installare ambiente grafico!!!!

 

Prima di scollegare video e tastiera

Aggiunta di sudo

Login come root e dare:

$ apt-get install sudo

Aggiungere l'utente pippo al gruppo sudo:

# adduser pippo sudo

Dopo essere stati aggiunto ad un nuovo gruppo, l'utente deve fare il logout e quindi di nuovo il login affinché l'impostazione del nuovo gruppo abbia effetto. I gruppi vengono assegnati agli utenti solamente al momento del login. Una della maggiori fonti di confusione viene proprio dal fatto che gli utenti si aggiungono ad un gruppo, ma poi non fanno il logout e di nuovo il login e poi hanno problemi perché non sono ancora stati assegnati ad un gruppo. Si può controllare di quali gruppi si fa parte usando i comandi id o groups.

 

Modifica del file /etc/apt/source.list

Effetuare la modifica del file /etc/apt/source.list con il comando:

$ sudo nano /etc/apt/source.list

Alle righe attive, aggiungere i repo contrib e non-free, in modo che le righe attive passino da così:

deb http://ftp.it.debian.org/debian/ wheezy main

a così:

deb http://ftp.it.debian.org/debian/ wheezy main contrib non-free

 

Aggiunta del file firmware-realtek

Questa è più una cosa mia, resa necessaria dal mio hardware, comunque la scrivo, hai visto mai che serva a qualcuno.
Dicevo.. installiamo il file firmware-realtek con il comando:

$ sudo apt-get install firmware-realtek

E tutto dovrebbe andare a buon fine. A questo punto un bel riavvio:

$ sudo reboot

 

Configurare l'interfaccia di rete, se abbiamo bisogno di un ip statico:

Per tale motivo modifichiamo il file /etc/network/interfaces tramite il comando:

$ sudo nano /etc/network/interfaces

e, posto che la nostra rete sia collegata ad un router con IP 192.168.0.1, rendiamolo simile al seguente:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

In questo caso, l'interfaccia di rete utilizzata è eth0 e l'IP assegnato è 192.168.0.100. Per conoscere le interfacce di rete presenti sulla propria macchina è possibile utilizzare il comando ifconfig, che fornirà un elenco di tutte quelle collegate ed attive. L'IP può essere scelto a piacere, purché sia del tipo 192.168.0.X, dove X è un numero compreso tra 2 e 254.

Andiamo adesso a modificare il file /etc/hosts per far sì che la macchina riconosca l'indirizzo IP scelto:

$ sudo nano /etc/hosts

e aggiungiamo la riga

192.168.0.100 ubuntu

utilizzando lo stesso IP scelto prima, e dove ubuntu è il nome di host che abbiamo assegnato alla macchina durante la fase di installazione, reperibile anche tramite il comando

$ cat /etc/hostname

Passiamo alla configurazione dei server DNS, tramite la modifica del file /etc/resolv.conf:

$ sudo nano /etc/resolv.conf

Una scelta universale è quella di utilizzare il servizio gratuito offerto da OpenDNS, aggiungendo a tale file le seguenti righe:

# OpenDNS
nameserver 208.67.220.220
nameserver 208.67.222.222

Riavviamo la macchina tramite il comando

$ sudo reboot

e testiamo la connessione “pingando” un sito web a piacere, ad esempio

$ ping www.google.it

Nel caso in cui tutto sia stato configurato in maniera corretta, si riceverà una risposta ai pacchetti inviati tramite ping, segno che la connessione funziona, altrimenti è necessario riconfigurare i parametri di rete e correggere eventuali errori commessi.

 

Installare il driver ntfs-3g

Login come root e dare il comando:

# apt-get install ntfs-3g

Adesso abbiamo anche la possibilità di montare dischi ntfs in scrittura

 

Disattivare il root login via ssh

Login come root e modificare il file /etc/ssh/sshd_config:

$ nano /etc/ssh/sshd_config

Disattivare l'uso dell'account root (PermitRootLogin no) e riavviamo la macchina tramite il comando

$ sudo reboot

 

Da qui in poi, si può continuare via ssh!!

Modifica del file fstab

Creiamo le directory di mount-point tramite il comando:

sudo mkdir /mnt/disk
sudo mkdir /mnt/disk/2t
sudo mkdir /mnt/disk/4t
sudo mkdir /mnt/disk/usb1
sudo mkdir /mnt/disk/ftp1

Prendiamo gli UUID della macchina con il comando:

$ sudo blkid

Copiare e incollare gli UUID da montare, aggiungendo le righe nel file /etc/fstab tramite il comando

$ sudo nano /etc/fstab

Le righe da aggiungere saranno del tipo:

UUID=xxxxxxxxxxxxxxxxxxx /mnt/disk/XX ext3 defaults 0 0

XX è il mount-point. Atraverso l'uso del UUID, abbiamo la possibilità di inserire anche le righe di vari dischi usb direttamente nel file fstab, indipendentemente da come sina riconosciuti (sdb, sdc, sde, ecc.) e quindi la possibilità poi di montarli "al volo" con un:

$ sudo mount -a

ovviamente con le opportune opzioni specificate nel file fstab, per esempio una riga del tipo:

UUID=xxxxxxxxxxxxxxxxxxx /mnt/disk/usbX ntfs-3g defaults 0 0

Riavviamo la macchina tramite il comando:

$ sudo reboot

e controlliamo se il montaggio è stato effettuato correttamente.

Installazione e configurazione DDclient

Installiamo il client ddclient con il comando:

$ sudo apt-get install ddclient

Da Debian, con l'installazione chiede già i parametri, ma comunque si possono editare con il comando:

$ sudo nano /etc/ddclient.conf

e apportiamo le seguenti modifiche al file /etc/ddclient.conf:

# /etc/ddclient.conf
protocol=dyndns2
use=web, web=checkip.dyndns.it
server=dyndns.it
login=INSERIRE_IL_PROPRIO_USERNAME
password='INSERIRE_LA_PROPRIA_PASSWORD'
INSERIRE_IL_NOME_HOST DA AGGIORNARE

A questo punto un controllo con il comando:

$ ddclient -debug

Se tutto è regolare, riavviamo il servizio con il comando:

$ sudo service ddclient restart

 

Installazione e configurazione MiniDLNA e Samsung

Installiamo il media server miniDLNA con il comando:

$ sudo apt-get install minidlna

Fermiamo il servizio con il comando:

$ sudo service minidlna stop

e apportiamo le seguenti modifiche al file /etc/minidlna.conf:

port=9500
media_dir=V,/path/Videos
media_dir=A,/path/Music
media_dir=P,/path/Pictures
serial=
model_number=AllShare1.0
network_interface=eth0 # change appropriately, e.g. wlan0 if you stream from wireless
friendly_name=miniDLNA # how miniDLNA is named on the TV
enable_tivo=no
strict_dlna=no
notify_interval=900

riavviamo il servizio con il comando:

$ sudo service minidlna force-reload

Nella configurazione standard, il db si trova in /var/lib/minidlna.

 

Installazione e configurazione condivisioni Samba

Installiamo samba con il comando:

$ sudo apt-get install samba cifs-utils

Fermiamo il servizio con il comando:

$ sudo service samba stop

e apportiamo le seguenti modifiche al file /etc/samba/smb.conf, sezione GLOBAL:

[global]
workgroup = GRUPPODILAVORO
server string = DESCRIZIONE
allow hosts = 192.168.1.0/24
wins support = yes
security = share
share modes = yes
encrypt passwords = no

e alla fine del file, aggiungere le condivisioni (questo esempio è di condivisione TOTALE della cartella ESEMPIO):

[nomecondivisione]
comment = commento_condivisione
path = /path/da/condividere/ESEMPIO
read only = no
guest ok = yes
guest only = yes
create mask = 0777
directory mask = 0777

Controlliamo la configurazione con il comando:

$ sudo testparm

e, se tutto è ok, riavviamo samba:

sudo service samba start

 

Installazione e configurazione Proftpd

Installiamo il media server Proftpd con il comando:

$ sudo apt-get install proftpd

Fermiamo il servizio con il comando:

$ sudo service proftpd stop

e apportiamo le seguenti modifiche al file /etc/proftpd/proftpd.conf:

UseIPv6 off
ServerName "NomeServer"
DefaultRoot /
MaxInstances 3

riavviamo il servizio con il comando:

$ sudo service proftpd start

Nella configurazione standard, la maschera file e directory è 022.

 

Installazione e configurazione ambiente LAMP

$ sudo apt-get install apache2

Guida per installare Apache2 su Debian Oggi, per testare alcuni script in PHP, ho installato Apache2 sulla mia Debian. Ho scritto questa mini guida all'installazione e configurazione. Come utente root, al prompt /home/tuonomeutente# digita: apt-get update Invio Così aggiorniamo la lista pacchetti. Per installare apache digita, sempre da root: apt-get install apache2 Invio. Ti chiederà conferma: Continuare (S/n)? digitate S e date invio. Per installare php5 e il pannello amministrazione database, da root digita: apt-get install libapache2-mod-php5 php5-gd php5-mysql phpmyadmin Invio. Ti chiederà conferma: Continuare (S/n)? digitate S e date invio. Nel terminale comparirà: Configurazione del pacchetto Server web da riconfigurare automaticamente: │ [ ] apache2 │ [ ] apache │ [ ] apache-ssl │ [ ] apache-perl │ [ ] lighttpd Seleziona apache2, premendo barra spaziatrice. Con tasto tab, spostarsi su ok e dare invio. Riavvia il server apache, sempre da root, digitando: apache2 restart Invio. Nel terminale comparirà: Usage: apache2 [-D name] [-d directory] [-f file] [-C "directive"] [-c "directive"] [-k start|restart|graceful|graceful-stop|stop] [-v] [-V] [-h] [-l] [-L] [-t] [-S] [-X] Options: -D name : define a name for use in directives -d directory : specify an alternate initial ServerRoot -f file : specify an alternate ServerConfigFile -C "directive" : process directive before reading config files -c "directive" : process directive after reading config files -e level : show startup errors of level (see LogLevel) -E file : log startup errors to file -v : show version number -V : show compile settings -h : list available command line options (this page) -l : list compiled in modules -L : list available configuration directives -t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings) -S : a synonym for -t -D DUMP_VHOSTS -t -D DUMP_MODULES : show all loaded modules -M : a synonym for -t -D DUMP_MODULES -t : run syntax check for config files -X : debug mode (only one worker, do not detach) Tutto ok! Installiamo mysql, sempre da root: apt-get install mysql-server invio vi chiederà conferma: Continuare (S/n)? digitate S e date invio. Nel terminale comparirà:Configurazione del pacchetto Configurazione in corso di mysql-server-5.0 Sebbene non sia obbligatoria, si raccomanda d'impostare una password per l'utente d'amministrazione «root» di MySQL. Se questo campo è lasciato vuoto, la password non viene cambiata. Nuova password per l'utente «root» di MySQL: Per ragioni di sicurezza digita una nuova password, cerca di non dimenticarla, ti servirà in futuro.Tab->ok->invio. Per verificare se tutto funziona correttamente, nella barra indirizzi, di firefox , digita: http://127.0.0.1/ oppure http://localhost/ il risultato sarà: It works! Per provare gli script, in php, inserisci un file nometuofile.php nella directory /var/www detta anche DocumentRoot del web server. Dopo, nella barra degli indirizzi, scrivi questo comando: http://localhost/nometuofile.php Ti consiglio, da terminale root, di spostarti nella cartella /var/www Al suo interno crea un file test.php con un editor, es VI. Quindi al prompt: vi test.php Al suo interno inserisci Per eseguire il file , nella barra degli indirizzi, del tuo browser, digita questo comando: http://localhost/test.php Dovrebbe comparire una pagina con tutte le varie info riguardanti php. Quindi avrai la certezza che tutto gira perfettamente. Controlliamo che il database stia in esecuzione. Da terminale root al prompt digita: mysqladmin -u root -p ping Ti chiederà la password, digita quella che hai inserito durante l'installazione. Premi invio. Se tutto fila liscio, il risultato sarà: mysqld is alive Per avviare phpMyAdmin, nella barra indirizzi digita: http://127.0.0.1/phpmyadmin/ in nome utente metti root in password inserisci la password che hai settato prima per mysql. Così, in modalità grafica, potrai creare tabelle e smanettare con i parametri. Buon PHP a tutti! Fine!

Installiamo Apache, PHP e MySQL su Debian

Una guida per introdurre l'utente all'installazione, gestione e manutenzione di un server LAMP. Per l'installazione abbiamo scelto di utilizzare un sistema linux con distribuzione Debian.

Una guida per introdurre l’utente all’installazione, gestione e manutenzione di un server LAMP. Per l’installazione abbiamo scelto di utilizzare un sistema linux con distribuzione Debian.

Introduzione

>>Introduzione

linux-mysql-php-apache3.gifQuesto articolo ha come intento l’introdurre l’utente all’installazione, alla gestione e alla manutenzione di un server LAMPsu un sistema Debian affidandosi al suo sistema di pacchettizzazione (apt-get).

Un sistema LAMP è un server Linux pensato per l’hosting di applicazioni web, nello specifico basate sul linguaggio PHP ed eventualmente che si avvalgono del database MySQL.

Ho scelto Apache anche per il suo vasto uso su scala mondiale che comporta una maggiore conoscenza e know-how di molti utenti, e di conseguenza anche da parte della quasi totalità dei programmatori web.

Si fa riferimento alla distribuzione Debian per i grandi strumenti di amministrazione e manutenzione che essa fornisce, per le politiche che seppur “conservative” ritengo si rivelino spesso azzeccate per la continuità del servizio e poiché è sicuramente una delle distribuzioni più usate nell’ambiente server.

La guida, per poter portare utilità al maggior numero di scopi, farà riferimento ad un’implementazione generica con Apache 2.2, PHP 5.2 e MySQL 5.0, presenti nei repository di Debian Etch (stable) al momento della scrittura dell’how-to.

In situazioni particolari, come ad esempio la configurazione di un server per webhosting a livello professionale, che richiede un’alta privacy ed un grado elevato di “separazione” dei virtual hosts (siti web) ospitati, è consigliabile studiare una situazione prima e preparare un progetto adeguato.

Nella prossima pagina la preparazione del sistema.

Preparazione del sistema

 

>>Preparazione del sistema

È necessario collegarsi al sistema da configurare attraverso il protocollo SSH, usando ad esempio PuTTy su Windows o ssh da linea di comando da un client Linux.

Se si vuole lavorare sul sistema locale si deve effettuare il login da console testuale od aprire un terminale grafico (come xterm).

Sia che si tratti di un sistema locale che si effettui il lavoro su un server remoto è necessario acquisire lo status di root attraverso su o sudo, se non si è già effettuato l’accesso con questo utente.

Effettuiamo l’aggiornamento della lista dei pacchetti disponibili con il comando:

apt-get update
È fondamentale effettuare questo comando, e proseguire con la lettura di questa guida, se non si sono modificati i repository presenti in /etc/apt/sources.list e quindi se sono presenti esclusivamente i valori impostati automaticamente da Debian per la distribuzione “stable”; in altre condizioni non è garantito il funzionamento e la stabilità del sistema.

Ora è possibile continuare con l’installazione del demone Apache, del suo modulo per il supporto a PHP e del server database MySQL, vediamolo nella prossima pagina.

Installazione di Apache, PHP e MySQL

>>Installazione di Apache, PHP e MySQL

Procediamo quindi all’installazione del server web Apache, che servirà le pagine web ai visitatori dei siti web.

È sufficiente eseguire il comando:

 

apt-get install apache2
e il sistema scaricherà ed installare i pacchetti necessari per il funzionamento dei server HTTP.

Possiamo configurare alcuni parametri importanti del demone, aprendo con un editor di testo come nano il file /etc/apache2/apache2.conf e modificando i valori di:

ServerName con il nome da attribuire al server web;

DocumentRoot con la directory dove posizionare i file. Si può però benissimo lasciare /var/www che ha i giusti permessi per far si che i files siano visualizzabile dal web.

Installiamo quindi il supporto PHP5, i suoi moduli per le funzioni grafiche GD, per interfacciarsi con il database MySQL e phpMyAdmin per la gestione dei database con il comando:

 

apt-get install libapache2-mod-php5 php5-gd php5-mysql phpmyadmin
Procediamo al riavvio del demone Apache con:

 

/etc/init.d/apache2 restart
Ora procediamo con l’installazione del server MySQL eseguendo

 

apt-get install mysql-server
che, dopo aver scaricato ed installato i pacchetti, ci chiederà la password da assegnare all’utente root (amministratore) del server database.

Nella prossima pagina controlliamo se tutto funziona correttamente e impostiamo la gestione dei files e degli aggiornamenti.

Controllo del funzionamento e aggiornamenti

>>Controllo del funzionamento, gestione dei files e gestione degli aggiornamenti

Ci si può accertare del corretto funzionamento del sistema LAMP appena installato posizionando nella directory /var/www (se non si è modificata la DocumentRoot) un file chiamato info.php con il seguente contenuto:

 

phpinfo ();

?>

Una volta salvato il file, si può visitare la pagina all’indirizzo http://IP/info.php, sostituendo IP con l’IP pubblico del server o con 127.0.0.1 se si sta lavorando in locale.

Se tutto è andato correttamente, si vedrà una pagina di informazioni su PHP, su alcune impostazioni del server e dell’interprete e sui moduli installati.

Inoltre, sarà possibile gestire le utenze MySQL, i database e i privilegi su questi ultimi all’indirizzo http://IP/phpmyadmin

Per quanto concerne gli aggiornamenti, è consigliato dare periodicamente i seguenti comandi:

apt-get update
apt-get upgrade

per far si che la lista dei pacchetti si aggiorni e che i pacchetti installati (e quindi Apache, MySQL, PHP) facciano altrettanto.

Buon divertimento con il vostro sistema LAMP pronto per essere usato per ospitare, magari per test, piccoli portali o per provare CMS o applicazioni web in genere.

È certamente possibile modificare alcune configurazioni di PHP (/etc/php5/apache2/php.ini) per esigenze particolari e anche di MySQL (/etc/mysql/my.cnf) per aumentarne le prestazioni.

Poiché i parametri dipendono fortemente dalle applicazioni utilizzate e dall’hardware del server utilizzato, è consigliato chiedere suggerimento, fornendo informazioni adeguati, magari nel forum di HostingTalk.

Installazione e configurazione Utorrent server

 

Installazione e configurazione FanControl e hd temp

 

Installazione e configurazione mail da terminale

 

Installazione e configurazione script crontab