Creare un Server Casalingo Questa guida è più che altro un promemoria per il sottoscritto,dove si penserà a creare un piccolo server casalingo,in questa breve ma intensa guida si parlerà spesso di ssh, quindi chiariamo subito il concetto, secondo Wikipedia: In informatica e telecomunicazioni SSH (Secure SHell, shell sicura) è un protocollo di rete che permette di stabilire una sessione remota cifrata tramite interfaccia a riga di comando con un altro host di una rete informatica. È il protocollo che ha sostituito l'analogo ma insicuro Telnet. Chiarito ciò iniziamo con i preliminari, se si ha un pc datato lo si può usare per mettere in pratica ciò che spiegherò oppure si può assemblare con pochi euro un Mini-ITX (sempre secondo Wikipedia: Mini-ITX è un formato di scheda madre a basso consumo di 17 x 17 cm a sviluppato da VIA technologies. La scheda Mini-ITX è leggermente più piccola della scheda MicroATX e spesso è raffreddata passivamente grazie ai bassi consumi, della scheda e del processore utilizzato. Questo la rende appetibile per sistemi home theather, o dovunque i bassi consumi e la silenziosità siano importanti) I vantaggi che porta questa configurazione sono appunto i bassi consumi,si pensa chi scarica spesso da torrent,ha una macchina accesa 12h al giorno o anche più,cosi da comportare consumi. E' possibile controllare lo stato dei download da remoto,e connettersi alla macchina via ssh oppure gestire un server apache,la si può usare come NAS e tanto altro ancora. Supponendo che si ha già una macchina dove operare,si procede scaricando una distribuzione linux,nel mio caso debian. Durante l'installazione si ricorda arrivati alla procedura "Seleziona Software" di seleziona Server SSH e si tolga la spunta ad Ambiente Grafico con il tasto spazio. [ ] Ambiente grafico [ ] Server web [ ] Server di Stampa [ ] Server DNS [ ] Server file [ ] Server di posta [ ] Database SQL [*] Server SSH [ ] Computer portatile [*] Utilità di sistema standard terminata l'installazione la prima cosa che faremo è settare un ip statico. quindi dopo effettuato il login diamo il comando: nano /etc/network/interfaces 1 P ag i n a
e troviamo la nostra periferica di rete,nel mio caso eth0 quindi sostituiamo: iface eth0 inet dhcpt con iface eth0 inet static address 192.168.1.118 netmask 255.255.255.0 gateway 192.168.1.1 broadcast 192.168.1.255 Questi valori possono essere modificati in base alle proprie necessità e preferenze (se non si da dove mettere mano digitare ifconfig e ricopiare i valori). fatto ciò possiamo anche scollegare monitor e tastiera,poiché possiamo collegarci tramite ssh. Gli utenti Windows possono usare PuTTY mentre per gli utenti linux possono collegarsi dando il comando: ssh <nome utente>@ip da non dimenticare che bisogna logarsi come root. Ci è comodo rimuovere anche i 5s che bisogna aspettare all'avvio,procedendo con nano /boot/grub/grub.cfg e settiamo set timeout = 0 Per comodità editiamo: nano /etc/apt/sources.list e aggiungiamo deb http://ftp.de.debian.org/debian squeeze main ed inseriamo la spunta #deb cdrom:[debian GNU/Linux cosi da permettere l'aggiornamento senza inserire il secondo disco di debian,fatto ciò possiamo aggiornare apt-get update Fatte queste prime impostazioni preliminare possiamo installare i vari software,che vedremo in seguito. Possiamo anche installare un programma chiamato htop: apt-get install htop 2 P ag i n a
Usare Torrente Il Software che andremo ad installare si chiama Transmission,e lo useremo in modalità web diamo il comando: apt-get install transmission-daemon transmission-cli per configurarlo stoppiamo il servizio: service transmission-daemon stop e modifichiamo il file nano /etc/transmission-daemon/settings.json per permettere ad altri utenti di accedervi via web settiamo "rpc-whitelist-enabled": false, ed impostiamo username e password "rpc-username": "admin", "rpc-password": "admin", riavviamo service transmission-daemon reload per avviare transmission-daemon start se la procedura è stata eseguita correttamente possiamo accedere via web all'indirizzo http://<ip Macchina>:9091 Nota Bene: l'indirizzo 9091 è standard è può essere modificato dal file settings.json modificando la stringa "rpc-port": 9091, 3 P ag i n a
Condividere file in rete Ora sappiamo come scaricare i file,ma vediamo come accedere alla cartella in locale. Parliamo di Samba (non ha nulla a che fare con il Brasile),secondo Wikipedia: Samba è un progetto libero che fornisce servizi di condivisione di file e stampanti. Procediamo con l'installazione apt-get install samba smbfs durante la procedura vi chiederà di inserire il gruppo di lavoro,nel mio caso è WORKGROUP (quello di default). Tutto ciò che ora dobbiamo fare ora è associare ad ogni utente linux della nostra macchina un utente samba con rispettiva password (nel nostro caso l'utente root).questo può essere fatto con il semplice comando: smbpasswd -a <nome utente> Altrettanto semplicemente possiamo rimuovere un'utente samba con il comando: smbpasswd -x <nome utente> con questo metodo gli utenti samba sono mappati su utenti linux del nostro sistema, e questo gli fa ereditare tutti i permessi associati localmente a tali utenti. A questo punto tutto è pronto! Possiamo condividere le cartelle inserendo il loro percorso in fondo al file /etc/samba/smb.conf in questa maniera: nano /etc/samba/smb.conf ed aggiungiamo [Download Torrent] # Nome Cartella path = /var/lib/transmission-daemon/downloads #torrent dir browsable = yes # Consente l accesso alla directory writable = yes # consente di scrivere nella directory public = no # Disabilita l'accesso guest Diamo i permessi alla dir, downloads: chmod R 777 /var/lib/transmission-daemon/downloads Non ci resta che riavviare il servizio: /etc/init.d/samba restart O con: service smbd restart 4 P ag i n a
Installare XAMPP XAMPP è un insieme di software tra cui (apache,phpmyadmin,proftpd ecc..) Secondo il sito ufficiale: Molti sanno per esperienza che non è facile installare un web server Apache e diventa più difficile se vuoi aggiungere MySQL, PHP e Perl. XAMPP è una distribuzione Apache facile da installare contenente MySQL, PHP e Perl. Ora che sappiamo cos'è procediamo con l'installazione, procediamo a scaricare il pacchetto: wget http://www.apachefriends.org/download.php?xampplinux-1.8.1.tar.gz per qualche motivo mi scarica anche il file download.php,per cui rinomino il file: mv download.php?xampp-linux-1.8.1.tar.gz xampp-linux- 1.8.1.tar.gz in seguito possiamo procedere con l'estrazione tar xvfz xampp-linux-1.8.1.tar.gz -C /opt Una volta estratto possiamo rimuovere l'archivio, rm xampp-linux-1.8.1.tar.gz Il programma si trova nella directory /opt/lampp/ per avviare tutti i servizi: /opt/lampp/lampp start ma possiamo scegliere di avviare anche servizi singolarmente,ecco la sintassi: Utilizzo: /opt/lampp/lampp <comando> start stop riavvia Avvia XAMPP. Ferma XAMPP. Ferma e avvia XAMPP. startapache Avvia solo Apache. startssl Avvia Apache con il supporto SSL. Questo comando attiva permanentemente il supporto SSL, es. se vuoi riavviare XAMPP in futuro SSL resterà attivato. startmysql Avvia solo il database MySQL. startftp Avvia il server ProFTPD. Via FTP puoi caricare file (utente "nobody", password "lampp"). Questo comando attiva ProFTPD permanentemente, es. se riavvii XAMPP in futuro FTP rimarrà attivato. stopapache Ferma Apache. stopssl stopmysql stopftp security Termina il supporto SSL in Apache. Questo comando disattiva il supporto SSL permanentemente, es. se fai ripartire XAMPP in futuro SSL sarà disattivato. Ferma il database MySQL. Ferma il server ProFTPD. Questo comando disattiva ProFTPD in modo permanente, es. se riavvii XAMPP in futuro FTP resterà disattivato. Avvia un programmino di controllo sicurezza. 5 P ag i n a
Capito il funzionamento,procediamo a settare la password per mysql e ftp: /opt/lampp/lampp security Ma se volessimo avviare i servizi al boot?? ecco come fare: nano /etc/rc.local inseire la stringa /opt/lampp/lampp start prima di exit 0 al termine salviamo e diamo i permessi: chmod +x /etc/rc.local Ecco una lista di cartelle e file importanti /opt/lampp/bin/ /opt/lampp/htdocs/ /opt/lampp/etc/httpd.conf /opt/lampp/etc/my.cnf /opt/lampp/etc/php.ini /opt/lampp/etc/proftpd.conf Home dei comandi di XAMPP. /opt/lampp/bin/mysql per esempio chiama il monitor MySQL. La directory DocumentRoot di Apache. Apache. MySQL. PHP. ProFTPD. (sin dalla 0.9.5) /opt/lampp/phpmyadmin/config.inc.php phpmyadmin. Come accedere a http://<ip>/phpmyadmin da altre postazioni nano /opt/lampp/etc/extra/httpd-xampp.conf Stringa da Modificare <Directory "/opt/lampp/phpmyadmin"> AllowOverride AuthConfig Limit Order allow,deny Allow from all </Directory> Stringa Modificata <Directory "/opt/lampp/phpmyadmin"> AllowOverride AuthConfig Limit Order allow,deny Allow from all Require all granted </Directory> Riavviare con: /opt/lampp/lampp restart In questo modo possiamo risolvere l'errore 403: L'accesso all'informazione richiesta oggetto è disponibile solo dalla rete locale.questa impostazione può essere configurata nel file "httpd-xampp.conf". 6 P ag i n a