Archive for category Linux

Quali porte o servizi sono in ascolto

Se avete un dubbio su quali porte siano in ascolto sulla vostra macchina, server o workstation che, sia ecco qua come fare.
Ricorriamo all’utilizzo di un tool chiamato Nmap, scaricabile sul sito http://nmap.org/. Questo tool è multipiattaforma quindi se volete potete utilizzarlo anche su sistemi Win32.
Nel nostro ambiente Linux Debian procediamo all’installazione di Nmap, nel caso non sia già presente.
Per installarlo utilizziamo il gestore di pacchetti nel nostro caso apt come segue:

apt-get install nmap

Eseguiamo tale Nmap come segue

nmap localhost

Come vedete basta specificare su quale host deve essere effettuata la scansione delle porte. Di conseguenza potete anche capire quali porte sono aperte, e quindi quali servizi sono in ascolto, su una macchina remota.

Eseguendo Nmap senza parametri

nmap

verrà mostrato l’help, con la specifica di tutti i paramentri, attraverso i quali potete specificare la tecnica di scansione, porte specifiche, scanning sul del sistema operativo, il timing e le perfomance della scansione.

Spero di essere stato utile e come al solito scrivetemi per dubbi chiarimenti o correzioni!

, , , , ,

2 Comments

Problema con locate in Linux : can not open `/var/lib/mlocate/mlocate.db’: No such file or directory

Avete provato ad usare il comando locate in linux per cercare un file o una directory ma il risultato è stato il seguente errore?


#locate tomcat
locate: can not open `/var/lib/mlocate/mlocate.db’: No such file or directory

Bene, il problema è che il file mlocate.db non esiste… Fantastico :)
Non vi preoccupate basta semplicemente lanciare il comando per aggiornare, o creare se non esiste, tale file.
Il file mlocate.db contiene i dati relativi alla struttura di file e directory per velocizzare la ricerca rispetto al comando find.
#updatedb

Ora possiamo usare il nostro locate!.

Una piccola dritta, utilizzate locate in insieme a al comando grep e troverete tutto quello che serve.

#locate tomcat
/usr/local/tomcat5
/usr/local/tomcat6


#locate tomcat | grep 5
/usr/local/tomcat5

, , , , , ,

No Comments

Configurare mod_jk per apache tomcat

Il nostro obbiettivo e fare comunicare Apache2 e Tomcat, in modo che il container non sia esposto direttamente sul web, ma tutto venga filtrato attraverso il web server (Apache2 in questo caso). Oltre a motivi legati alla sicurezza, in questo modo possiamo far servire i contenuti statici (html, immagini, css, js) al web server invece che al container, riducendo su di esso un carico inutile.

Per prima cosa dobbiamo installare in mod_jk nel caso non sia già stato installato
apt-get install libapache2-mod-jk

E attiviamolo
a2enmod jk

Ora creiamo il file /etc/apache2/workers.properties, nel quale andiamo a specificare i nostri worker (nella nostra configurazione uno solo).
Questa e la definizione nel nostro worker. Ho evidenziato due valori, worker.worker1.host e worker.worker1.port. Questi due valori devono essere compilati rispettivamente con l’host dell’installazione di Tomcat e la porta sulla quale il connector AJP di Tomcat è in ascolto. Se Tomcat è installato sulla stessa macchina e non è stato variata la configurazione di default del connector AJP, lasciate i valori da me impostati.
Per quanto riguarda gli altri parametri vi rimando alla guida ufficiale del workers.properties.

[shm]
file=/var/log/apache2/shm.file
size=1048576
# tomcat 5.5
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8109
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.reclycle_timeout=300

Read the rest of this entry »

, , , , , , ,

3 Comments

Abilitare il modulo SSL su Apache2

Una volta installato apache, argomento gia trattato nel precedente post Installare apache 2 su Debian2
vediamo come installare e configurare il modulo SSL per gestire il protocollo HTTPS.

Per prima cosa dobbiamo installare openssl nel caso non fosse gia presente nella nostra installazione di Apache2.
apt-get install openssl ssl-cert

Ora generiamo, nel caso non l’avessimo, un certificato. Non essendo un ente autorizzato possiamo generare solo certifica self-signed i quali funzionano correttamente, ma generarno dei warning che verranno mostrati nel browser. Nel caso volessimo utilizzare un certifivato trusted dobbiamo rivolgerci ad una certification authority come (Es. Thawte).
Per generarlo, lanciamo il seguente comando e compiliamo i dati richiesti, annotando la password.
apache2-ssl-certificate

