468x60

venerdì 23 dicembre 2011

Accesso negato alla view in MySQL

Alcune volte mi è capitato di avere problemi nell'accesso a delle view in MySQL con alcuni utenti. Ho scoperto che il problema era dovuto al definer della view, che era DEFINER=`root`@`localhost`.

giovedì 22 dicembre 2011

Custom Themes in Vaadin

Per creare temi customizzati in Vaadin è possibile farlo in modo semplice con Eclipse seguendo questa guida https://vaadin.com/book/-/page/themes.eclipse.html. In seguito bisogna editare il file styles.css presente nella cartella WebContent/VAADIN/themes.

sabato 15 ottobre 2011

Gnome Schedule - GUI per Crontab

Ecco una comoda e pratica interfaccia grafica per Crontab: Gnome Schedule.

Per installarlo:
sudo apt-get install gnome-schedule

Per eseguirlo come utente loggato, andare su:
System-> Preferences-> Scheduled tasks

Per eseguirlo come root:
gksu gnome-schedule

Buon utilizzo!

mercoledì 28 settembre 2011

Directory Listing con .htaccess

Per abilitare/disabilitare il directory listing di una determinata directory possiamo editare il file .htaccess aggiungendo una riga di codice...

Per disabilitarlo:
Options -Indexes

Per abilitarlo:
Options +Indexes

lunedì 5 settembre 2011

Passaggio di parametri in GWT

Lavorando allo sviluppo di applicazioni web GWT ho avuto necessità di passare parametri all'avvio dell'applicazione. La soluzione è semplice, basta utilizzare il seguente comando, il quale farà automaticamente il parsing dei parametri:

String value = com.google.gwt.user.client.Window.Location.getParameter("parametro");

venerdì 2 settembre 2011

MySQL Database Replication

Un ottimo tutorial sulle repliche col DBMS MySQL

http://www.howtoforge.com/mysql_database_replication

dall'introduzione di GTID in MySQL 5.6+ (Global Transaction ID) seguire:
https://www.xenialab.it/meo/web/white/oracle/myrepl_gtid.htm

SSL con Tomcat

Vediamo come abilitare SSL in Tomcat...

Per creare un certificato auto firmato

%JAVA_HOME%/bin/keytool -genkey -alias miodominio.com -keyalg RSA -keystore /path/to/my/tomcat.keystore

Per installare un certificato acquistato da una authority

1 - Creazione di un keystore e di un CSR in Tomcat
keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
Immetti in Keytool il comando seguente per creare un CSR
keytool -certreq -keyalg RSA -alias tomcat -file csr.csr -keystore tomcat.keystore
Apri il file CSR e copia tutto il testo, incluso. Incolla tutto il testo nel modulo di richiesta online e completa la richiesta.

2 - Installazione del certificato SSL in Tomcat

Installa il certificato principale (root) eseguendo il seguente comando
keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file [nome del certificato root]
Installa il certificato intermedio eseguendo il seguente comando.
keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file [nome del certificato intermedio]
Installa il certificato rilasciato nel keystore eseguendo il seguente comando
keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file [nome del certificato]
Configurazione di Tomcat
Dopo aver creato il certificato va modificato il file server.xml nella directory conf di Tomcat, va decommentata la parte relativa al connettore SSL che dovrebbe essere simile a:

<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->

impostando i parametri specificati nell’importazione del certificato. Il risultato dovrebbe essere simile al seguente:
 <Connector port="8443" protocol="HTTP/1.1"  

         connectionTimeout="20000"
         redirectPort="8443"
         SSLEnabled="true"
         scheme="https"
         secure="true"
         sslProtocol="TLS"
         keystoreFile="/etc/pki/keystore"
         keystorePass="_password_" />


Infine va riavviato il servizio Tomcat.

PermGen space error in Eclipse

Alcune volte, dopo aver installato dei plugin in Eclipse 3.x, mi sono imbattuto in questo errore: PermGen space error.

Per risolverlo ho dovuto modificare il file eclipse.ini nel seguente modo:

- eliminate le righe:
--launcher.XXMaxPermSize
256m

- aggiunta la riga -XX:MaxPermSize=128m, in modo da avere a fine file:
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=128m

mercoledì 3 agosto 2011

Configurare Apache2 con Tomcat6 su Ubuntu

Vediamo come configurare Apache2 con Tomcat6 su Ubuntu,  utilizzando il connector JK.

- creare un file worker.properties nella cartella di apache
sudo nano /etc/apache2/workers.properties

