Thursday, July 26, 2012

HP Virtual Room

Tested versions:

  • HP Virtual Room: 8.0 Update 77 Build 4300
  • Fedora: 17 x86_64

Procedure:

1. Get the software from

https://www.rooms.hp.com/resources/ 


Tested file: hpvirtualrooms-install64-F4-8.0.0.4300.tar.gz

2. Install necessary packages:

#---
yum -y install \
glibc.i686 \
libpng-compat.i686 \
libxml2.i686 \
libSM.i686 \
gtk2.i686 \
alsa-lib.i686 \
mesa-libGLU.i686
#---

 

3. Unzip the package and run the install script:

#---
tar -vxzf hpvirtualrooms-install64-<version>.tar.gz
#---

#---
cd hpvirtualrooms-install
./install-hpvirtualrooms
#---

Note: It will remove the [hpvirtualrooms-install] directory, so do expect it.

4. You should now have a new menu entry at [Internet] for the [HP Virutal Rooms]


Enjoy!

Sunday, June 17, 2012

Jenkins

Tested Versions:

Official documentation:
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins

 

A. Install:

1. Add the Jenkins repository:

#---
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
#---

2. Install the packages:

#---
yum -y install \
jenkins \
xorg-x11-server-Xvfb
#---

3. Start and check the server:

#---
/etc/init.d/jenkins start
#---

Check at the url below:
http://localhost:8080/

B. Make it run permanently as a stand-alone daemon:

#---
chkconfig --level 345 jenkins on
#---

4. Network problems:

In case your network does not work properly try adding the following line to your Jenkins setup file [/etc/sysconfig/jenkins]:

JENKINS_JAVA_OPTIONS="${JENKINS_JAVA_OPTIONS} -D-Djava.net.preferIPv4Stack=true"

5. Important files:

Configuration:
/etc/sysconfig/jenkins
Logs:
/var/log/jenkins/jenkins.log

C. Running on an existing Tomcat instance:


1. Stop any running stand-alone Jenkins instance

#---
/etc/init.d/jenkins stop
#---


2. Do not let Jenkins start automatically as a daemon:

#---
chkconfig --level 345 jenkins off
#---


3. Deploy Jenkins application:

#---
cp /usr/lib/jenkins/jenkins.war /var/lib/tomcat/webapps/
#---


4. Restart and enable Tomcat as service:

#---
systemctl restart tomcat.service
#---

#---
systemctl enable tomcat.service
#---


5. Check if it is running:

http://localhost:8080/jenkins/


6. Log files:

