Di default, la configurazione del motore PHP permette di uplodare file di dimensioni non superiori ai 2 MB. Nel file di configurazione php.ini , infatti, si trova la seguente direttiva:

upload_max_filesize = 2M

che non fa altro che fissare la dimensione massima per i file in upload a 2 MB, appunto. Molto spesso però tale limite rappresenta un problema, soprattutto quando dobbiamo gestire piccoli file audio e video. Ovviamente nel caso in cui dovessimo implementare applicativi che lavorano con upload di file di grandi dimensione, 100 MB ad esempio, la strada di utilizzare tale direttiva non è certo quella consigliata (il motore PHP e il server web Apache non sono stati concepiti per gestire una tale dimensione di file in upload).

Quindi, quando dobbiamo gestire file di dimensioni superiori hai 2 MB, dicevamo, il limite imposto rimane un problema. Come risolvere dunque la situazione?

Sicuramente l’idea di modificare il valore nella direttiva upload_max_filesize non è la miglior cosa da fare: è bene ridurre al minimo le modifiche al file php.ini , visto che tale file configurare tutto il motore PHP. Aumentare la dimensione dei file nel php.ini l’aumenterà in tutti i progetti implementati in tale linguaggio.

La soluzione migliore è modificare tale impostazione solamente nel dominio o nel progetto interessato: ovviamente tutto dipende dalla configurazione del sistema in cui l’applicativo “gira”.

Se abbiamo la possibilità di accedere al file di configurazione del dominio ( normalmente si chiamano http.include, ma dipende dal sistema utilizzato ovviamente ), è sufficiente aggiungere all’interno del VirtualHost di tale file la direttiva:

php_value upload_max_filesize XM

che altro non fa che impostare il limite al valore X solo per il dominio in particolare, lasciando quindi il limite di default per tutto il resto. Nel caso in cui non si potesse accedere al file di configurazione del dominio, si può procedere inserendo tale direttiva in un file .htacces : in questo modo si ottiene lo stesso effetto senza dover modificare il file di configurazione del dominio.

Da questo momento, il limite per i file in upload sarà di X MB, ma solo per il dominio preso in considerazione!



Gestire un server, in particolare un server Linux, è un’attività che richiede parecchio lavoro e costante impegno. Per svolgere al meglio il proprio lavoro, soprattutto se si è responsabili di una macchina, è necessario seguire con attenzione gli aggiornamenti e le security patch rilasciate per il proprio sistama operativo, o per gli applicativi utilizzati.

Ma è ovviamente molto difficile avere tutto sotto controllo senza un ausilio “esterno”: ecco a cosa servono i tool come Tiger, Nmap e Nessus.

Questi tool hanno diverse caratteristiche interessanti, alcuni sono più precisi, altri più approfonditi, ma comunque hanno uno scopo in comune: permettere all’amministratore di rete di monitorare il proprio sistema e scoprire le vulnerabilità prima che sia troppo tardi.

Tiger e Nmap sono in effetti più semplici da installare ed utilizzare, ma è anche vero che non raggiungono la profondità di analisi e la precisione di Nessus.

Quest’ultimo è eseguibile su diversi sistemi operativi, tra i quali ci sono i seguenti:

  • Red Hat ES 3, ES 4, and ES 5 (i386 and x86-64)
  • Fedora Core 7 and 8
  • SUSE 9.3 and 10.0
  • Debian 4 (i386 and amd64)
  • FreeBSD 6.0
  • Solaris 9 and 10
  • Mac OS X 10.5
  • Windows 2000, XP, Server 2003, Server 2008, and Vista
  • Enterasys Dragon appliance running Dragon 7.2 or later

Anche gli altri due tool supportano diversi sistemi operativi, per questo motivo conviene leggere le rispettive documentazioni e le rispettive liste di plugin per capire quale sia il tool che meglio si addice all’analisi che vogliamo eseguire sul nostro sistema.

In particolare, i link a cui facciamo riferimento sono i seguenti:

Non proseguiamo con ulteriori spiegazioni, visto che la documenzione di ogni tool è veramente esauriente ed intuitiva. Ad ogni modo, rimaniamo come sempre a disposizione per chi incontrasse difficoltà nella configurazione, nell’installazione o nell’utilizzo.



Nonostante la crescita esponenziali di linguaggi di programmazioni come PHP o Ruby, Java continua a mantenere un posto di primo ordine nel cuore degli sviluppatori. Oltre all’essere un linguaggio sicuro e divertente, permette di integrarsi in ogni piattaforma, grazie alla Java Virtual Machine, e come se non bastasse, permette l’integrazione di piattaforme stand-alone con piattaforme web-side, lasciando praticamente assoluta libertà di creazione e fantasia allo sviluppatore.

