diff --git a/.gitignore b/.gitignore
index cc1a06c8..6f63cb31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ client/target/
/parser_commons/target/netty_parser/target/
netty_parser/target/
parser_commons/target/
+/distribution/target/
\ No newline at end of file
diff --git a/broker/pom.xml b/broker/pom.xml
index a2eabb8b..dd547ca0 100644
--- a/broker/pom.xml
+++ b/broker/pom.xml
@@ -107,32 +107,6 @@
-
-
-
- maven-assembly-plugin
-
-
- broker-distribution
- package
-
- single
-
-
-
-
- org.dna.mqtt.moquette.server.Server
-
-
-
- jar-with-dependencies
-
-
-
-
-
-
-
diff --git a/distribution/pom.xml b/distribution/pom.xml
new file mode 100644
index 00000000..ceea8026
--- /dev/null
+++ b/distribution/pom.xml
@@ -0,0 +1,67 @@
+
+ 4.0.0
+
+ ../
+
+ moquette-parent
+ org.dna.mqtt
+ 0.5-SNAPSHOT
+
+
+ distribution
+ pom
+ Moquette - distribution
+
+
+
+
+ org.dna.mqtt
+ moquette-broker
+ ${project.version}
+
+
+
+ org.dna.mqtt
+ moquette-parser-commons
+ ${project.version}
+
+
+
+ org.dna.mqtt
+ moquette-netty-parser
+ ${project.version}
+
+
+
+
+
+ ${basedir}/src/main/
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 2.4
+
+
+ distribution-package
+ package
+
+ single
+
+
+
+
+ ${basedir}/src/main/assembly/assembly.xml
+
+ gnu
+
+
+
+
+
+
+
+
+
diff --git a/distribution/src/main/assembly/assembly.xml b/distribution/src/main/assembly/assembly.xml
new file mode 100644
index 00000000..fb279507
--- /dev/null
+++ b/distribution/src/main/assembly/assembly.xml
@@ -0,0 +1,31 @@
+
+ bundle-tar
+
+ tar.gz
+
+
+ false
+
+
+
+
+ src/main/scripts/moquette.sh
+ bin
+ 0755
+
+
+
+ src/main/resources/README.txt
+
+
+
+
+
+
+ lib/
+ true
+
+
+
diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt
new file mode 100644
index 00000000..7c70547a
--- /dev/null
+++ b/distribution/src/main/resources/README.txt
@@ -0,0 +1 @@
+To run the Moquette distribution, untar the archive and run the script bin/moquette.sh
diff --git a/distribution/src/main/scripts/moquette.sh b/distribution/src/main/scripts/moquette.sh
new file mode 100644
index 00000000..02adf621
--- /dev/null
+++ b/distribution/src/main/scripts/moquette.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# Copyright (c) 2012-2014 Andrea Selva
+#
+
+echo "##########################################################"
+echo "# #"
+echo "# Launching Moquette-MQTT broker #"
+echo "# #"
+echo "##########################################################"
+
+cd "$(dirname "$0")"
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`/"$link"
+ fi
+done
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+
+# Only set MOQUETTE_HOME if not already set
+[ -f "$MOQUETTE_HOME"/bin/moquette.sh ] || MOQUETTE_HOME=`cd "$PRGDIR/.." ; pwd`
+export MOQUETTE_HOME
+
+# Set JavaHome if it exists
+if [ -f "${JAVA_HOME}/bin/java" ]; then
+ JAVA=${JAVA_HOME}/bin/java
+else
+ JAVA=java
+fi
+export JAVA
+
+#LOG_FILE=$ORIENTDB_HOME/config/moquette-server-log.properties
+#LOG_CONSOLE_LEVEL=info
+#LOG_FILE_LEVEL=fine
+#set MOQUETTE_SETTINGS="-Dprofiler.enabled=true -Dcache.level1.enabled=false -Dcache.level2.enabled=false"
+JAVA_OPTS_SCRIPT="-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true"
+
+#$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT $ORIENTDB_SETTINGS -Dfile.encoding=UTF8 -Djava.util.logging.config.file="$LOG_FILE" -Dmoquette.config.file="$CONFIG_FILE" -Dmoquette.www.path="$WWW_PATH" -Dmoquette.build.number="@BUILD@" -cp "$ORIENTDB_HOME/lib/moquette-server-@VERSION@.jar:$ORIENTDB_HOME/lib/*" com.orientechnologies.orient.server.OServerMain
+$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT -cp "$MOQUETTE_HOME/lib/moquette-broker-0.5-SNAPSHOT.jar:$MOQUETTE_HOME/lib/*" org.dna.mqtt.moquette.server.Server
+
diff --git a/pom.xml b/pom.xml
index 1cdcc52c..44c5b19b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,6 +19,7 @@
parser_commons
netty_parser
broker
+ distribution