Ubuntu:Edgy it/Servers

From

Revision as of 11:57, 9 February 2007 by Ufic (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Server

Server LAMP per Ubuntu Edgy

Server AntiVirus

Come installare ClamAV AntiVirus Server

sudo apt-get install clamav

Come aggiornare manualmente il database dei virus

sudo freshclam

Come eseguire manualmente la scansione antivirus di file/cartelle

sudo clamscan -r /location_of_files_or_folders

Come eseguire automaticamente la scansione antivirus di file/cartelle

Per esempio, scansione antivirus di file/cartelle ogni giorno a mezzanotte
* * * * * si riferisce a: minuti ora data mese anno
export EDITOR=gedit &&  sudo crontab -e
  • Aggiungi la riga seguente alla fine del file
00 00 * * *  sudo clamscan -r /posizione_dei_file_o_delle_cartelle
  • Salva il file modificato

Server di monitoraggio

Se vuoi monitorare i tuoi server e client Ubuntu, come ad esempio uso della memoria, uso della CPU, carico, uso dei dischi, monitoraggio Mysql, monitoraggio di rete, monitoraggio dei processi, questo è ciò che fa per te:

Monitorare i tuoi servere e client Ubuntu usando Munin (in inglese)

Server di stampa (cupsd)

Come installare cupsd

Cupsd dovrebbe essere installato automaticamente durante l'installazione standard. Controlla se esiste il file "/etc/init.d/cupsys". Se vuoi installarlo manualmente, fai come segue
 sudo apt-get install cupsys*

Come aggiungere una stampante

  • Vai in Sistema -> Amministrazione -> Stampa.
  • Scegli "Aggiungi stampante".
  • Dovrebbe partire l'"Installazione guidata della stampante" che dovrebbe dirti cosa fare.

Come stampare su una macchina Ubuntu remota da un'altra macchina Ubuntu

  • Assicurati che la stampante locale sia ben configurata.
  • Abilita la condivisione della stampante locale - Sistema -> Amministrazione -> Stampa -> Impostazioni globali -> Condividi stampanti
  • Indirizzo ip del server: 192.168.0.1
  • Indirizzo ip del client: 192.168.0.23
    • Configurazione del server
 sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.backup
 gksudo gedit /etc/cups/cupsd.conf
Trova il blocco
<Location />
  ...
  Allow localhost
  ...
</Location>
e aggiungigli la riga seguente.
 Allow 192.168.0.23
Riavvia cups.
 sudo /etc/init.d/cupsys restart
    • Configurazione del client
 sudo cp /etc/cups/client.conf /etc/cups/client.conf.backup
 gksudo gedit /etc/cups/client.conf
E aggiungigli la riga seguente.
 ServerName 192.168.0.1
Riavvia cups.
 sudo /etc/init.d/cupsys restart
Adesso prova "lpq" e dovresti vedere qualcosa del genere
 vitek@lightfox:~$ lpq
 HPLJ6P is ready
 no entries

Come stampare su una macchina Ubuntu remota da una macchina Windows

Samba Server

Come installare il server Samba per il servizio di condivisione di file/cartelle

sudo apt-get install samba smbfs

Come aggiungere/modificare/eliminare utenti di rete

sudo smbpasswd -a system_username
gksudo gedit /etc/samba/smbusers
    • Inserisci la riga seguente nel nuovo file
system_username = "nome utente di rete"
    • Salva il file modificato
  • Per modificare un utente di rete
sudo smbpasswd -a system_username
  • Per eliminare un utente di rete
sudo smbpasswd -x system_username

Come condividere le cartelle Home con permessi di sola lettura (Autenticazione=Si)

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
gksudo gedit /etc/samba/smb.conf
  • Trova questa riga
...
;  security = user
...
  • Sostituiscila con le righe seguenti
  security = user
  username map = /etc/samba/smbusers
sudo testparm
sudo /etc/init.d/samba restart

Come condividere le cartelle Home con permessi di lettura/scrittura (Autenticazione=Si)

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
gksudo gedit /etc/samba/smb.conf
  • Trova questa riga
...
;  security = user
...
  • Sostituiscila con le righe seguenti
  security = user
  username map = /etc/samba/smbusers
  • Trova questa sezione
...
# By default, the home directories are exported read-only. Change next
# parameter to 'yes' if you want to be able to write to them.
  writable = no
...
  • Sostituiscila con le righe seguenti
# By default, the home directories are exported read-only. Change next
# parameter to 'yes' if you want to be able to write to them.
  writable = yes
sudo testparm
sudo /etc/init.d/samba restart

Come condividere le cartelle di gruppo con permessi di sola lettura (Autenticazione=Si)

sudo mkdir /home/group
sudo chmod 777 /home/group/
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
gksudo gedit /etc/samba/smb.conf
  • Trova questa riga
...
;  security = user
...
  • Sostituiscila con le righe seguenti
 security = user
 username map = /etc/samba/smbusers
  • Aggiungi le righe seguenti alla fine del file
[Group]
  comment = Group Folder
  path = /home/group
  public = yes
  writable = no
  valid users = system_username1 system_username2
  create mask = 0700
  directory mask = 0700
  force user = nobody
  force group = nogroup

sudo testparm
sudo /etc/init.d/samba restart

Come condividere le cartelle di gruppo con permessi di lettura/scrittura (Autenticazione=Si)


sudo mkdir /home/group
sudo chmod 777 /home/group/
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
gksudo gedit /etc/samba/smb.conf
  • Trova questa riga
...
;  security = user
...
  • Sostituiscila con le righe seguenti
  security = user
  username map = /etc/samba/smbusers
  • Aggiungi le righe seguenti alla fine del file
[Group]
  comment = Cartella di gruppo
  path = /home/group
  public = yes
  writable = yes
  valid users = system_username1 system_username2
  create mask = 0700
  directory mask = 0700
  force user = nobody
  force group = nogroup
sudo testparm
sudo /etc/init.d/samba restart

Come condividere cartelle pubbliche con permessi di sola lettura (Autenticazione=Si)


sudo mkdir /home/public
sudo chmod 777 /home/public/
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
gksudo gedit /etc/samba/smb.conf
  • Trova questa riga
...
;  security = user
...
  • Sostituiscila con le righe seguenti
  security = user 
  username map = /etc/samba/smbusers
  • Aggiungi le righe seguenti alla fine del file
[public]
  comment = Cartella pubblica
  path = /home/public
  public = yes
  writable = no
  create mask = 0777
  directory mask = 0777
  force user = nobody
  force group = nogroup
sudo testparm
sudo /etc/init.d/samba restart

Come condividere cartelle pubbliche con permessi di lettura/scrittura (Autenticazione=Si)

sudo mkdir /home/public
sudo chmod 777 /home/public/
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
gksudo gedit /etc/samba/smb.conf
  • Trova questa riga
...
;  security = user
...
  • Sostituiscila con le righe seguenti
  security = user
  username map = /etc/samba/smbusers
  • Aggiungi le righe seguenti alla fine del file
[public]
  comment = Cartella pubblica
  path = /home/public
  public = yes
  writable = yes
  create mask = 0777
  directory mask = 0777
  force user = nobody 
  force group = nogroup
sudo testparm
sudo /etc/init.d/samba restart

Come condividere cartelle pubbliche con permessi di sola lettura (Autenticazione=No)

sudo mkdir /home/public
sudo chmod 777 /home/public/
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
gksudo gedit /etc/samba/smb.conf
  • Trova questa riga
...
;  security = user
...
  • Sostituiscila con la riga seguente
  security = share
  • Aggiungi le righe seguenti alla fine del file
[public]
  comment = Cartella pubblica
  path = /home/public
  public = yes
  writable = no
  create mask = 0777
  directory mask = 0777
  force user = nobody
  force group = nogroup
  • Salva il file modificato
sudo testparm
sudo /etc/init.d/samba restart

Come condividere cartelle pubbliche con permessi di lettura/scrittura (Autenticazione=No)

sudo mkdir /home/public
sudo chmod 777 /home/public/
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
gksudo gedit /etc/samba/smb.conf
  • Trova questa riga
...
;  security = user
...
  • Sostituiscila con la riga seguente
  security = share
  • Aggiungi le righe seguenti alla fine del file
[public]
  comment = Cartella pubblica
  path = /home/public
  public = yes
  writable = yes
  create mask = 0777
  directory mask = 0777
  force user = nobody
  force group = nogroup

  • Salva il file modificato
sudo testparm
sudo /etc/init.d/samba restart

Come stampare su una macchina Ubuntu remota tramite samba

 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
 gedit /etc/samba/smb.conf
Trova le righe seguenti
 ...
 # printing = cups
 # printcap name = cups
 ...
e togli loro i commenti.
 printing = cups
 printcap name = cups
Riavvia il server cups
 sudo /etc/init.d/cupsys restart
Adesso le stampanti funzionanti nella tua macchina Ubuntu dovrebbero essere accessibili tramite samba.

Strumento di amministrazione web di Samba (SWAT)

Come installare il superserver INETD

 sudo apt-get install netkit-inetd

Come installare il demone SWAT per Samba

 sudo apt-get install swat
  • Apri la configurazione del demone inetd
 sudo gksu gedit /etc/inetd.conf
  • Se la stringa è:
 <#off#> swat            stream  tcp     nowait.400      root    /usr/sbin/tcpd  /usr/sbin/swat
  • Cambiala in:
 swat            stream  tcp     nowait.400      root    /usr/sbin/tcpd  /usr/sbin/swat
  • Riavvia il demone
 sudo /etc/init.d/inetd restart

Server SSH

Come installare un server SSH per il servizio di amministrazione remota

sudo apt-get install ssh

Come connettersi via SSH ad una macchina Ubuntu remota

Supposto che sulla macchina Ubuntu remota sia installato il servizio server SSH
Leggi Come installare un server SSH per il servizio di amministrazione remota
Macchina Ubuntu remota: 192.168.0.1
ssh username@192.168.0.1

Come copiare file/cartelle da una macchina Ubuntu remota alla macchina locale (scp)

Supposto che sulla macchina Ubuntu remota sia installato il servizio server SSH
Leggi Come installare un server SSH per il servizio di amministrazione remota
Macchina Ubuntu remota: 192.168.0.1
Indirizzo dei file/cartelle remoti: /home/nomeutente/fileremoto.txt
Indirizzo di salvataggio sulla macchina locale: . (cartella corrente)
scp -r username@192.168.0.1:/home/nomeutente/fileremoto.txt .

Come copiare file/cartelle dalla macchina locale a una macchina Ubuntu remota (scp)

Supposto che sulla macchina Ubuntu remota sia installato il servizio server SSH
Leggi Come installare un server SSH per il servizio di amministrazione remota
Indirizzo dei file/cartelle locali: filelocale.txt
Macchina Ubuntu remota: 192.168.0.1
Indirizzo di salvataggio sulla macchina Ubuntu remota: /home/nomeutente/
scp -r filelocale.txt nomeutente@192.168.0.1:/home/nomeutente/

Come copiare file/cartelle da una macchina Ubuntu remota alla macchina locale (rsync)

Supposto che sulla macchina Ubuntu remota sia installato il servizio SSH server
Leggi Come installare un server SSH per il servizio di amministrazione remota
Macchina Ubuntu remota: 192.168.0.1
Indirizzo dei file/cartelle remoti: /home/nomeutente/fileremoto.txt
Indirizzo di salvataggio sulla macchina locale: . (cartella corrente)
rsync -v -u -a --delete --rsh=ssh --stats nomeutente@192.168.0.1:/home/nomeutente/fileremoto.txt .

Come copiare file/cartelle dalla macchina locale a una macchina Ubuntu remota (rsync)

Supposto che sulla macchina Ubuntu remota sia installato il servizio server SSH
Leggi Come installare un server SSH per il servizio di amministrazione remota
Indirizzo dei file/cartelle locali: filelocale.txt
Macchina Ubuntu remota: 192.168.0.1
Indirizzo di salvataggio sulla macchina Ubuntu remota: /home/nomeutente/
rsync -v -u -a --delete --rsh=ssh --stats filelocale.txt nomeutente@192.168.0.1:/home/nomeutente/

Come montare cartelle remote in una macchina Ubuntu locale (sshfs)

Supposto che sulla macchina Ubuntu remota sia installato il servizio SSH server
Leggi Come installare un server SSH per il servizio di amministrazione remota
Macchina Ubuntu remota: 192.168.0.1
Indirizzo della cartella della macchina remota: /media/musica
  • Installa sshfs
sudo apt-get install sshfs
  • Carica il driver del kernel per sshfs
sudo modprobe fuse
  • Unisciti al gruppo di utenti 'fuse'
sudo adduser your_user_name fuse
  • Fai un logout e poi un login per far sì che ciò abbia effetto.
  • Aggiusta il gruppo su /dev/fuse
sudo chgrp fuse /dev/fuse
  • Crea un punto di montaggio locale nella tua cartella home
mkdir ~/musica_remota
  • monta la cartella remota su ~/musica_remota
sshfs 192.168.0.1:/media/music ~/remote_music

Come connettersi via SSH a una macchina Ubuntu remota attraverso una macchina Windows

Supposto che sulla macchina Ubuntu remota sia installato il servizio server SSH
Leggi Come installare un server SSH per il servizio di amministrazione remota
  • Scarica PuTTY: Qui

Come copiare file/cartelle da/a una macchina Ubuntu remota attraverso una macchina Windows

Supposto che sulla macchina Ubuntu remota sia installato il servizio server SSH
Leggi Come installare un server SSH per il servizio di amministrazione remota
  • Scarica FileZilla: Qui

Come limitare gli utenti che possono connettersi in remoto via SSH

Attivando il server SSH, ogni utente con un account valido può connettersi da remoto.
Ciò può comportare dei problemi di sicurezza, dato che esistono tool di cracking di password remote che
provano coppie comuni di nomeutente/password.
  • Conserva un backup del file di configurazione del server SSH con

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ORIGINAL

  • Modifica il file di configurazione

gksudo gedit /etc/ssh/sshd_config

  • Cambia il parametro PermitRootLogin da yes a no. Il superutente non deve avere la possibilità di connettersi direttamente da remoto.
  • Aggiungi il parametro AllowUsers e specifica i nomiutenti (separati da spazi) che possono connettersi da remoto.
  • Puoi anche usare DenyUsers per una selezione raffinata degli utenti.
  • Se attivi il server openssh e non hai intenzione al momento di abilitare connessioni remote, puoi aggiungere AllowUsers nosuchuserhere per disabilitare la connessione da parte di chiunque.

Server DHCP

Come installare un server DHCP per l'assegnazione automatica degli indirizzi IP

Supposto che "eth0" sia l'interfaccia per la scheda di rete
Gamma di indirizzi IP: 192.168.0.100 to 192.168.0.200
Subnet Mask: 255.255.255.0
Server DNS: 202.188.0.133, 202.188.1.5
Domini: tm.net.my
Indirizzo del Gateway: 192.168.0.1
sudo apt-get install dhcp3-server
sudo cp /etc/default/dhcp3-server /etc/default/dhcp3-server_backup
gksudo gedit /etc/default/dhcp3-server
  • Trova questa riga
...
INTERFACES=""
  • Sostituiscila con la riga seguente
INTERFACES="eth0"
  • Salva il file modificato
sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_backup
gksudo gedit /etc/dhcp3/dhcpd.conf
  • Trova questa sezione
...
# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
...
  • Sostituisci con le righe seguenti
# option definitions common to all supported networks...
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
#default-lease-time 600;
#max-lease-time 7200;
  • Trova questa sezione
...
# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
# range 10.5.5.26 10.5.5.30;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
# option routers 10.5.5.1;
# option broadcast-address 10.5.5.31;
# default-lease-time 600;
# max-lease-time 7200;
#}
...
  • Sostituisci con le righe seguenti
# A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
 range 192.168.0.100 192.168.0.200;
 option domain-name-servers 202.188.0.133, 202.188.1.5;
 option domain-name "tm.net.my";
 option routers 192.168.0.1;
 option broadcast-address 192.168.0.255;
 default-lease-time 600;
 max-lease-time 7200;
}
  • Salva il file modificato