Nel caso in cui il comando precedente non fosse disponibile dobbiamo utilizzare il seguente
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem

Read the rest of this entry »

, , , , , , , , ,

4 Comments

Installare apache 2 su Debian

Dove installare e configurare apache2 si linux Debian? Non preoccupatevi, non è cosi difficile! Vediamo in pochi e semplici passi come fare.

Per prima cosa Debian mette a disposizione apt (Advanced Package Tool), come gestore di pacchetti, il quale semplifica la di molto la vita quando dobbiamo installare, disinstallare o aggiurnare pacchetti sulla nostra installazione Debian. Tramite apt andiamo ad installare apache2

apt-get install apache2

Nel caso vogliate utilizzare la modalità preforking utilizzata in apache 1.3 (piu stabile ma meno prestante rispetto al modello a thread della versione 2), installate anche il seguente pacchetto

apt-get install apache2-mpm-prefork

L’installazione base è completata. Ora passiamo a qualche semplice configurazione.
Vediamo la struttura base di un file di configurazione di un VirtualHost.
Creamo un file di nome /etc/apache2/sites-available/test e compiagli dentro il seguente contenuto.
Vediamo di capire le direttive base
VirtualHost è la direttiva che indica un nuovo VirtualHost, al suo interno sono presenti tutte le direttive ad esso relative. Qui al posto di [IP] [PORT] impostiamo l’indirizzo e la porta sulla quale il nostro VirtualHost accetta richieste.
ServerAdmin indica l’indirizzo email dell’amministratore del server.
DocumentRoot è il path alla cartella dei file del nostro sito.
ServerName è il nome del dominio sulle quali il nostro VirtualHost accetta richieste.
ServerAlias è il nome di ulteriori domini sulle quali il nostro VirtualHost accetta richieste.
ErrorLog è il nome del file dove vengono loggati errori relatvi a questo VirtualHost.
CustomLog è il nome del file dove vengono loggati gli accessi al VirtualHost.


<VirtualHost [IP]:[PORT]>
ServerAdmin support@easymarketcrs.it
DocumentRoot /www/sito-test
ServerName nostrosito.com
ServerAlias www.nostrosito.com alias1.nostrosito.com alias2.nostrosito.com
ErrorLog /var/log/apache2/vh/test/revolution/error.log
CustomLog /var/log/apache2/vh/test/access.log combined
</VirtualHost>

Ora possiamo provare il nostro virual host impostando il file di host del nostro client come segue (IP è lo stesso ip impostato nel file precedente)
[IP] www.nostrosito.com

Apriamo un browser e andando alla url www.nostrosito.com vediamo la nostra ultima creazione.

Questo è solo l’inizio con Apache2. Lascio ai prossimi ulteriori configurazioni.
Accetto come sempre correzzione, domande e suggerimenti, quindi non esitate a commentare!

, , , , , , ,

No Comments

Accedere a MySql server dall’esterno

Avete appena installato MySql da una macchina remota e non riuscite ad effettuare l’accesso con il vostro client?

Non vi preoccupate, è normale. La configurazione di default di MySQL non permette l’accesso dall’esterno. Chiaramente non per complicarvi la vita, ma per motivi di sicurezza, visto che un servizio aperto sull’esterno, non configurato come di deve, è sempre un ottimo inizio per fare breccia… Quindi attezione…

Morale a parte vediamo come procedere per abilitare l’accesso dall’esterno:

Per prima cosa dobbiamo modificare il file di configurazione /etc/my.cnf in modo che il server MySql sia in ascolto sull’IP esterno, quindi,  assicuriamo che la linea skip-networking sia commentata o non presente. Dopo di che modifichiamo (o inseriamo se non esiste) la linea bind-address come segue :

bind-address=[IP-SERVER]

Salviamo e riavviamo MySql

/etc/init.d/mysqld restart

Una volta che MySql è in ascolto sull’interfaccia esterna dobbiamo impostare le grant sugli utenti che possono accedere dall’esterno. Quindi accediamo al server in locale e lanciamo il seguente comando.

mysql> GRANT ALL ON foo.* TO bar@'202.54.10.20' IDENTIFIED BY 'PASSWORD';

Vediamo ci capire cosa si puo fare con il seguente comando;  diamo grant complete sul database foo, su tutte le tabelle [*], all’utente bar che si connette dall’IP 202.54.10.20 che ha come password PASSWORD.
In questo modo possiamo collegarci solo se il nostro client ha come IP 202.54.10.20. Nel caso l’ip non sia sempre lo stesso, possiamo utilizzare il carattere jolly % come con l’operatore like, visto che l’ip del client viene messo in like con quello specificato nella grant.
Esempio TO bar@’%’ vuol dire  “all’utente bar che si collega da ogni IP”.