e incolliamo quanto segue:
workers.tomcat_home=/usr/local/tomcat6
workers.java_home=/usr/lib/jvm/java-6-openjdk/jre/bin/java
ps=/
worker.list=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
worker.ajp13.type=ajp13

Tip: per conoscere il percorso attuale di java utilizzare il comando whereis java

- modifichiamo jk.load
sudo nano /etc/apache2/mods-available/jk.load

e incolliamo quanto segue dopo la linea LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so:
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /etc/apache2/mod_jk.log
JkLogLevel error
JkMount /examples ajp13
JkMount /examples/* ajp13


- modifichiamo httpd.conf
sudo nano /etc/apache2/httpd.conf

e incolliamo quanto segue:
ServerAdmin webmaster@localhost


DocumentRoot /var/www

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all



ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all



ErrorLog /var/log/apache2/error.log


# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn


CustomLog /var/log/apache2/access.log combined


Alias /doc/ "/usr/share/doc/"

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128




- disabilitare il file di configurazione di default di apache
sudo a2dissite default



- modifichiamo il file ports.conf

dobbiamo togliere la riga NameVirtualHost *:80:
sudo nano /etc/apache2/ports.conf

- riavviamo Apache e Tomcat
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/tomcat6 restart



Fatto!

giovedì 30 giugno 2011

Starting Jetty on port 8888 java.lang.ClassNotFoundException con GWT

Ho perso alcune ore per risolvere questo rognoso problema con GWT, che mi si è presentato di colpo...

L'errore che avveniva a runtime in hosted mode era del tipo:

Starting Jetty on port 8888
[WARN] EXCEPTION
java.lang.ClassNotFoundException: com.package.servlet.MiaClasse
at java.lang.ClassLoader.findClass(ClassLoader.java:359)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

Ho risolto copiando il file gwt-user.jar su war/WEB-INF/lib ed aggiungendolo nel classpath... :)

lunedì 13 giugno 2011

Abilitare l'accesso remoto a MySQL in Ubuntu

Il server MySQL di default è configurato in modo da permettere accessi solamente da localhost. Per abilitare l'accesso anche da remoto bisogna editare il file /etc/mysql/my.cnf nel seguente modo:

  1. Trovare la riga "bind-address = 127.0.0.1" e commentarla con #
  2. Riavviare il server MySQL col comando: sudo service mysql restart
A questo punto riuscirete a connettervi anche da remoto

martedì 3 maggio 2011

Velocizzare l’avvio di Windows XP

Ecco un'ottima guida di Microsoft per velocizzare l'avvio di Windows XP

http://www.microsoft.com/italy/pmi/comefare/tecnologia/avvioveloce/default.mspx

lunedì 2 maggio 2011

SH404SEF senza index.php nell'URL

In Joomla, con SH404SEF per non avere index.php nell'URL, bisogna attivare il modrewrite. Per farlo seguire questa procedura:

- Abilitare la visualizzazione estesa
- Entrare nel pannello di configurazione
- Nella sezione Avanzato, in Configurazione avanzata del componente, accertarsi che la "modalità rescrivibile" sia impostata a "Con .htaccess (mod_rewrite)"

Installare uno stack LAMP su Ubuntu 10.10 con un click

Su Ubuntu si potrebbe installare tutto manualmente, ma esiste una comoda alternativa per installare lo stack LAMP (Linux Apache Mysql Php) in un solo click.

- La prima cosa da fare è installare tasksel col comando: sudo apt-get install tasksel

- Una volta completata l’installazione digitare: sudo tasksel

- Per verificare che Apache funzioni aprire il browser e digitare: localhost. Se comparirà la famosa scritta "It Works" è andato tutto a buon fine.

- A questo punto se vogliamo possiamo installare PhpMyAdmin, una comoda web utility per la gestione dei Database: sudo apt-get install phpmyadmin

- A fine installazione per verificare che PhpMyAdmin funzioni digitare nel browser: http://localhost/phpmyadmin, ed inserite come utente "root" e come password quella che avete inserito per MySql durante la procedura di installazione.

Buon utilizzo!

venerdì 29 aprile 2011

Chiusura delle macchine Guest in VMware Server su Ubuntu

In WMware Server, dopo aver impostato Virtual Machines Startup/Shutdown Settings, le macchine virtuali linux Guests eseguono lo startup ma lo shutdown non viene eseguito correttamente. Ecco il fix:

- Installare VMware Tools sui Guest

- Nei Guest, bisogna creare la directory la directory /etc/vmwre-tools/scripts/poweroff-vm-default.d e metterci dentro una script di shutdown:

# Crea le directory
sudo mkdir /etc/vmware-tools/scripts
sudo mkdir /etc/vmware-tools/scripts/poweroff-vm-default.d

# Crea lo script
sudo su
echo "halt" > /etc/vmware-tools/scripts/poweroff-vm-default.d/halt.sh
chmod 550 /etc/vmware-tools/scripts/poweroff-vm-default.d/halt.sh

- Nell'interfaccia web di amministrazione di VMware Server, andare su Permissions ed assegnare all'utente root il ruolo di Administrator

- Fermare e riavviare VMware Server:
sudo /etc/init.d/vmware stop
sudo /etc/init.d/vmware start

- Sui Guest possiamo accertare che il nostro script sia eseguito, col comando: tail /var/log/vmware-tools-guestd

Installare VMware Server su Ubuntu 10.10

VMware Server è un software open source e free per la virtualizzazione di molteplici macchine virtuali su una medesima macchina fisica. L'ho trovato una buona soluzione nei casi in cui VMware ESXi non è compatibile con la macchina fisica host. Il pacchetto di installazione per Linux ha un bug che non permette di eseguire correttamente l'installazione...

Per installare VMware Server 2 su Ubuntu 10.10 seguire questa procedura:

- Scaricare il file VMware Server 2 for Linux (.gz) da http://www.vmware.com/products/server/

- Installare i packages necessari col comando: sudo apt-get install linux-headers-`uname -r` build-essential xinetd

- Andare dove si è scaricato il file .gz e scaricare il patch script per l'installazione, con questo comando: wget --no-check-certificate http://codebin.cotescu.com/vmware/vmware-server-2.0.x-kernel-2.6.3x-install.sh

- Decomprimere questo file col comando: tar xvfz vmware-server-2.0.x-kernel-2.6.3x-install.sh

- Sarà creata la directory raducotescu-vmware-server-linux-*, spostare dentro questa directory il file VMware-server-*, col comando: mv VMware-server-2*.tar.gz raducotescu-vmware-server-linux-2.6.3x-kernel-71f8b66/

- Spostarsi dentro la directory raducotescu*, ed eseguire lo script di installazione col comando: sudo ./vmware-server-2.0.x-kernel-2.6.3x-install.sh

- L'installer farà molte domande, alle quali si può rispondere con la risposta di default premendo Invio, tranne che per le seguenti due domande

The current administrative user for VMware Server is ''. Would you like to specify a different administrator? [no] <-- yes

A questo punto digitare l'utente col quale ci si è loggati al desktop

Please enter your 20-character serial number. Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:

Digitare il serial number per VMware Server, presente sul sito di WMware al momento del download

- A questo punto WMware Server è installato, ed è possibile rimuovere gli script di installazione. L'interfaccia web di amministrazione è accedibile dagli indirizzi https://127.0.0.1:8333 o http://127.0.0.1:8222

martedì 19 aprile 2011

ISPConfig - pannello di controllo di hosting

ISPConfig è un pannello di controllo di hosting open source per Linux. ISPConfig è sotto licenza BSD. ISPConfig semplifica i dettagli complicati per impostare i DNS, siti con nome di dominio unico e multiplo,  account e-mail. ISPConfig permette agli utenti di gestire servizi internet, come server web, server FTP, server di basi di dati, server DNS. Permette la configurazione di firewall, antivirus, utenti shell, email con risposta automatica, filtri spam...

Buon utilizzo!

Configurazione della rete in Ubuntu

Il networking in Ubuntu/Linux è possibile configurarlo editando il file /etc/network/interfaces. Vediamo alcune configurazioni di esempio.

- Configurazione per un ip dinamico assegnato da un server DHCP

# loopback network interface
auto lo
iface lo inet loopback

#primary network interface
auto eth0
iface eth0 inet dhcp


- Configurazione per un ip statico (corrisponde alla riga address 192.168.1.50):

# loopback network interface
auto lo
iface lo inet loopback


#primary network interface
allow-hotplug eth2
iface eth2 inet static
address 192.168.1.50
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1


- Per la configurazione dei DNS bisogna invece editare il file /etc/resolv.conf. Ecco un esempio:
search miodominio.it
nameserver 192.168.0.1
nameserver 4.2.2.2

La direttiva search fa sì che miodominio.it sia accodata alle interrogazioni dei nomi di host nel tentativo di risolvere i nome sulla rete locale

Webmin - amministrazione di sistema web-based

L'amministrazione di sistemi Unix/Linux può essere effettuata via web con Webmin, un software open source web-based. Con Webmin è possibile configurare user accounts, Apache, MySQL, DNS, firewall, file sharing e molto di più...

Buon utilizzo!

Cambiare la password di root in Ubuntu

In Ubuntu di default non c'è un vero e proprio utente root, ma solo l'accesso root, che può essere ottenuto col comando sudo. Root è creato senza una password predefinita, perciò non è possibile effettuare il login come root... Per modificare la password di root basta seguire questa procedura:

Digitare il comando sudo sh
Siamo così loggati nella shell come utente root. A questo punto possiamo cambiare la password di root col comando passwd

martedì 22 marzo 2011

CD Mounting in Debian linux

Vediamo come effettuare il mounting di un CD in Debian

1) Creare un mount point

Probabilmente c'è già un mount point sul tuo sistema, solitamente è su /cdrom, /media/cdrom, /media/cdrom0 o /mnt/cdrom. Se non c'è bisogna crearlo:

# mkdir /media/cdrom0

2) CD Mounting

# mount -t iso9660 /dev/hdc /media/cdrom0/

A questo punto il CD è pronto!

venerdì 18 marzo 2011

Sincronizzare Google Calendar con Mozilla Sunbird e Lightning

Per sincronizzare il Google Calendar con Mozilla Sunbird e con Lightning si deve seguire questa procedura:

  1. Creare un nuovo calendario su Sunbird/Lightning, come calendario "Sulla rete"
  2. In Formato scegliere "CalDAV"
  3. In "Luogo" specificare l'url del proprio calendario, che sarà del tipo https://www.google.com/calendar/dav/[tuo_google_id]/events

dove al posto di [tuo_google_id] si deve specificare l'indirizzo email del proprio account Google.

giovedì 17 marzo 2011

Generare JPA Entities con Eclipse

Il Reverse Engineering di JPA Entities da database pensavo fosse possibile solo con Netbeans, invece ho scoperto come fare anche con Eclipse. Vediamo come...

Step #1: Creare il Datasource su Eclipse
  1. Creare la Definizione del MySQL JDBC Driver
  2. Creare la Connessione MySQL JDBC
Window--> Open Perspective--> Database Development Perspective



Click destro sul nodo "Databases"--> New



Scegliere "Generic JDBC Connection"



Scegli il driver corrispondente alla tua versione di MySQL, es. MySQL JDBC 5.0 e clicca sul bottone Add



Punta Eclipse al path del driver MySQL JDBC



Digita le proprietà della connessione JDBC e testa la connettività



Step #2: Creare un Eclipse JPA Project

  1. Creare la definizione dell'App Server (puntare Eclipse all'installazione dell'App Server)
  2. Creare il JPA Project
File--> New--> Project--> JPA Project



Clicca sul bottone New nella sezione Target Runtime



Puntare Eclipse sulla cartella di installazione di Glassfish



Scegli Opzioni su JPA Project



Continua col wizard e vai alla JPA perspective



Step #3: Reverse-Engineer delle JPA Entities dal DB

Sulla JPA Perspective: Click destro su Progetto--> JPA Tools--> Generate Entities



Scegli il JDBC Datasource e lo Schema



Scegli le tabelle, ed il gioco è fatto!

venerdì 4 marzo 2011

Connessione SSH senza password

Vediamo come poter effettuare connessioni SSH senza dover digitare manualmente una password.

ssh-keygen -t rsa

Con questo comando, nella directory /home/mio_utente/.ssh sono state create due chiavi: una pubblica id_rsa.pub e una privata id_rsa. E’ importante verificare che la chiave privata sia accessibile solo per il proprietario:

ls -la /home/mio_utente/.ssh

A questo punto occorre aggiungere la chiave pubblica al “remotehost” per l’utente “remoteuser”.

cat /home/mio_utente/.ssh/id_rsa.pub | ssh remoteuser@remotehost 'cat >> .ssh/authorized_keys'

Avviare TeamViewer in automatico al boot di Ubuntu

Per avviare TeamViewer in automatico al boot di Ubuntu basta seguire questa procedura:

  • Andare su Sistema-> Preferenze-> Applicazioni d'avvio
  • Nel campo "Comando" digitare: bash -c "sleep 10; /usr/bin/teamviewer"

venerdì 28 gennaio 2011

GWT Designer

gwt-banner

GWT Designer è uno strumento per la costruzione di interfacce per il framework GWT, il quale permette con pochi click di creare form e altri componenti grafici, utilizzando esclusivamente una palette grafica lasciando allo strumento la generazione del codice Java. GWT Designer è stato sviluppato come plugin di Eclipse e delle sue varianti (MyEclipse, RAD,…) ed utilizza il GEF frameworf di Eclipse per la visualizzazione e la gestione della visualizzazione grafica. Questo strumento è stato sviluppato da Instantiations acquisita da Google ad agosto 2010 e rilasciato come free software insieme ad altri prodotti Java della stessa software house.

L’installazione è alquanto semplice basta andare in Help->Install New Software e specificare il repository da dove scaricare il plugin (cliccando su Add…), il repository cambia a seconda della versione di Eclipse installata:

Eclipse 3.6 (Helios)
http://dl.google.com/eclipse/inst/d2gwt/latest/3.6

Eclipse 3.5 (Galileo)
http://dl.google.com/eclipse/inst/d2gwt/latest/3.5

Eclipse 3.4 (Ganymede)
http://dl.google.com/eclipse/inst/d2gwt/latest/3.4


Ps. Cerco sviluppatori GWT per collaborazioni, contattatemi su csaffi [at] tiscali(dot)it

Google Web Toolkit

gwt-logo

Google Web Toolkit (GWT) è un toolkit di sviluppo creato per poter sviluppare complesse applicazioni browser-based. La sua pecurialità è quella di permettere lo sviluppo di applicazioni web interattive senza dover conoscere linguaggi come Javascript o essere esperti di tecnologie come Ajax, ma conoscendo soltanto il linguaggio di programmazione Java. In sostanza GWT permette di sviluppare applicazioni Ajax-enabled scrivendo codice in linguaggio Java, che tramite l’SDK di GWT, viene compilato in codice Javascript, ottimizzato e compatibile con tutti i principali browser disponibili.

Ps. Cerco sviluppatori GWT per collaborazioni, contattatemi su csaffi [at] tiscali(dot)it

giovedì 27 gennaio 2011

Eclipse: Failed to create Java Virtual Machine

Dopo aver installato un plugin non riuscivo più ad avviare Eclipse, il quale mostrava questo messaggio di errore all'avvio: Failed to create Java Virtual Machine.

Per risolvere questo problema ho dovuto modificare il file eclipse.ini,

sostituendo
--launcher.XXMaxPermSize
256M

con
--launcher.XXMaxPermSize

giovedì 20 gennaio 2011

Clonazione a caldo di un server Linux su una macchina virtuale

Ecco una procedura per clonare a caldo un server Linux su una macchina virtuale di destinazione.

// PROCEDURA
- creo la VM di destinazione

- avvio la VM con finnix (http://www.finnix.org)

- partiziono i dischi come desidero (con cfdisk ho creato una partizione primaria e bootable(83), una per lo swap(82))

- creo i filesystem come desidero (ho eseguito "mke2fs /dev/sda1; mkswap -c /dev/sda5")

- monto quella che diverrà la root in /mnt (ho eseguito "mount /dev/sda1 /mnt")

- imposto attributi e acl
# mount -o remount,user_xattr,acl /mnt

- con rsync sincronizzo i filesystem del vecchio server con il nuovo:
# rsync -avHPAX root@[server]:/* /mnt/

- una volta completata la copia modifico /mnt/etc/fstab indicando correttamente tutti i filesystem da montare
(ho sostituito l'UUID vecchio col nuovo, che ho trovato con "blkid")

- modifico /mnt/etc/network/interfaces assegnando un IP diverso al server

- monto proc e sysfs:
# mount -t proc proc /mnt/proc ; mount -t sysfs sys /mnt/sys

- chroot nel mio nuovo sistema
# chroot /mnt

- installo grub sul disco sda
# grub-install /dev/sda  (oppure: apt-get install grub)

- modifico /boot/grub/menu.lst
sostituisco sda1 con hda1

- ricreo l'initrd
# update-initramfs -k all -u

- riavvio la macchina con un CTRL+ALT+CANC

sabato 15 gennaio 2011

Driver Access e DSN su Windows7 x64

Per aggiungere DSN che utilizzino un driver Microsoft Access su Windows7 x64, non bisogna utilizzare la gestione ODBC di default, ma bisogna utilizzare odbcad32.exe che si trova su %WINDIR%\SYSWOW64
468x60

Cerca su Google

Cerca nel Blog con Google