Ci sono molti pacchetti, soprattutto per chi utilizza Windows, che auto-installano Java e che forniscono strumenti per iniziare a sviluppare piccoli applicativi con questa meravigliosa tecnologia. Ovviamente i professionisti si avvalgono di strumenti ben diversi, già a partire dall’installazione, che ovviamente fanno a mano.

In questa mini guida, tuttavia, non ci dedichiamo alla installazione di Java su sistemi Windows o Linux, ma concentriamo la nostra attenzione a come gestire gli eseguibili Java, ovvero i file che permettono alla nostra applicazione di “girare” .

Quando ci troviamo di fronte ad una applicazione stad-alone scritta in java, quasi sicuramente incontriamo file con un’estenzione particolare: .jar . Questa è proprio l’estenzione che caratterizza gli eseguibili in Java, almeno quelli “regolari” (vedramo più avanti che ci sono metodi che permettono la manipolazione di tali file, per estendere il loro utilizzo).

Di fronte ad un file .jar, possiamo utilizzare il seguente comando per lanciare l’applicazione Java:

java -jar nome_file.jar

Qeusto comando è utile per lanciare l’applicazione quando abbiamo a disposizione solo la linea di comando o quando non riusciamo a lanciare l’applicazione direttamente cliccando sul file .jar (probabilmente perchè sul proprio sistema operativo non si è configurato bene l’ambiente, o la variabile CLASSPATH non è stata settata correttamente).

Abbiamo quindi visto il comando per lanciare eseguibili Java: ma se, una volta conclusa la fase di sviluppo della nostra piccola applicazione, volessimo creare un eseguibile? Ecco come fare.

Esistono diversi tool freeware che permettono non solo la compilazione e la creazione di file .jar, ma addirittura di creare eseguibili .exe per l’ambiente Windows. Uno esempio di tale applicativo è scaricabile qui. Java Launcher è veramente un ottimo prodotto: semplice e veloce, leggero e utile per chi, lavorando in ambiente Windows, ha incontrato difficoltà con gli eseguibili Java.

Un altro tool davvero interessante è Jelude: anche questo tool permette di passare da eseguibili .jar a eseguibili .exe . E’ sufficiente seguire questo link per leggere tutta le documentazione e scaricare il necessario.

Ovviamente questi tool sono utili per l’ambiente Windows, in particolare lì dove non è stato installato il Java Runtime Environment (JRE) o il JRE non viene riconosciuto sul proprio sistema Windows (probabilmente in questo caso ci sono problemi di configurazione). Per gli utenti Linux, ovviamente, i file .exe non servono a nulla o quasi, ma non si dovrebbero incontrare grossi problemi, visto che in praticamente tutte le distruzioni JRE è praticamente fornito con il sistema operativo stesso.



L’ammistrazione da remoto di server linux può essere effettuata in diversi modi, ma il modo più sicuro ed efficiente è sicuramente l’utilizzo di SSH (Secure SHell), un protocollo che permette di stabilire una sessione remota cifrata ad interfaccia a linea di comando con un altro host.

Supponendo di utilizzare un PC con una qualche versione di linux installata per effettuare la connessione remota, tutto ciò che ci occorre è aprire una finestra di terminale o shell (per chi utilizza windows, è possibile sfruttare tool come Putty per effettuare connessioni remote). Siccome è buona norma non utilizzare l’utente root per lavorare, supporremo che utilizziamo nel nostro sistema di casa un utente diverso, ad esempio user-007. Dunque, aprendo il terminale, a linea di comando vedremo un qualcosa di simile:

$user-007\

Ora, normalmente in remoto ci si collega come utente root, ma allora sorge un problema: nel sistema di casa che utilizziamo per effettuare la connessione remota siamo identificati con l’utente user-007, mentre nell’host remoto vogliamo essere identificati come utente root.

Allora il comando che dobbiamo utilizzare è il seguente:

ssh root@indirizzo_ip

dove al posto di indirizzo _ip ovviamente andremo a mettere l’ip del server con il quale vogliamo effettuare la connessione remota. A questo punto ci verrà richiesta la password di sistema relativa all’utente remoto root: una volta inserita, entreremo nel server e potremo gestirlo da linea di comando proprio come facciamo con il nostro sistema linux locale.

Utilizzare PC domestici con linux per lavorare ed effettuare connessioni SSH è decisamente la cosa più sicura ed efficiente per ammistrare un server da remoto: vi sono tool per windows che permettono di utilizzare meccanismi che simulano o lavorano in modo simile ad un sistema linux per amministrare server linux, ma provate per esempio ad uplodare sul server una grande quantità di dati (ad esempio video o altro materiale multimediale). La differenza che potrete osservare parla da sola.