Anche questa volta tutto molto semplice no? Se avete problemi, o notate imperfezioni, commentate pure!

, ,

1 Comment

Installare Java su Linux in 5 minuti

Dovete installare Java sulla vostra macchina Linux, ma non sapete bene come fare?
Ecco qua una guida passo passo che vi guidera nell’installazione di Java su Linux.

Per prima cosa andare sul sito della Sun e scaricate la versione di Java per Linux che vi interessa, nella distribuzione autoestraente (estensione .bin).
Consiglio di scaricare sempre la versione con JDK piuttosto che solo JRE, senza nessun componente aggiuntivo, es. il bundle di Net Beans. Al momento siamo alla versione 6.12
Dopo aver scaricato il file che ci interessa, spostiamolo nella directory che dove vogliamo installare Java (per esempio /opt/) con il seguenet comando:
mv jdk-6u2-linux-i586.bin /opt/

Ora diamo i permessi di esecuzione sul tale file in modo da poter lanciare l’installazione.
cd /opt/
chmod 777 jdk-6u2-linux-i586.bin

Possiamo adesso lanciare il file scaricato. Ci verra chiesto di accettare la licenze, poi farà tutto da solo.
./jdk-6u2-linux-i586.bin

Verrà creata una directory con questo nome jdk1.6.0_02 dento /opt/ contente tutti i file dell’installazione di Java, perche anche questa volta abbiamo a già finito.
Non resta che configurare le varibili d’ambiente per fare in modo che l’utilizzo di java sia piu agevole, settando le variabili d’ambiente PATH e JAVA_HOME. Per fare ciò dobbiamo soltanto editare il file etc/bash.bashrc aggiungendo le seguenti righe
PATH=/opt/[java-dir-name]/bin:$PATH
export JAVA_HOME=/opt/[java-dir-name]

Fatto questo possiamo controllare che tutto sia ok, lanciando il comando
java -version
che stampa a video la versione di Java installata

Semplice vero?

P.S. come al solito, se avete dei dubbi chiedete pure!!!

, , ,

1 Comment

Installare Tomcat su Linux passo passo

Vi serve un Servel Engine e avete pensato a tomcat? (Anche se Glassfish non è niente male)
Bene vediamo come installarlo in soli 5 minuti, download escluso :)

Procediamo scaricando la versione Core compressa tar.gz che ci interessa (consiglio 5.5 o 6.0) dal sito Apache Tomcat. Nel caso stiate utilizzando una console, potete utilizzare il comando wget, per caricare il file passandogli la url diretta del file.

Una volta scaricato il file spostatelo nella cartella dove volete installare Tomcat, per esempio /usr/local/
mv apache-tomcat-5.5.27.tar.gz /usr/local/

Dopo di che procedere a decomprimere l’archivio
cd /usr/local/
tar -xvfz apache-tomcat-5.5.27.tar.gz

finita la decompressione trovere una cartella dentro /usr/local/ che conterrà tutti file necessarri al funzionamento del nostro Servlet Engine.

L’installazione non ci crederete ma è “completata”. Ora dobbiamo dedicare 2 minuti per fare alcune configurazioni per poter avviare Tomcat.
Settare la variabile di sistema JAVA_HOME, nel caso non lo abbiate gia fatto quando avete installato Java, e la variabile CATALINA_HOME aggiungento le seguenti righe al file /etc/bashrc

JAVA_HOME=[percordo della cartella d'installazione di java]
CATALINA_HOME=/usr/local/apache-tomcat-5.5.27

Ora non rimane che lanciare lo script di start di tomcat
/usr/local/apache-tomcat-5.5.27/bin/startup.sh

Lasciando le configurazioni di default possiamo accedere alla pagina principale di tomcat al link http://127.0.0.1:8080
Per stoppare il servizio basta lanciare lo script di stop simile allo script di start
/usr/local/apache-tomcat-5.5.27/bin/shutdown.sh

Alcune piccole considerazioni
Questa procedura di installazione non è da considerarsi la giusta scelta per un ambiante di produzione dove dobbiamo porre attenzione alla gestione deii permessi e utenze per limitare falle di sicurezza oltre ad un’accurata configurazione di Tomcat in base alle applicazioni che dovranno essere eseguite sul servlet container. Utiliazzate quindi l’ambiente installato per ambienti di sviluppo o di test.

, , ,

No Comments