sudo /etc/init.d/dhcp3-server restart


Server Database

Come installare un server database MySQL

sudo apt-get install mysql-server
  • MySQL inizialmente permette connessioni soltanto da localhost (127.0.0.1). Avremo bisogno di rimuovere questa restrizione se vuoi rendere accessibile il server a chiunque su internet. Apri il file /etc/mysql/my.cnf
gksudo gedit /etc/mysql/my.cnf
  • Trova la riga bind-address = 127.0.0.1 e commentala
...
#bind-address           = 127.0.0.1
...
  • MySQL inizialmente non ha nessuna password di root. Questo è un forte rischio per la sicurezza. Avrai bisogno di impostarne una. Affinché il computer locale acceda bene da root, avrai bisogno di impostare una password anche per questo. Il nome-macchina-locale è il nome del computer dove stai lavorando. Per maggiori informazioni visita qui (in inglese)
mysqladmin -u root password your-new-password
mysqladmin -h root@local-machine-name -u root -p password tua-nuova-password
sudo /etc/init.d/mysql restart

Fare il backup di un database MySQL usando AutoMySQLBackup

  • AutoMySQLBackup è uno script per avere un backup giornaliero, settimanale e mensile dei tuoi database MySQL usando mysqldump.
  • Caratteristiche dello script AutoMySQLBackup
    • Backup mutipli di database MySQL con un solo. (Adesso potrai fare il backup di TUTTI i database su un server facilmente, non c'è più bisogno di specificare ogni database separatamente)
    • Backup di tutti i database in un singolo file di backup o in cartelle e file separati per ogni database.
    • Compressione automatica dei file di backup per salvare spazio usando compressione gzip o bzip2.
    • Puoi fare backup di server MySQL remoti in un server centrale.
    • Avvia automaticamente usando cron oppure puoi avviarlo manualmente.
    • Puoi inviare via email il registro di backup a qualche indirizzo email specificato invece di "root". (Ottimo per siti e database ospitati da altri).
    • Puoi inviare via email i file di backup compressi dei database a un indirizzo email specificato.
    • Puoi specificare lo spazio massimo dei backup da inviare via email.
    • Puoi impostare di avviare comandi PRIMA e DOPO il backup.
    • Scegli in quale giorno della settimana fare il backup settimanale.
  • Scaricalo da qui
  • Requisiti di AutoMySQLBackup

Lo script AutoMySQLBackup richiede solo mysqldump (uno strumento standard fornito con il client mysql) e gzip o bzip2 per la compressione dei file di backup. Se vuoi che i registri siano inviati via email, avrai bisogno dei permessi per eseguire il programma “mail”. Se vuoi che i file di backup compressi siano inviati via email, devi avere Mutt disponibile sul server. Infine, avrai bisogno di uan shell bash e gli strumenti di sistema standard (tutti questi requisiti dovrebbero già essere presenti nella maggior parte dei sistemi linux predefiniti.)

  • Cosa fa AutoMySQLBackup

Ogni giorno AutoMySQLBackup avvierà automaticamente (se impostato su /etc/cron.daily) e usando mysqldump e gzip farà il dump dei database da te specificatinella cartella /backups/daily, ruota i backup giornalieri ogni settimana, così non dovresti mai avere lì più di 7 backup.

Ogni sabato AutoMySQLBackup farà nuovamente il backup dei database che hai scelto ma sarà messo su /backups/weekly; questo ruota ogni 5 settimane così non dovresti mai avere lì più di 5 backup.

Ogni primo del mese AutoMySQLBackup creerà un backup di tutti i dabase e li metterà in /backups/monthly. Questo non è mai ruotato, così ti permetterà di avere tutti i backup. Suggerirei di fare una copia offline ogni mese o due, così se dovrebbero esserci problemi nell'hard disk, potrai comunque ripristinare i tuoi database

  • Installazione di AutoMySQLBackup

L'installazione è semplice come modificare un paio di variabili nel file AutoMySQLBackup. Il setup completo è documentato nel file di script AutoMySQLBackup prima della sezione variabili.

  • Scarica automysqlbackup.sh e mettilo nella tua cartella /etc/cron.daily directory o nella tua home.
  • Modifica (almeno) le righe seguenti:
...
USERNAME=utentedb 
PASSWORD=password DBNAMES=”DB1 DB2 DB3"
...
  • Nota:L'utente deve avere almeno i privilegi di select nei database e assicurativi che siano mantenute le virgolette ” ” altrimenti non funzionerà
  • Rendi il file eseguibile:
sudo chmod u+rwx
  • Crea la cartella seguente
./backups
  • Questo è tutto... Adesso puoi avviarlo da riga di comando “./automysqlbackup.sh” oppure se è in /etc/cron.daily si avvierà automaticamente ogni giorno con cron

Come installare MySQL Administrator

sudo apt-get install mysql-admin

Come installare Oracle Database XE

  • Aggiungi il seguente repository nella tua /etc/apt/sources.list:
deb http://oss.oracle.com/debian unstable main non-free
  • Installa il software usando apt-get
sudo apt-get update
sudo apt-get install oracle-xe
  • Aggiungi il tuo login al gruppo 'dba' (dove il tuo nome di login è nomeutente)
sudo usermod -G dba -a nomeutente

Server HTTP Apache

Come installare un server Apache HTTP per il servizio di HTTP (Web) Server

sudo apt-get install apache2

Come installare PHP per il server Apache HTTP

Come installare PHP4
sudo apt-get install php4
sudo apt-get install libapache2-mod-php4
sudo /etc/init.d/apache2 restart
  • Per testare se php4 è installato correttamente
gksudo gedit /var/www/testphp.php
  • Inserisci la riga seguente nel nuovo file
<?php phpinfo(); ?>
  • Salva il file modificato
  • http://localhost/testphp.php
  • Assicurati di rimuovere il file dopo, perché potrebbe essere un rischio per la sicurezza
Come installare PHP5
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5
sudo /etc/init.d/apache2 restart
  • Per testare se php5 è installato correttamente
gksudo gedit /var/www/testphp.php
  • Inserisci la riga seguente nel nuovo file
<?php phpinfo(); ?>
  • Salva il file modificato
  • http://localhost/testphp.php
  • Assicurati di rimuovere il file dopo, perché potrebbe essere un rischio per la sicurezza

Come installare MySQL per il server HTTP Apache

sudo apt-get install libapache2-mod-auth-mysql
  • Scegli php4-mysql o php5-mysql a seconda di quale versione di PHP hai installato
sudo apt-get install php<version-number>-mysql
sudo apt-get install phpmyadmin
  • Affinché PHP funzioni con MySQL, apri il file (dove <versione> è 4 o 5 a seconda di quale versione di PHP hai installato)
gksudo gedit /etc/php<version>/apache2/php.ini
  • Avrai bisogno di togliere il commento alla riga ";extension=mysql.so", che quindi sarà come segue
...
extension=mysql.so
...
  • Salva il file modificato ed esci
sudo /etc/init.d/apache2 restart

Come installare Python per Apache 2

sudo aptitude install python
sudo aptitude install libapache2-mod-python

Come mappare le URL a cartelle esterne a /var/www/

gksudo gedit /etc/apache2/conf.d/alias
  • Inserisci le righe seguenti nel nuovo file
Alias /URL-path /indirizzo_della_cartella/
<Directory /indirizzo_della_cartella/>
  Options Indexes FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
  • Salva il file modificato
sudo /etc/init.d/apache2 restart
  • Se ottieni "403 - Permission denied", prova:
chmod o+x /indirizzo_della_cartella/
  • Se non funziona, ciò che segue dovrebbe aiutarti:
chmod o+r,o+x /indirizzo_della_cartella/

Come cambiare la porta di ascolto predefinita per il server Apache HTTP

Supposto per esempio che la nuova porta sia la 78
sudo cp /etc/apache2/ports.conf /etc/apache2/ports.conf_backup
gksudo gedit /etc/apache2/ports.conf
  • Trova questa riga
Listen 80
  • Sostituiscila con la riga seguente
Listen 78
  • Salva il file modificato
sudo /etc/init.d/apache2 restart

Come fare il parsing di una fonte RSS in PHP per il server Apache HTTP

Supposto per esempio che la fonte RSS sia DistroWatch.com - News
wget -c http://easylinux.info/uploads/magpierss-0.71.1.tar.gz
sudo mkdir /var/www/feeds
sudo tar zxvf magpierss-0.71.1.tar.gz -C /var/www/feeds/
sudo mv /var/www/feeds/magpierss-0.71.1/* /var/www/feeds/
sudo rm -fr /var/www/feeds/magpierss-0.71.1/
sudo chown -R www-data:root /var/www/feeds/
gksudo gedit /var/www/feeds/index.php
  • Inserisci le righe seguenti nel nuovo file
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
 
 <title>DistroWatch.com - News</title>
 
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
 
 <style type="text/css">
 /*<![CDATA[*/
 /* 
 DEFAULT TAG STYLES
 */
 
 body {
  background: #ffffff;
  margin-left: 20px;
  font-family: bitstream vera sans,sans-serif;
  font-size: 9pt;
 }
 
 h1 {
  font-family: luxi sans,sans-serif;
  font-size: 15pt;
 }
 
 /*]]>*/
 </style>
 
 </head>
  
 <body>
 
 <?php

 require_once 'rss_fetch.inc';
 error_reporting(E_ERROR);
 
 $url = 'http://distrowatch.com/news/dw.xml';
 $rss = fetch_rss($url);
 
 if ($rss) {
 
  echo "<h1>";
  echo "<a href=$url>", $rss->channel[title], "</a><br/>";
  echo "</h1>";
 
  foreach ($rss->items as $item ) {
   $url = $item[link];
   $title = $item[title];
   $description = $item[description];
   echo "<li>";
   echo "<b>Topic:</b> <a href=$url><b><u>$title</u></b></a><br/><br/>";
   echo "$description<br/><br/>";
   echo "</li>";
  }
 
 }
 else {
  echo "<a href=$url>", $url, "</a> - Server Down!<br/>";
 }
 
 ?>
 
 </body>
 
 </html>
 

Server FTP

Come installare un server FTP per il servizio di trasferimento file

sudo apt-get install proftpd

Come configurare il server FTP affinchè gli utenti siano "imprigionati" (chrooted) all'interno della loro cartella home

sudo cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf_backup
gksudo gedit /etc/proftpd/proftpd.conf
  • Trova questa sezione
...
DenyFilter           \*.*/
...
  • Aggiungi la riga seguente sotto di essa
DefaultRoot           ~

  • Salva il file modificato
sudo /etc/init.d/proftpd restart

Come configurare il server FTP per permettere agli utenti anonimi solo la lettura

sudo cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf_backup
gksudo gedit /etc/proftpd/proftpd.conf
  • Aggiungi le righe seguenti alla fine del file
<Anonymous ~ftp>
 User            ftp
 Group            nogroup
 UserAlias          anonymous ftp
 DirFakeUser on ftp
 DirFakeGroup on ftp
 RequireValidShell      off
 MaxClients         10
 DisplayLogin        welcome.msg
 DisplayFirstChdir      .message
 <Directory *>
  <Limit WRITE>
   DenyAll
  </Limit>
 </Directory>
</Anonymous>
  • Salva il file modificato
sudo /etc/init.d/proftpd restart

Come configurare il server FTP per permettere agli utenti anonimi la lettura e la scrittura

sudo cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf_backup
gksudo gedit /etc/proftpd/proftpd.conf
  • Aggiungi le righe seguenti alla fine del file
<Anonymous ~ftp>
 User            ftp
 Group            nogroup
 UserAlias          anonymous ftp
 DirFakeUser on ftp
 DirFakeGroup on ftp
 RequireValidShell      off
 MaxClients         10
 DisplayLogin        welcome.msg
 DisplayFirstChdir      .message
</Anonymous>
  • Salva il file modificato
sudo /etc/init.d/proftpd restart

Come mappare gli utenti FTP anonimi su cartelle esterne a /home/ftp/

sudo cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf_backup
gksudo gedit /etc/proftpd/proftpd.conf
  • Aggiungi le righe seguenti alla fine del file
<Anonymous /location_of_folder/>
 User            ftp
 Group            nogroup
 UserAlias          anonymous ftp
 DirFakeUser on ftp
 DirFakeGroup on ftp
 RequireValidShell      off
 MaxClients         10
 DisplayLogin        welcome.msg
 DisplayFirstChdir      .message
 <Directory *>
  <Limit WRITE>
   DenyAll
  </Limit>
 </Directory>
</Anonymous>
  • Salva il file modificato
sudo /etc/init.d/proftpd restart

Come cambiare la porta di ascolto predefinita per il server FTP

Supposto per esempio che la nuova porta sia la 77
sudo cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf_backup
gksudo gedit /etc/proftpd/proftpd.conf
  • Trova questa riga
Port              21
  • Sostituiscila con la riga seguente
Port              77
  • Salva il file modificato
sudo /etc/init.d/proftpd restart

Come connettersi via FTP a una macchina Ubuntu remota attraverso una macchina Windows

Supposto che che sulla macchina Ubuntu remota sia stato installato il servizio di server FTP
Leggi Come installare un server FTP per il servizio di trasferimento file
  • Scarica FileZilla: Qui

Server di Streaming Media

Come installare GNUMP3d per il servizio di server di Streaming Media

Supposto che /var/music/ sia la cartella contenente i file multimediali
sudo apt-get install gnump3d

Come cambiare la cartella predefinita contenente i file multimediali per GNUMP3d

Supposto che la nuova cartella contenente i file multimediali sia /home/music/
sudo cp /etc/gnump3d/gnump3d.conf /etc/gnump3d/gnump3d.conf_backup
gksudo gedit /etc/gnump3d/gnump3d.conf
  • Trova questa riga
root = /var/music
  • Sostituiscila con la riga seguente
root = /home/music
  • Trova questa riga
user = gnump3d
  • Sostituiscila con la riga seguente
user = root
  • Salva il file modificato
sudo /etc/init.d/gnump3d restart

Come cambiare la porta di ascolto predefinita per GNUMP3d

Supposto per esempio che la nuova porta sia la 7878
sudo cp /etc/gnump3d/gnump3d.conf /etc/gnump3d/gnump3d.conf_backup
gksudo gedit /etc/gnump3d/gnump3d.conf
  • Trova questa riga
port = 8888
  • Sostituiscila con la riga seguente
port = 7878
  • Salva il file modificato
sudo /etc/init.d/gnump3d restart


Server per una galleria di immagini

  • Per un confronto tra Gallery1 e Gallery2 guarda qui (in inglese)

Gallery1

Come installare Gallery1 per un servizio di server per una galleria di immagini
sudo apt-get install gallery (when prompted to restart Apache, choose No or Cancel)
sudo apt-get install imagemagick
sudo apt-get install jhead
sudo apt-get install libjpeg-progs
sudo /etc/init.d/apache2 restart
sudo sh /usr/share/gallery/configure.sh
Gallery Configuration Wizard: Step 1
Next Step ->
Gallery Configuration Wizard: Step 2
General settings Tab ->
Admin password: Specify the password

Locations and URLs Tab ->
Album directory: /var/www/albums/
Temporary directory: /tmp/
Gallery URL: http://localhost/gallery
Albums URL: http://localhost/albums
Next Step -->
Gallery Configuration Wizard: Step 3
Next Step -->
Gallery Configuration Wizard: Step 4
Save Config ->
Come configurare Gallery1 per essere accessibile tramite Internet (nome dell'host oppure IP statico) o LAN (IP statico)
Supposto che la rete e la connessione ad internet siano configurate correttamente
Internet (Hostname o IP statico) o LAN (IP statico): http://www.url.com
sudo cp /etc/gallery/config.php /etc/gallery/config.php_backup
gksudo gedit /etc/gallery/config.php
  • Trova questa sezione
...
$gallery->app->photoAlbumURL = "http://localhost/gallery";
$gallery->app->albumDirURL = "http://localhost/albums";
...
  • Sostituiscila con le righe seguenti
$gallery->app->photoAlbumURL = "http://www.url.com/gallery";
$gallery->app->albumDirURL = "http://www.url.com/albums";

Come configurare Gallery1 per essere accessibile dalla LAN (IP dinamico)

Supposto che la rete e la connessione ad internet siano configurate correttamente
LAN (IP dinamico): 192.168.0.1
sudo cp /etc/gallery/config.php /etc/gallery/config.php_backup
gksudo gedit /etc/gallery/config.php
  • Trova questa sezione
...
$gallery->app->photoAlbumURL = "http://localhost/gallery";
$gallery->app->albumDirURL = "http://localhost/albums";
...
  • Sostituiscila con le righe seguenti
$gallery->app->photoAlbumURL = "/gallery";
$gallery->app->albumDirURL = "/albums";

Come fare il backup/ripristinare i dati di Gallery1

sudo tar zcvf gallery.tgz /var/www/albums/ /etc/gallery/
  • Per ripristinare i dati di Gallery
sudo tar zxvf gallery.tgz -C /

Gallery2

Come installare Gallery2
Come configurare Gallery2

Come installare un server di controllo di versioni Subversion (svnserve)

  • Installa Subversion e il demone dei servizi Internet
sudo apt-get install subversion xinetd
  • Crea l'utente a cui apparterranno i repository
sudo adduser --system --no-create-home --home /var/svn --group --disabled-login svn
  • Crea la cartella che conterrà i repository
sudo mkdir /var/svn
sudo chown svn:svn /var/svn
  • Crea il file /etc/xinetd.d/svnserve con il seguente contenuto
service svn
{
       port = 3690
       socket_type = stream
       protocol = tcp
       wait = no
       user = svn
       server = /usr/bin/svnserve
       server_args = -i -r /var/svn
}
  • Riavvia xinetd
sudo /etc/init.d/xinetd restart
  • Crea il primo repository
sudo -u svn svnadmin create /var/svn/testrepo
  • Dovrebbe essere possibile controllare il repository e dovrebbe funzionare
svn co svn://localhost/testrepo
Personal tools