/var/log/tomcat/catalina.out
/var/log/tomcat/*

7. Network problems:

In case your network does not work properly try adding the following line to your TomCat setup file [/etc/tomcat/tomcat.conf]:

JAVA_OPTS="-Djava.net.preferIPv4Stack=true"

Saturday, June 16, 2012

Agilo

Tested versions:


  • Fedora: 17 x86_64
  • PostgreSQL: 9.1.4 x86_64
  • Trac: 0.12.3 noarch
  • Agilo: 0.9.7 noarch

Trac installation here

Official documentation:
http://www.agilofortrac.com/en/documentation/installation-guide/

1. Install package:

#---
yum -y install trac-agilo-plugin.noarch
#---

2. Setup your Trac project:


Add the following lines to your trac.ini file:
[components]
agilo.* = enabled


Assuming that you left from the Trac installation:
/var/local/trac/projects/tst/conf/trac.ini

3. Update your project setup:

Assuming that you left from the Trac installation:
#---
trac-admin /var/local/trac/projects/agilo upgrade
trac-admin /var/local/trac/projects/agilo wiki upgrade
#---

4. Check if it is working acessing the project URL


Assuming that you left from the Trac installation:
http://localhost/trac/tst

Related posts:


Trac

Installing Trac:


Tested versions:

  • Fedora: 17 x86_64
  • PostgreSQL: 9.1.4 x86_64
  • Trac: 0.12.3 noarch
PostgreSQL install procedure: here

Official documentation:
http://trac.edgewall.org/wiki/TracInstall

A. Install Trac and PostgreSQL support


1. Minimal installation:

#---
yum -y install \
trac \
python-storm-postgresql
#---

2. Some interresting plugins:

#---
yum -y install \
trac-git-plugin \
trac-iniadmin-plugin \
trac-customfieldadmin-plugin \
trac-accountmanager-plugin \
trac-sumfields-plugin \
trac-ticketdelete-plugin \
trac-tocmacro-plugin
#---

B. Create PostgreSQL database:


Offical documentation:
http://trac.edgewall.org/wiki/DatabaseBackend#Postgresql

1. Create user [trac], pass [pass], and database [trac_db]

#---
createuser -U postgres -W -D -R -S trac
psql -U postgres -W -c "ALTER USER trac WITH PASSWORD 'pass';"
createdb -U postgres -W trac_db
psql -U postgres -W -c "GRANT ALL ON DATABASE trac_db TO trac;"
#---

2. Check connectivity:

#---
psql -U trac -d trac_db -h localhost -p 5432 -W -c "SELECT 1;"
#---

3. In case you need to remove the database:

#---
dropdb -U postgres -W trac_db
#---

4. In case you need to remove the user:

#---
dropuser -U postgres -W trac
#---

C. Standalone version:


1. Create directory:

#---
mkdir /var/local/trac
#---

2. Add user:

#---
useradd -m -d /var/local/trac -s /bin/bash -c "Trac stand-alone daemon user" trac
#---

3. Reset home dir owner:

#---
chown trac:trac /var/local/trac
#---

4. Check trac setup:


#---
su - trac
#---

#---
pwd
#---

Expected:
/var/local/trac

5. Create project dirs

#---
mkdir -p /var/local/trac/projects/tst
#---

6. Initialize Trac project environment:

#---
trac-admin /var/local/trac/projects/tst initenv
#---

When asked about the connection string give the following:
postgres://trac:pass@localhost:5432/trac_db

7. In case you fail, remove all and start it over:


#---
rm -rf /var/local/trac/projects/*
#---

Just in case: recreate the database (dropdb followed by createdb)

8. Check if it is ok:

#---
tracd --port 8000 /var/local/trac/projects/tst
#---

Open your browser and point it to:
http://localhost:8000/tst

D. Apache version:


Official documentation:
http://trac.edgewall.org/wiki/TracModWSGI

1. Install packagers:

#---
yum -y install \
httpd \
mod_wsgi
#---

2. Deploy http content (with CGIs):

#---
trac-admin /var/local/trac/projects/tst deploy /var/local/trac/projects/tst
#---

3. Set permissions:

#---
usermod -a -G apache trac
chown -R apache:apache /var/local/trac
chmod -R g+rw /var/local/trac
#---

4. Set SElinux context:

#---
chcon -R -v --type=httpd_sys_rw_content_t /var/local/
semanage fcontext -a -t httpd_sys_rw_content_t "/var/local/(/.*)?"
#---

5. Check permissions:

#---
ls -lZ /var/local/
#---

Expected:
drwxrwxrwx. apache apache system_u:object_r:httpd_sys_content_t:s0 trac

6. Allow apache to connect to database (SElinux):

#---
setsebool -P httpd_can_network_connect_db 1
#---

7. Create apache conf file:

#---
cat > /etc/httpd/conf.d/trac-tst.conf << __END__
WSGIScriptAlias /trac/tst /var/local/trac/projects/tst/cgi-bin/trac.wsgi


    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all

__END__
#---

8. Put apache to run:

#---
systemctl enable httpd.service
systemctl start httpd.service
#---

9. Check if it is running:

http://localhost/trac/tst

E. Important logs:

/var/log/httpd/error_log
/var/log/messages


F. If you need to create several projects here are some scripts that automate the process:


createprj.sh:
https://dl.dropbox.com/u/9583089/createprj.sh
createdb.sh:
https://dl.dropbox.com/u/9583089/createdb.sh
trac-tpl.conf:
https://dl.dropbox.com/u/9583089/trac-tpl.conf

Put these files into [/var/local/trac/] and execute (as root):

Usage:
./createprj.sh <project> <db username> <db pass> [<project name>]

E.g.:

#---
./createprj.sh test_prj trac pass "My automatically created Test Project"
#---


G. Authentication

This is left out-of-the scope and can be easily implemented following the instructions on the official documentation:
http://trac.edgewall.org/wiki/TracModWSGI#ConfiguringAuthentication
http://trac.edgewall.org/wiki/TracPermissions

To the automated process on section F, just edit the [trac-tpl.conf] file to include the setup for your preferred authentication method.

Related posts:

PostgreSQL

Installation and basic usage of PostgreSQL 9.X


Tested versions:


A. Install packages:


#---
yum -y install \
postgresql \
postgresql-server
#---


B. Initialize environment:

#---
su - postgres
#---

#---
pwd
#----

Expected:

/var/lib/pgsql

#---
/usr/bin/initdb /var/lib/pgsql
logout
#---


C. Put PostgreSQL service to run


1. Check if PostgreSQL is running:

#---
systemctl status postgresql.service
#---

1.1. If not, just enable it and start it:

#---
systemctl enable postgresql.service
systemctl start postgresql.service
#---


1.2. Check if it has listeners running:

#---
netstat -nl --inet --inet6 | grep 5432
#---

Expected:
tcp        0      0 127.0.0.1:5432              0.0.0.0:*                   LISTEN     
tcp        0      0 ::1:5432                    :::*                        LISTEN  

D. Check accessibility

#---
psql -U postgres -c "SELECT 1;"
#---

Expected:
 ?column?
----------
        1
(1 row)

E. Set postgres user password

#---
psql -U postgres -c "ALTER USER postgres WITH PASSWORD 'postgres';"
#---

F. Close 'trust' access

#---
su - postgres
#---

1. Edit [/var/lib/pgsql/data/pg_hba.conf]

Change all 'trust' entries by 'password'

Example:
local   all   postgres   trust

Should become:
local   all   postgres   password

2. Restart PostgreSQL

#---
systemctl restart postgresql.service
#---

3. Check access:


#---
psql -U postgres -c "SELECT 1;"
#---

Expected:
Password for user postgres:
 ?column?
----------
        1
(1 row)


G. Database and users 101:


1. Create user:


#---
createuser -U postgres -W -D -R -S test_user
psql -U postgres -W -c "ALTER USER test_user WITH PASSWORD 'test_pass';"
#---

2. Create database:

#---
createdb -U postgres -W -E UTF8 -O test_user test_db
psql -U postgres -W -c "GRANT ALL ON DATABASE test_db TO test_user;"
#---

3. Check access:

#---
psql -U test_user -d test_db -W -c "SELECT 1;"
#---

4. Remove database:

#---
dropdb -U test_user -W test_db
#---

5. Remove user:

#---
dropuser -U postgres -W test_user
#---

6. Check user removal:

#---
psql -U test_user -d test_db -W -c "SELECT 1;"
#---

Expected:
Password for user test_user:
psql: FATAL:  password authentication failed for user "test_user"

H. Important logs:


/var/lib/pgsql/data/pg_log/*
/var/log/messages

Sunday, June 03, 2012

My Fedora 17 road map

- If you have had problems with automatically mounting LUKS partition, see my post addressing the issue here

- Add repositories:
-- RPM Fusion (free)
#---
rpm -Uvhi http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
#---

-- RPM Fusion (non-free)
#---
rpm -Uvhi http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
#---

-- Adobe (Flash plugin, AdobeAIR and AcrobatReader) 32 bits:
#---
rpm -Uvhi http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
#---

-- Adobe Flash for 64bits:
#---
rpm -Uvhi http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
#---

-- Chromium (for Fedora here):
#---
wget http://repos.fedorapeople.org/repos/spot/chromium-stable/fedora-chromium-stable.repo -O /etc/yum.repos.d/fedora-chromium.repo
#---

-- Setting up a not-so-restricting SELinux: here


-- Remove things I do NOT like (do not remove xine if you prefer KDE):

--- Multimedia players that do not play divx/mp3 and stays as default for video and audio files:
#---
yum -y erase \
xine \
gxine* \
totem* \
brasero*
#---


-- Update your system:
#---
yum -y upgrade
#---

- Install additional software:

-- GTK IM modules (for c cedilla, for instance):
#---
yum -y install \
gtk2-immodules
#---

C Cedilla with Gnome

-- Chromium:
#---
yum -y install \
chromium
#---


-- PulseAudio volume control (must-have):
#---
yum -y install \
pavucontrol
#---

-- Multimedia:
#---
yum -y install \
pavucontrol \
mplayer \
mencoder \
live555 \
gecko-mediaplayer \
gnome-mplayer \
vlc \
grip \
flash-plugin \
k3b \
k3b-extras-freeworld
#---

Because Adobe Reader is usually very slow to download, I keep it separated and leave it to be last installed.
#---
yum -y install \
AdobeReader_enu
#---

-- Spell-checking
--- Additional languages: German (de), Spanish (es), and Portuguese from Brazil (br)
#---
yum -y install \
hunspell-de \
hunspell-es \
hunspell-pt
#---

-- Menu editing tool:
#---
yum -y install \
alacarte
#---


-- Audacious (XMMS is not that great anymore):
#---
yum -y install \
audacious \
audacious-plugin-fc \
audacious-plugins-amidi \
audacious-plugins-exotic \
audacious-plugins-freeworld-aac \
audacious-plugins-freeworld-ffaudio \
audacious-plugins-freeworld-mms \
audacious-plugins-freeworld-mp3 \
audacious-plugins-freeworld \
audacious-plugins-jack \
audacious-plugins-sid \
audacious-plugins \
audacious-plugin-xmp
#---

 

-- Pidgin, a very good IM client
#---
yum -y install \
pidgin \
pidgin-guifications \
pidgin-libnotify \
pidgin-otr \
pidgin-gfire \
pidgin-musictracker \
purple-plugin_pack-pidgin \
purple-facebookchat \
purple-microblog \
pidgin-sipe \
purple-msn-pecan
#---


--- If you use LaTeX you may find this plugin appealing:
#---
yum -y install \
pidgin-latex
#---


-- For kernel modules
#---
yum -y install \
dkms \
kernel-devel \
kernel-headers
#---


-- Misc

--- Backups with Back In Time:
#---
yum -y install \
backintime-common \
backintime-gnome
#---


--- Diagrams and images, usually old stuff that I'm used to
#---
yum -y install \
ImageMagick \
graphviz \
dia \
gv \
xfig \
gnuplot \
inkscape
#---


--- Video editing
#---
yum -y install \
pitivi
#---

--- Screen capture
#---
yum -y install \
gnome-screenshot
#---

--- LXDE calculator + editor (gedit)
#---
yum -y install \
galculator \
gedit
#---

--- Editors and related
#---
yum -y install \
gvim \
ctags \
dictd \
diction
#---


--- My beloved spreadsheet program
#---
yum -y install \
gnumeric
#---


--- Compression related programs
#---
yum -y install \
unrar \
p7zip
#---


--- Administration related programs
#---
yum -y install \
telnet \
lsof \
nmap \
nc \
traceroute \
mc \gnome-screenshot.x86_64
AcetoneISO2 \
rdesktop
#---


--- Very nice "must-have" admin programs:
#---
yum -y install \
gnome-password-generator
#---


--- For WLAN Cracking
#---
yum -y install \
aircrack-ng \
airsnort
#---

-- Development

--- Debug related programs
#---
yum -y install \
gdb \
gcc \
strace \
ltrace
#---


--- For GIT support:
#---
yum -y install \
git-all
#---


--- For Java development:
#---
yum -y install \
maven
#---

-- Update your system:
#---
yum -y upgrade
#---


- Install and setup third-part programs
-- VirtualBox/VMware Player
-- Skype
-- Real Player (check for the RPM version)
-- Sun Java
-- Eclipse
-- NetBeans

- Setup printers
- Backup [/etc] and [/boot/grub]
#---
tar -czf bkp-system.`/bin/date +"%Y%m%d-%H%M"`.tgz /etc /boot/grub
#---


- Some issues:
-- Skype may need some extra configuration (see link for 64bits) and some SELinux relaxation (see link for SELinux).


#---
yum -y install \
libXScrnSaver.i686 \
libX11.i686 \
libv4l.i686 \
alsa-plugins-pulseaudio.i686 \
qt-x11.i686 \
qt.i686 \
alsa-lib.i686 \
libXv.i686
#---

-- VirtualBox:
#---
yum -y install \
libpng-compat
#---




Related posts:
- Installing Skype in 64bits (external link)
- Mounting former LUKS partition
- SELinux
- Road map for Fedora 16
- Making USB to work with VirtualBox (external link)
- Adding security to SSH
- Backups with Back In Time

- C Cedilla with Gnome

Saturday, May 12, 2012

Apache Continuum

This is aimed at installing and configuring Apache Continuum. The reason is that I already have some (awful and disgusting) experience with CruisControl. I ended up writing an Eclipse integration plug-in and a LOT of Ant scripting and I'm not very keen of repeating this experience. I also have had some experience with Hudson/Jenkins which was not that great (even though a LOT better than CruiseControl). Therefore I'm willing to take Continuum for a ride and see how it goes. Since I didn't documented the previous experiences I'm doing it for Continuum.

This documentation was tested with version 1.3.8(GA) available at http://continuum.apache.org/download.html and based on the official documentation available at http://continuum.apache.org/docs/1.3.8/

 

1. Get Apache Continuum (it is not distributed in RPM).

 

1.1. Get version 1.3.8 GA in bin.tar.gz from http://continuum.apache.org/download.html

#---
wget http://www.apache.org/dyn/closer.cgi/continuum/binaries/apache-continuum-1.3.8-bin.tar.gz
tar -vxzf apache-continuum-1.3.8-bin.tar.gz -C /opt/
#---


2. Get Java environment right:

 

2.1. Check your environment variables:

#---

env | grep JAVA_HOME
#---

 

2.2. Install Java (openjdk will do):

#---

yum -y install \
java-1.6.0-openjdk
#---


2.3. Check your Java version:

#---

java -version
#---


OpenJDK:
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (fedora-65.1.11.1.fc16-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)


Sun:
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

 

2.4. Set JAVA_HOME variable correctly:

 

2.4.1. For OpenJDK:

#--- 

cat >> /etc/environment <<__END__

JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64
__END__
#---

 

2.4.2. For Sun's Java:

#---
cat >> /etc/environment <<__END__
JAVA_HOME=/usr/java/default/
__END__
#---


NOTE: It will take effect on the next login

3. Run Continuum for the first time to check it out:

#---

/opt/apache-continuum-1.3.8/bin/continuum start
#---


3.1. Track startup through its log file: /opt/apache-continuum-1.3.8/logs/continuum.log

#---

tail -f /opt/apache-continuum-1.3.8/logs/continuum.log
#---


NOTE: It should yield an exception complaining about security configurations:

org.apache.commons.configuration.ConfigurationException: Cannot locate configuration source ./conf/security.properties


3.2. It goes up nonetheless and you can open it: 3.3. Go through the admin setup and try to create a remote project.

http://localhost:8080/continuum/

My setup is the default (I didn't changed it)


4. Try it with a remote project. I chose the Continuum project (~15MB):

 

4.1. Go to Continuum and add two Maven 2 project: 

http://localhost:8080/continuum/

Add Project -> Maven 2.0.x Project

Parent (must be the first to be added):
http://svn.apache.org/repos/asf/continuum/parent/trunk/pom.xml
Continuum:
http://svn.apache.org/repos/asf/continuum/trunk/pom.xml


5. For local repositories you need to enable the file protocol. Check the procedures on the FAQ page:



URLs and instructions from:
http://continuum.apache.org/development/building.html

http://continuum.apache.org/faqs.html

Particularly at:
http://continuum.apache.org/faqs.html#can-i-use-file-protocol-in-add-project-view

Saturday, February 25, 2012

[UPDATE] Sonar with PostgreSQL

This documentation is based on:
http://docs.codehaus.org/display/SONAR/Install+Sonar

It was tested with Sonar 2.13.1

A. Getting Sonar and testing it

1. Get Sonar from:
http://www.sonarsource.org/downloads/

2. Unzip it to the
#---
unzip -x <sonar zip file> -d /opt/
#---


2.1. Example:
#---
unzip -x sonar-2.13.1.zip -d /opt/
#---


3. Start Sonar as standalone
#---
/opt/sonar-<version>/bin/linux-<arch>/sonar.sh start
#---


3.1. Example:
#---
/opt/sonar-2.13.1/bin/linux-x86-64/sonar.sh start
#---


4. Follow the logs to check that everything is ok:
#---
tail -f /opt/sonar-<version>/logs/sonar.log
#---


4.1. Example:
#---
tail -f /opt/sonar-2.13.1/logs/sonar.log
#---


NOTE: You are waiting for a line similar to:
INFO   | jvm 1    | 2012/02/25 17:16:31 | 2012-02-25 17:16:31.818:INFO::Started SelectChannelConnector@0.0.0.0:9000

5. Check that Sonar is actually accepting connections:
#---
netstat -nl --inet --inet6 | grep 9000
#---


NOTE: It should return something like:
tcp        0      0 :::9000                     :::*                        LISTEN

5.1. Open your browser to double check:
http://localhost:9000/

Login credentials:
username: admin
password: admin


B. Configuring Sonar to work with PostgreSQL

1. Check if PostgreSQL is running:
#---
systemctl status postgresql.service
#---


1.1. If not, just enable it and start it:
#---
systemctl enable postgresql.service
systemctl start postgresql.service
#---


1.2. Check if it has listeners running:
#---
netstat -nl --inet --inet6 | grep 5432
#---


NOTE: You are expecting something like this:
tcp        0      0 127.0.0.1:5432              0.0.0.0:*                   LISTEN      
tcp        0      0 ::1:5432                    :::*                        LISTEN   

[UPDATED]
2. Setup PostgreSQL
#---
createuser -U postgres -W -D -R -S sonar
psql -U postgres -W -c "ALTER USER sonar WITH PASSWORD 'sonar';"
createdb -U postgres -W -E UTF8 -O sonar sonar
psql -U postgres -W -c "GRANT ALL ON DATABASE sonar TO sonar;"
#---

[UPDATED]

2.1. Check connection:
#---
psql -U sonar -d sonar -W -c "SELECT 1;"
#---


3. Configure Sonar:

3.1. Edit the file /opt/sonar-<version>/conf/sonar.properties

After editing it must looks like the following (after issuing the below command):
#---
cat conf/sonar.properties | grep -v "^#" | grep -v "^[[:space:]]*$"
#---


sonar.jdbc.username:                       sonar
sonar.jdbc.password:                       sonar # if you gave another password this property must reflect it
sonar.jdbc.url:                            jdbc:postgresql://localhost/sonar
sonar.jdbc.driverClassName:                org.postgresql.Driver
sonar.jdbc.validationQuery:                select 1
sonar.jdbc.schema:                         public
sonar.jdbc.maxActive:                      20
sonar.jdbc.maxIdle:                        5
sonar.jdbc.minIdle:                        2
sonar.jdbc.maxWait:                        5000
sonar.jdbc.minEvictableIdleTimeMillis:     600000
sonar.jdbc.timeBetweenEvictionRunsMillis:  30000
sonar.notifications.delay=60

4. Check if Sonar is ok by restarting it:
#---
/opt/sonar-<version>/bin/linux-<arch>/sonar.sh restart
#---


4.1. Example:
#---
/opt/sonar-2.13.1/bin/linux-x86-64/sonar.sh restart
#---


4.2. Keep track of the log (see step 4 of section A)

5. Check if Sonar correctly accessed the database in PostgreSQL:
#---
psql -U sonar -d sonar -W -c "\\dt"
#---


NOTE: It currently has 47 tables and it yields it on the above command with the following line:
(47 rows)

C. Test your Sonar with any project you want (below what you need for Maven projects).

1. With Maven projects you will need the following pom.xml section:
<project>
 <!-- your pom initial setup -->
 <properties>
  <!-- your other properties -->
  <sonar.jdbc.url>jdbc:postgresql://localhost/sonar</sonar.jdbc.url>
  <sonar.jdbc.username>sonar</sonar.jdbc.username>
  <sonar.jdbc.password>sonar</sonar.jdbc.password>
  <sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver>
 </properties>
 <!-- your pom remaining setup -->
</project>

2. Execute the Sonar target on your project:
#---
cd <maven project>
mvn clean sonar:sonar
#---