Hola, Nunca esta demas el saber instalar mysql en linux correctamente a travez de apt-get, bueno el comando que se debe ingresar por consola unix es el sigte:
importante: previamente debemos agregar al source-list la sigte url del repositorio:
http://cl.archive.ubuntu.com jaunty/
slack@zion:~$apt-get -y --force-yes -f install mysql-client-5.0 mysql-server-core-5.0 mysql-server-5.0 mysql-client mysql-server
Reading package lists...
Building dependency tree...
Reading state information...
mysql-admin is already the newest version.
The following packages were automatically installed and are no longer required:
sendmail-base libdns45 m4 procmail sensible-mda sendmail-cf libmysqlclient16
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
mysql-client-5.0 mysql-server-5.0 mysql-server-core-5.0
Suggested packages:
mysql-doc-5.0 tinyca
The following NEW packages will be installed:
mysql-client mysql-client-5.0 mysql-server mysql-server-5.0
mysql-server-core-5.0
0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
Need to get 34.9MB of archives.
After this operation, 107MB of additional disk space will be used.
Get:1 http://cl.archive.ubuntu.com jaunty/main mysql-client-5.0 5.1.30really5.0.75-0ubuntu10 [7877kB]
Get:2 http://cl.archive.ubuntu.com jaunty/main mysql-server-core-5.0 5.1.30really5.0.75-0ubuntu10 [3348kB]
Get:3 http://cl.archive.ubuntu.com jaunty/main mysql-server-5.0 5.1.30really5.0.75-0ubuntu10 [23.6MB]
Get:4 http://cl.archive.ubuntu.com jaunty/main mysql-client 5.1.30really5.0.75-0ubuntu10 [54.8kB]
Get:5 http://cl.archive.ubuntu.com jaunty/main mysql-server 5.1.30really5.0.75-0ubuntu10 [57.0kB]
Preconfiguring packages ...
Fetched 34.9MB in 2min 15s (258kB/s)
Selecting previously deselected package mysql-client-5.0.
(Reading database ... 175660 files and directories currently installed.)
Unpacking mysql-client-5.0 (from .../mysql-client-5.0_5.1.30really5.0.75-0ubuntu10_i386.deb) ...
Selecting previously deselected package mysql-server-core-5.0.
Unpacking mysql-server-core-5.0 (from .../mysql-server-core-5.0_5.1.30really5.0.75-0ubuntu10_i386.deb) ...
Selecting previously deselected package mysql-server-5.0.
Unpacking mysql-server-5.0 (from .../mysql-server-5.0_5.1.30really5.0.75-0ubuntu10_i386.deb) ...
Selecting previously deselected package mysql-client.
Unpacking mysql-client (from .../mysql-client_5.1.30really5.0.75-0ubuntu10_all.deb) ...
Selecting previously deselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.1.30really5.0.75-0ubuntu10_all.deb) ...
Processing triggers for man-db ...
Setting up mysql-client-5.0 (5.1.30really5.0.75-0ubuntu10) ...
Setting up mysql-server-core-5.0 (5.1.30really5.0.75-0ubuntu10) ...
Setting up mysql-server-5.0 (5.1.30really5.0.75-0ubuntu10) ...
* Stopping MySQL database server mysqld
...done.
* Reloading AppArmor profiles ...
...done.
* Starting MySQL database server mysqld
...done.
* Checking for corrupt, not cleanly closed and upgrade needing tables.
Setting up mysql-client (5.1.30really5.0.75-0ubuntu10) ...
Setting up mysql-server (5.1.30really5.0.75-0ubuntu10) ...
Bueno eso es, saludos a todos y suerte !!
miércoles, 21 de abril de 2010
martes, 16 de marzo de 2010
Intalio
Hola,
cortito.
Conceptos como WebServices (servicios web), SOA y BPM están ya revolucionando el mundo del desarrollo de software. Los desarrollos monolíticos ya no tienen sentido en el mundo en que vivimos.
Esto implica cambiar un poquito la perspectiva de las soluciones, fundamentalmente pensando en procesos de negocio y no en programas. Estos procesos se apoyarán en servicios independientes de tecnología y lenguajes para satisfacer las necesidades del negocio.
Esta tecnología que parece orientada a las grandes empresas, también es asequible a las pequeñas/medianas gracias a las herramientas OpenSource.
Intalio es una de ellas, de gran aceptación y creciente uso.
vean esta demo
http://bpms.intalio.com/files/resources/demos/bpp6/
Saludos
cortito.
Conceptos como WebServices (servicios web), SOA y BPM están ya revolucionando el mundo del desarrollo de software. Los desarrollos monolíticos ya no tienen sentido en el mundo en que vivimos.
Esto implica cambiar un poquito la perspectiva de las soluciones, fundamentalmente pensando en procesos de negocio y no en programas. Estos procesos se apoyarán en servicios independientes de tecnología y lenguajes para satisfacer las necesidades del negocio.
Esta tecnología que parece orientada a las grandes empresas, también es asequible a las pequeñas/medianas gracias a las herramientas OpenSource.
Intalio es una de ellas, de gran aceptación y creciente uso.
vean esta demo
http://bpms.intalio.com/files/resources/demos/bpp6/
Saludos
lunes, 23 de noviembre de 2009
Maven
Hola, muchos de los que trabajamos desarrollando j2ee, conocemos ant, como herramienta de automatización del deploy del proyecto, la evolucion de ant es maven, el cual a travez de comenados descarga automaticamente desde los repositorios las librerias y dependencias para la aplicación. Aqui veremos como trabaja Maven 2 para el proyecto appfuse 2.
Primero debemos descargar maven 2.x desde su web, http://maven.apache.org/download.html#Installation para este ejemplo descargue el archivo apache-maven-2.2.1-bin.tar.gz
Luego lo descomprimi en mi directorio de programas, creando el siguiente directorio:
/home/slack/programas/apache-maven-2.2.1
con el siguiente contenido:
slack@zion:~/programas/apache-maven-2.2.1$ ls -la
total 48
drwxr-xr-x 6 slack slack 4096 2009-11-23 12:35 .
drwxr-xr-x 18 slack slack 4096 2009-11-23 12:35 ..
drwxr-xr-x 2 slack slack 4096 2009-11-23 12:35 bin
drwxr-xr-x 2 slack slack 4096 2009-11-23 12:35 boot
drwxrwxrwx 2 slack slack 4096 2009-08-06 15:11 conf
drwxr-xr-x 2 slack slack 4096 2009-11-23 12:35 lib
-rw-r--r-- 1 slack slack 12933 2009-08-06 15:11 LICENSE.txt
-rw-r--r-- 1 slack slack 923 2009-08-06 15:11 NOTICE.txt
-rw-r--r-- 1 slack slack 2532 2009-08-06 15:11 README.txt
Luego que tenemos el directorio de Maven, debemos declararlo en las variables de entorno para poder utilizarlo. como lo descomprimimos en el directorio de usuario modificaremos el profile, en caso contrario el enviromment
Entonces vamos a la consola y escribimos el sigte. comando para editar nuestro profile:
slack@zion:~/programas/apache-maven-2.2.1$ sudo nano /etc/profile
ingresamos la password de root para poder editar el archivo, y agregamos la sigte linea, ademas debemos agregar la variable al export.
MAVEN_HOME=/home/slack/programas/apache-maven-2.2.1
export ANT_HOME JAVA_HOME CATALINA_HOME TOMCAT_HOME AWT_TOOLKIT=MToolkit MATLAB_JAVA MAVEN_HOME
Tambien debemos agregar el bin de Maven al path, en el archivo enviromment, ejecutamos el sigte. comando, con sudo para poder editar:
slack@zion:~/programas/apache-maven-2.2.1$ sudo nano /etc/environment
y agregamos el bin de Maven al path, como se muestra abajo:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/slack/programas/apache-maven-2.2.1/bin"
Una vez hecho esto debemos cerrar la consola, y esperar que los demonios del sistema actualicen las variables, en caso contrario bastara con reiniciar. Para confirmar que tenemos bien configurado Maven ejecutamos:
slack@zion:~/programas/apache-maven-2.2.1$ mvn --version
Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
Java version: 1.5.0_12
Java home: /home/slack/programas/java/jdk1.5.0_12/jre
Default locale: es_CL, platform encoding: UTF-8
OS name: "linux" version: "2.6.28-15-generic" arch: "i386" Family: "unix"
Esto nos despliega la informacion del contexto para ejecutar Maven (mvn)
Ahora ya podemos ejecutar mvn para nuestros proyectos, debemos para este ejemplo tener instalado Mysql, utilizaremos mvn para appfuse2, entonces vamos al directorio de nuestros proyectos, y ejecutamos la sigte. linea
slack@zion:~/desarrollo$ mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-spring -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=cl.xerox.app -DartifactId=appfuse2
En esta linea le decimos a maven nuestra estructura de packages y el nombre del proyecto. al ejecutar el comando se comienza la descarga de las dependencias del proyecto, mediante POM.xml (proyect object model), este es el log resumido:
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] org.apache.maven.plugins: checking for updates from central
[INFO] org.codehaus.mojo: checking for updates from central
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-parent/9/maven-parent-9.pom
Downloading: http://repo1.maven.org/maven2/org/apache/apache/4/apache-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.jar
Downloading: http://repo1.maven.org/maven2/velocity/velocity-dep/1.4/velocity-dep-1.4.jar
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:create {execution: default-cli}]
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead
[INFO] Defaulting package to group ID: cl.xerox.app
[INFO] We are using command line specified remote repositories: http://static.appfuse.org/releases
Downloading: http://static.appfuse.org/releases/org/appfuse/archetypes/appfuse-basic-spring/2.0.2/appfuse-basic-spring-2.0.2.jar
77K downloaded (appfuse-basic-spring-2.0.2.jar)
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: appfuse-basic-spring:2.0.2
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: cl.xerox.app
[INFO] Parameter: packageName, Value: cl.xerox.app
[INFO] Parameter: basedir, Value: /home/slack/desarrollo
[INFO] Parameter: package, Value: cl.xerox.app
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: appfuse2
.
.
.
[INFO] OldArchetype created in dir: /home/slack/desarrollo/appfuse2
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes
[INFO] Finished at: Mon Nov 23 11:56:57 GMT-04:00 2009
[INFO] Final Memory: 9M/67M
[INFO] ------------------------------------------------------------------------
slack@zion:~/desarrollo$
Listo, esto se demora alrededor de unos 5 a 10 min, dependiendo la velocidad de tu red. ahora debemos ejecutar el comando que creara la base de datos (mismo nombre del proyecto) o la seteamos al final del archivo pom.xml, la ejecucion anterior nos creo el proyecto del nuestro directorio de proyectos con el sigte. contenido:
slack@zion:~/desarrollo/appfuse2$ ls -la
total 56
drwxr-xr-x 4 slack slack 4096 2009-11-23 13:40 .
drwxrwxrwx 58 slack slack 4096 2009-11-23 13:55 ..
-rw-r--r-- 1 slack slack 33142 2009-11-23 12:56 pom.xml
-rw-r--r-- 1 slack slack 863 2009-11-23 12:56 README.txt
drwxr-xr-x 5 slack slack 4096 2009-11-23 12:56 src
drwxr-xr-x 9 slack slack 4096 2009-11-23 13:42 target
slack@zion:~/desarrollo/appfuse2$
Entonces ejecutamos, el comando que hara el deploy automatico y descargara las librerias faltantes del proyecto que creamos con el comando anterior, ademas arrancara jetty, Jetty es un servidor HTTP y un contenedor de Servlets escrito en Java y open source.
Para desplegar la aplicación basta con ejecutar mvn jetty:run-war en el directorio del proyecto.
slack@zion:~/desarrollo/appfuse2$ mvn jetty:run-war
este es un resumen de la ejecución del comando, esta tarea se demora aprox 20 min, dependiendo tu velocidad
Downloading: http://static.appfuse.org/repository/jboss/javassist/3.3.ga/javassist-3.3.ga.jar
Downloading: http://static.appfuse.org/repository/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar
Downloading: http://static.appfuse.org/repository/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.jar
225K downloaded (doxia-core-1.0-alpha-7.jar)
Downloading: http://static.appfuse.org/repository/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar
13K downloaded (maven-reporting-impl-2.0.4.jar)
Downloading: http://static.appfuse.org/repository/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar
[INFO] Unable to find resource 'commons-collections:commons-collections:jar:2.1.1' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://static.appfuse.org/repository/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar
[INFO] Unable to find resource 'org.hibernate:hibernate-validator:jar:3.0.0.ga' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://static.appfuse.org/repository/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar
[INFO] Unable to find resource 'org.hibernate:hibernate-validator:jar:3.0.0.ga' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar
[INFO] [hibernate3:hbm2ddl {execution: default}]
[INFO] Configuration XML file loaded: file:/home/slack/desarrollo/appfuse2/src/main/resources/hibernate.cfg.xml
[INFO] Configuration XML file loaded: file:/home/slack/desarrollo/appfuse2/src/main/resources/hibernate.cfg.xml
[INFO] Configuration Properties file loaded: /home/slack/desarrollo/appfuse2/target/classes/jdbc.properties
alter table user_role drop foreign key FK143BF46AF503D155;
alter table user_role drop foreign key FK143BF46A4FD90D75;
drop table if exists app_user;
drop table if exists role;
drop table if exists user_role;
create table app_user (id bigint not null auto_increment, account_expired bit not null, account_locked bit not null, address varchar(150), city varchar(50) not null, country varchar(100), postal_code varchar(15) not null, province varchar(100), credentials_expired bit not null, email varchar(255) not null unique, account_enabled bit, first_name varchar(50) not null, last_name varchar(50) not null, password varchar(255) not null, password_hint varchar(255), phone_number varchar(255), username varchar(50) not null unique, version integer, website varchar(255), primary key (id)) ENGINE=InnoDB;
create table role (id bigint not null auto_increment, description varchar(64), name varchar(20), primary key (id)) ENGINE=InnoDB;
create table user_role (user_id bigint not null, role_id bigint not null, primary key (user_id, role_id)) ENGINE=InnoDB;
alter table user_role add index FK143BF46AF503D155 (user_id), add constraint FK143BF46AF503D155 foreign key (user_id) references app_user (id);
alter table user_role add index FK143BF46A4FD90D75 (role_id), add constraint FK143BF46A4FD90D75 foreign key (role_id) references role (id);
[WARNING] 2 errors occurred while performing.
[INFO] Unable to find resource 'junit-addons:junit-addons:pom:1.4' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/junit-addons/junit-addons/1.4/junit-addons-1.4.pom
Downloading: http://static.appfuse.org/repository/junit/junit/4.0/junit-4.0.jar
Downloading: http://static.appfuse.org/repository/org/apache/maven/surefire/surefire-junit4/2.4.3/surefire-junit4-2.4.3.jar
[INFO] Unable to find resource 'org.apache.maven.surefire:surefire-junit4:jar:2.4.3' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-junit4/2.4.3/surefire-junit4-2.4.3.jar
[INFO] Unable to find resource 'junit:junit:jar:4.0' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/junit/junit/4.0/junit-4.0.jar
[INFO] Surefire report directory: /home/slack/desarrollo/appfuse2/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running cl.xerox.app.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.081 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] [dbunit:operation {execution: test}]
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom
643b downloaded (maven-plugin-api-2.0.1.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven/2.0.1/maven-2.0.1.pom
11K downloaded (maven-2.0.1.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.pom
1K downloaded (maven-archiver-2.2.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/shared/maven-shared-components/3/maven-shared-components-3.pom
1K downloaded (maven-shared-components-3.pom)
Downloading: http://static.appfuse.org/repository/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom
1K downloaded (plexus-archiver-1.0-alpha-7.pom)
Downloading: http://static.appfuse.org/repository/org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom
767b downloaded (plexus-utils-1.2.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.pom
765b downloaded (maven-artifact-2.0.1.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.jar
Downloading: http://static.appfuse.org/repository/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar
9K downloaded (maven-archiver-2.2.jar)
138K downloaded (plexus-archiver-1.0-alpha-7.jar)
[INFO] [war:war {execution: default-war}]
[INFO] Exploding webapp...
[INFO] Assembling webapp appfuse2 in /home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT
[INFO] Copy webapp webResources to /home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT
[INFO] Expanding: /home/slack/.m2/repository/org/appfuse/appfuse-spring/2.0.2/appfuse-spring-2.0.2.war into /home/slack/desarrollo/appfuse2/target/war/work/appfuse-spring-2.0.2
[INFO] Expanding: /home/slack/.m2/repository/org/appfuse/appfuse-web-common/2.0.2/appfuse-web-common-2.0.2.war into /home/slack/desarrollo/appfuse2/target/war/work/appfuse-web-common-2.0.2
[INFO] Overlaying 2 war(s).
[INFO] Generating war /home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT.war
[INFO] Building war: /home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT.war
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/jetty/6.1.9/jetty-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://snapshots.repository.codehaus.org/org/mortbay/jetty/jetty/6.1.9/jetty-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty:pom:6.1.9' in repository codehaus.org (http://snapshots.repository.codehaus.org)
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty/6.1.9/jetty-6.1.9.pom
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/jetty-util/6.1.9/jetty-util-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty-util:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://snapshots.repository.codehaus.org/org/mortbay/jetty/jetty-util/6.1.9/jetty-util-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty-util:pom:6.1.9' in repository codehaus.org (http://snapshots.repository.codehaus.org)
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/jetty-util/6.1.9/jetty-util-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty-util:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util/6.1.9/jetty-util-6.1.9.pom
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:servlet-api-2.5:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://snapshots.repository.codehaus.org/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:servlet-api-2.5:pom:6.1.9' in repository codehaus.org (http://snapshots.repository.codehaus.org)
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:servlet-api-2.5:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.pom
[INFO] [jetty:run-war {execution: default-cli}]
[INFO] Configuring Jetty for project: AppFuse Spring MVC Application
2009-11-23 12:42:31.506::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
[INFO] Context path = /
[INFO] Tmp directory = determined at runtime
[INFO] Web defaults = org/mortbay/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] Starting jetty 6.1.9 ...
2009-11-23 12:42:31.648::INFO: jetty-6.1.9
2009-11-23 12:42:31.667::INFO: Extract jar:file:/home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT.war!/ to /home/slack/desarrollo/appfuse2/target/work/webapp
2009-11-23 12:42:32.062::INFO: No Transaction manager found - if your webapp requires one, please configure one.
2009-11-23 12:42:34.317:/:INFO: Initializing Spring root WebApplicationContext
2009-11-23 12:42:44.535:/:INFO: Initializing Spring FrameworkServlet 'dispatcher'
2009-11-23 12:42:45.031::INFO: Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
[INFO] Starting scanner at interval of 3 seconds.
^C2009-11-23 13:38:54.748::INFO: Shutdown hook executing
2009-11-23 13:38:55.286:/:INFO: Destroying Spring FrameworkServlet 'dispatcher'
2009-11-23 13:38:55.289:/:INFO: Closing Spring root WebApplicationContext
2009-11-23 13:38:55.297::INFO: Shutdown hook complete
[INFO] Jetty server exiting.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 76 minutes 29 seconds
[INFO] Finished at: Mon Nov 23 13:38:55 GMT-04:00 2009
[INFO] Final Memory: 37M/84M
[INFO] ------------------------------------------------------------------------
slack@zion:~/desarrollo/appfuse2$
Vemos ahí que tambien esta la configuiración de la base de datos, creacion de tablas, test de aplicacion y levantamiento del servidor jetty en el puerto 8080. ahora solo vamos al browser y abrimos la url: http://localhost:8080/login.jsp
user: admin
passwd: admin

Saludos y suerte !!
bee free.... use linux..
Primero debemos descargar maven 2.x desde su web, http://maven.apache.org/download.html#Installation para este ejemplo descargue el archivo apache-maven-2.2.1-bin.tar.gz
Luego lo descomprimi en mi directorio de programas, creando el siguiente directorio:
/home/slack/programas/apache-maven-2.2.1
con el siguiente contenido:
slack@zion:~/programas/apache-maven-2.2.1$ ls -la
total 48
drwxr-xr-x 6 slack slack 4096 2009-11-23 12:35 .
drwxr-xr-x 18 slack slack 4096 2009-11-23 12:35 ..
drwxr-xr-x 2 slack slack 4096 2009-11-23 12:35 bin
drwxr-xr-x 2 slack slack 4096 2009-11-23 12:35 boot
drwxrwxrwx 2 slack slack 4096 2009-08-06 15:11 conf
drwxr-xr-x 2 slack slack 4096 2009-11-23 12:35 lib
-rw-r--r-- 1 slack slack 12933 2009-08-06 15:11 LICENSE.txt
-rw-r--r-- 1 slack slack 923 2009-08-06 15:11 NOTICE.txt
-rw-r--r-- 1 slack slack 2532 2009-08-06 15:11 README.txt
Luego que tenemos el directorio de Maven, debemos declararlo en las variables de entorno para poder utilizarlo. como lo descomprimimos en el directorio de usuario modificaremos el profile, en caso contrario el enviromment
Entonces vamos a la consola y escribimos el sigte. comando para editar nuestro profile:
slack@zion:~/programas/apache-maven-2.2.1$ sudo nano /etc/profile
ingresamos la password de root para poder editar el archivo, y agregamos la sigte linea, ademas debemos agregar la variable al export.
MAVEN_HOME=/home/slack/programas/apache-maven-2.2.1
export ANT_HOME JAVA_HOME CATALINA_HOME TOMCAT_HOME AWT_TOOLKIT=MToolkit MATLAB_JAVA MAVEN_HOME
Tambien debemos agregar el bin de Maven al path, en el archivo enviromment, ejecutamos el sigte. comando, con sudo para poder editar:
slack@zion:~/programas/apache-maven-2.2.1$ sudo nano /etc/environment
y agregamos el bin de Maven al path, como se muestra abajo:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/slack/programas/apache-maven-2.2.1/bin"
Una vez hecho esto debemos cerrar la consola, y esperar que los demonios del sistema actualicen las variables, en caso contrario bastara con reiniciar. Para confirmar que tenemos bien configurado Maven ejecutamos:
slack@zion:~/programas/apache-maven-2.2.1$ mvn --version
Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
Java version: 1.5.0_12
Java home: /home/slack/programas/java/jdk1.5.0_12/jre
Default locale: es_CL, platform encoding: UTF-8
OS name: "linux" version: "2.6.28-15-generic" arch: "i386" Family: "unix"
Esto nos despliega la informacion del contexto para ejecutar Maven (mvn)
Ahora ya podemos ejecutar mvn para nuestros proyectos, debemos para este ejemplo tener instalado Mysql, utilizaremos mvn para appfuse2, entonces vamos al directorio de nuestros proyectos, y ejecutamos la sigte. linea
slack@zion:~/desarrollo$ mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-spring -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=cl.xerox.app -DartifactId=appfuse2
En esta linea le decimos a maven nuestra estructura de packages y el nombre del proyecto. al ejecutar el comando se comienza la descarga de las dependencias del proyecto, mediante POM.xml (proyect object model), este es el log resumido:
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] org.apache.maven.plugins: checking for updates from central
[INFO] org.codehaus.mojo: checking for updates from central
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-parent/9/maven-parent-9.pom
Downloading: http://repo1.maven.org/maven2/org/apache/apache/4/apache-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.jar
Downloading: http://repo1.maven.org/maven2/velocity/velocity-dep/1.4/velocity-dep-1.4.jar
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:create {execution: default-cli}]
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead
[INFO] Defaulting package to group ID: cl.xerox.app
[INFO] We are using command line specified remote repositories: http://static.appfuse.org/releases
Downloading: http://static.appfuse.org/releases/org/appfuse/archetypes/appfuse-basic-spring/2.0.2/appfuse-basic-spring-2.0.2.jar
77K downloaded (appfuse-basic-spring-2.0.2.jar)
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: appfuse-basic-spring:2.0.2
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: cl.xerox.app
[INFO] Parameter: packageName, Value: cl.xerox.app
[INFO] Parameter: basedir, Value: /home/slack/desarrollo
[INFO] Parameter: package, Value: cl.xerox.app
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: appfuse2
.
.
.
[INFO] OldArchetype created in dir: /home/slack/desarrollo/appfuse2
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes
[INFO] Finished at: Mon Nov 23 11:56:57 GMT-04:00 2009
[INFO] Final Memory: 9M/67M
[INFO] ------------------------------------------------------------------------
slack@zion:~/desarrollo$
Listo, esto se demora alrededor de unos 5 a 10 min, dependiendo la velocidad de tu red. ahora debemos ejecutar el comando que creara la base de datos (mismo nombre del proyecto) o la seteamos al final del archivo pom.xml, la ejecucion anterior nos creo el proyecto del nuestro directorio de proyectos con el sigte. contenido:
slack@zion:~/desarrollo/appfuse2$ ls -la
total 56
drwxr-xr-x 4 slack slack 4096 2009-11-23 13:40 .
drwxrwxrwx 58 slack slack 4096 2009-11-23 13:55 ..
-rw-r--r-- 1 slack slack 33142 2009-11-23 12:56 pom.xml
-rw-r--r-- 1 slack slack 863 2009-11-23 12:56 README.txt
drwxr-xr-x 5 slack slack 4096 2009-11-23 12:56 src
drwxr-xr-x 9 slack slack 4096 2009-11-23 13:42 target
slack@zion:~/desarrollo/appfuse2$
Entonces ejecutamos, el comando que hara el deploy automatico y descargara las librerias faltantes del proyecto que creamos con el comando anterior, ademas arrancara jetty, Jetty es un servidor HTTP y un contenedor de Servlets escrito en Java y open source.
Para desplegar la aplicación basta con ejecutar mvn jetty:run-war en el directorio del proyecto.
slack@zion:~/desarrollo/appfuse2$ mvn jetty:run-war
este es un resumen de la ejecución del comando, esta tarea se demora aprox 20 min, dependiendo tu velocidad
Downloading: http://static.appfuse.org/repository/jboss/javassist/3.3.ga/javassist-3.3.ga.jar
Downloading: http://static.appfuse.org/repository/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar
Downloading: http://static.appfuse.org/repository/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.jar
225K downloaded (doxia-core-1.0-alpha-7.jar)
Downloading: http://static.appfuse.org/repository/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar
13K downloaded (maven-reporting-impl-2.0.4.jar)
Downloading: http://static.appfuse.org/repository/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar
[INFO] Unable to find resource 'commons-collections:commons-collections:jar:2.1.1' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://static.appfuse.org/repository/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar
[INFO] Unable to find resource 'org.hibernate:hibernate-validator:jar:3.0.0.ga' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://static.appfuse.org/repository/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar
[INFO] Unable to find resource 'org.hibernate:hibernate-validator:jar:3.0.0.ga' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar
[INFO] [hibernate3:hbm2ddl {execution: default}]
[INFO] Configuration XML file loaded: file:/home/slack/desarrollo/appfuse2/src/main/resources/hibernate.cfg.xml
[INFO] Configuration XML file loaded: file:/home/slack/desarrollo/appfuse2/src/main/resources/hibernate.cfg.xml
[INFO] Configuration Properties file loaded: /home/slack/desarrollo/appfuse2/target/classes/jdbc.properties
alter table user_role drop foreign key FK143BF46AF503D155;
alter table user_role drop foreign key FK143BF46A4FD90D75;
drop table if exists app_user;
drop table if exists role;
drop table if exists user_role;
create table app_user (id bigint not null auto_increment, account_expired bit not null, account_locked bit not null, address varchar(150), city varchar(50) not null, country varchar(100), postal_code varchar(15) not null, province varchar(100), credentials_expired bit not null, email varchar(255) not null unique, account_enabled bit, first_name varchar(50) not null, last_name varchar(50) not null, password varchar(255) not null, password_hint varchar(255), phone_number varchar(255), username varchar(50) not null unique, version integer, website varchar(255), primary key (id)) ENGINE=InnoDB;
create table role (id bigint not null auto_increment, description varchar(64), name varchar(20), primary key (id)) ENGINE=InnoDB;
create table user_role (user_id bigint not null, role_id bigint not null, primary key (user_id, role_id)) ENGINE=InnoDB;
alter table user_role add index FK143BF46AF503D155 (user_id), add constraint FK143BF46AF503D155 foreign key (user_id) references app_user (id);
alter table user_role add index FK143BF46A4FD90D75 (role_id), add constraint FK143BF46A4FD90D75 foreign key (role_id) references role (id);
[WARNING] 2 errors occurred while performing
[INFO] Unable to find resource 'junit-addons:junit-addons:pom:1.4' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/junit-addons/junit-addons/1.4/junit-addons-1.4.pom
Downloading: http://static.appfuse.org/repository/junit/junit/4.0/junit-4.0.jar
Downloading: http://static.appfuse.org/repository/org/apache/maven/surefire/surefire-junit4/2.4.3/surefire-junit4-2.4.3.jar
[INFO] Unable to find resource 'org.apache.maven.surefire:surefire-junit4:jar:2.4.3' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-junit4/2.4.3/surefire-junit4-2.4.3.jar
[INFO] Unable to find resource 'junit:junit:jar:4.0' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/junit/junit/4.0/junit-4.0.jar
[INFO] Surefire report directory: /home/slack/desarrollo/appfuse2/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running cl.xerox.app.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.081 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] [dbunit:operation {execution: test}]
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom
643b downloaded (maven-plugin-api-2.0.1.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven/2.0.1/maven-2.0.1.pom
11K downloaded (maven-2.0.1.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.pom
1K downloaded (maven-archiver-2.2.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/shared/maven-shared-components/3/maven-shared-components-3.pom
1K downloaded (maven-shared-components-3.pom)
Downloading: http://static.appfuse.org/repository/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom
1K downloaded (plexus-archiver-1.0-alpha-7.pom)
Downloading: http://static.appfuse.org/repository/org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom
767b downloaded (plexus-utils-1.2.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.pom
765b downloaded (maven-artifact-2.0.1.pom)
Downloading: http://static.appfuse.org/repository/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.jar
Downloading: http://static.appfuse.org/repository/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar
9K downloaded (maven-archiver-2.2.jar)
138K downloaded (plexus-archiver-1.0-alpha-7.jar)
[INFO] [war:war {execution: default-war}]
[INFO] Exploding webapp...
[INFO] Assembling webapp appfuse2 in /home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT
[INFO] Copy webapp webResources to /home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT
[INFO] Expanding: /home/slack/.m2/repository/org/appfuse/appfuse-spring/2.0.2/appfuse-spring-2.0.2.war into /home/slack/desarrollo/appfuse2/target/war/work/appfuse-spring-2.0.2
[INFO] Expanding: /home/slack/.m2/repository/org/appfuse/appfuse-web-common/2.0.2/appfuse-web-common-2.0.2.war into /home/slack/desarrollo/appfuse2/target/war/work/appfuse-web-common-2.0.2
[INFO] Overlaying 2 war(s).
[INFO] Generating war /home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT.war
[INFO] Building war: /home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT.war
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/jetty/6.1.9/jetty-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://snapshots.repository.codehaus.org/org/mortbay/jetty/jetty/6.1.9/jetty-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty:pom:6.1.9' in repository codehaus.org (http://snapshots.repository.codehaus.org)
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty/6.1.9/jetty-6.1.9.pom
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/jetty-util/6.1.9/jetty-util-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty-util:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://snapshots.repository.codehaus.org/org/mortbay/jetty/jetty-util/6.1.9/jetty-util-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty-util:pom:6.1.9' in repository codehaus.org (http://snapshots.repository.codehaus.org)
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/jetty-util/6.1.9/jetty-util-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:jetty-util:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util/6.1.9/jetty-util-6.1.9.pom
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:servlet-api-2.5:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://snapshots.repository.codehaus.org/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:servlet-api-2.5:pom:6.1.9' in repository codehaus.org (http://snapshots.repository.codehaus.org)
Downloading: http://static.appfuse.org/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.pom
[INFO] Unable to find resource 'org.mortbay.jetty:servlet-api-2.5:pom:6.1.9' in repository appfuse (http://static.appfuse.org/repository)
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.pom
[INFO] [jetty:run-war {execution: default-cli}]
[INFO] Configuring Jetty for project: AppFuse Spring MVC Application
2009-11-23 12:42:31.506::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
[INFO] Context path = /
[INFO] Tmp directory = determined at runtime
[INFO] Web defaults = org/mortbay/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] Starting jetty 6.1.9 ...
2009-11-23 12:42:31.648::INFO: jetty-6.1.9
2009-11-23 12:42:31.667::INFO: Extract jar:file:/home/slack/desarrollo/appfuse2/target/appfuse2-1.0-SNAPSHOT.war!/ to /home/slack/desarrollo/appfuse2/target/work/webapp
2009-11-23 12:42:32.062::INFO: No Transaction manager found - if your webapp requires one, please configure one.
2009-11-23 12:42:34.317:/:INFO: Initializing Spring root WebApplicationContext
2009-11-23 12:42:44.535:/:INFO: Initializing Spring FrameworkServlet 'dispatcher'
2009-11-23 12:42:45.031::INFO: Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
[INFO] Starting scanner at interval of 3 seconds.
^C2009-11-23 13:38:54.748::INFO: Shutdown hook executing
2009-11-23 13:38:55.286:/:INFO: Destroying Spring FrameworkServlet 'dispatcher'
2009-11-23 13:38:55.289:/:INFO: Closing Spring root WebApplicationContext
2009-11-23 13:38:55.297::INFO: Shutdown hook complete
[INFO] Jetty server exiting.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 76 minutes 29 seconds
[INFO] Finished at: Mon Nov 23 13:38:55 GMT-04:00 2009
[INFO] Final Memory: 37M/84M
[INFO] ------------------------------------------------------------------------
slack@zion:~/desarrollo/appfuse2$
Vemos ahí que tambien esta la configuiración de la base de datos, creacion de tablas, test de aplicacion y levantamiento del servidor jetty en el puerto 8080. ahora solo vamos al browser y abrimos la url: http://localhost:8080/login.jsp
user: admin
passwd: admin

Saludos y suerte !!
bee free.... use linux..
Firewall en Linux
Hola, la seguridad en linux es controlable, y configurable desde los mismos archivos de configuración del sistema. Podemos definir aqui reglas de seguridad con ipables, puertos que se pueden ver desde afuera al ejecutar un nmap u otros ping.
Sabemos que linux es un sistema operativo robusto y seguro, libre de virus, a direferecia del ventanukos el cual ya viene desde el cd de instalación con multiples troyanos y espias que hacen que el sistema ande mucho mas lento y sea totalmente bulnerable a los ataques.
Sin embargo Linux tambien debe ser configurado para hacerlo mas seguro, aunque no hay virus si existen los ataques, pero para esto tenemos ene de opciones seguras y ademas open source.
Aqui presentamos una bastante buena. hablo de un firewall llamado firestarter.
Firestarter es una herramienta Grafica (GUI) o Desktop Firewall, para poder asegurar parte de sus servicios que tiene instalado en su Distribución GNU/Linux. Esta herramienta permite realizar mediante un wizard NAT, y despues solo copiar el dir /etc/firestarter y el /etc/init.d/firestarter a cualquier otro servidor incluso si estos últimos no tienen instalado interfaz X, además los scripts que genera son estrucuturados cuando se quiere tener un firewall restrictivo tanto con las conexiones entrantes y las salientes (NAT) asi configuras tus politicas para bloquear todo y solo permitir lo que se quiera, yo asi lo tengo, usando la opcion restrictive, pero ya todos los puertos y configuraciones que tambien las puede realizar manualmente.
Podemos realizar la instalacion facilmente con APT o mediante Webmin.
Explicare aqui los pasos para la instalacion por APT desde la consola.
entonces, abrimos una consola y escribimos los siguiente:
Paso 1: buscamos firestarter en los repositorios
slack@zion:~$ apt-cache search firestarter
firestarter - gtk program for managing and observing your firewall
Paso 2: Realizamos la instalación
slack@zion:~$ sudo apt-get install firestarter
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalaron de forma automática los siguientes paquetes y ya no son necesarios.
sendmail-base m4 procmail sensible-mda sendmail-cf
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
menu
Paquetes sugeridos:
dhcp3-server
Se instalarán los siguientes paquetes NUEVOS:
firestarter menu
0 actualizados, 2 se instalarán, 0 para eliminar y 42 no actualizados.
Necesito descargar 855kB de archivos.
Se utilizarán 4002kB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]?
Damos S con mayuscula
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalaron de forma automática los siguientes paquetes y ya no son necesarios.
sendmail-base m4 procmail sensible-mda sendmail-cf
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
menu
Paquetes sugeridos:
dhcp3-server
Se instalarán los siguientes paquetes NUEVOS:
firestarter menu
0 actualizados, 2 se instalarán, 0 para eliminar y 42 no actualizados.
Necesito descargar 855kB de archivos.
Se utilizarán 4002kB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? S
Des:1 http://cl.archive.ubuntu.com jaunty/universe menu 2.1.41ubuntu1 [438kB]
Des:2 http://cl.archive.ubuntu.com jaunty/universe firestarter 1.0.3-7ubuntu5 [417kB]
Descargados 855kB en 9s (89,2kB/s)
Seleccionando el paquete menu previamente no seleccionado.
(Leyendo la base de datos ...
152901 ficheros y directorios instalados actualmente.)
Desempaquetando menu (de .../menu_2.1.41ubuntu1_i386.deb) ...
Seleccionando el paquete firestarter previamente no seleccionado.
Desempaquetando firestarter (de .../firestarter_1.0.3-7ubuntu5_i386.deb) ...
Procesando disparadores para man-db ...
Procesando disparadores para doc-base ...
Processing 1 added doc-base file(s)...
Registering documents with scrollkeeper...
Configurando menu (2.1.41ubuntu1) ...
Procesando disparadores para menu ...
Configurando firestarter (1.0.3-7ubuntu5) ...
Procesando disparadores para menu ...
slack@zion:~$
Paso 3: la instalacion se completo exitosamente, podemos ir al menu Aplicaciones-> Internet -> Firestarter, esto nos lanza la ventana de inicio del firewall para su configuracion inicial. La vemos en las siguientes pantallas.





Listo, tenemos el firewall en linux corriendo.
Saludos y suerte !!
Sabemos que linux es un sistema operativo robusto y seguro, libre de virus, a direferecia del ventanukos el cual ya viene desde el cd de instalación con multiples troyanos y espias que hacen que el sistema ande mucho mas lento y sea totalmente bulnerable a los ataques.
Sin embargo Linux tambien debe ser configurado para hacerlo mas seguro, aunque no hay virus si existen los ataques, pero para esto tenemos ene de opciones seguras y ademas open source.
Aqui presentamos una bastante buena. hablo de un firewall llamado firestarter.
Firestarter es una herramienta Grafica (GUI) o Desktop Firewall, para poder asegurar parte de sus servicios que tiene instalado en su Distribución GNU/Linux. Esta herramienta permite realizar mediante un wizard NAT, y despues solo copiar el dir /etc/firestarter y el /etc/init.d/firestarter a cualquier otro servidor incluso si estos últimos no tienen instalado interfaz X, además los scripts que genera son estrucuturados cuando se quiere tener un firewall restrictivo tanto con las conexiones entrantes y las salientes (NAT) asi configuras tus politicas para bloquear todo y solo permitir lo que se quiera, yo asi lo tengo, usando la opcion restrictive, pero ya todos los puertos y configuraciones que tambien las puede realizar manualmente.
Podemos realizar la instalacion facilmente con APT o mediante Webmin.
Explicare aqui los pasos para la instalacion por APT desde la consola.
entonces, abrimos una consola y escribimos los siguiente:
Paso 1: buscamos firestarter en los repositorios
slack@zion:~$ apt-cache search firestarter
firestarter - gtk program for managing and observing your firewall
Paso 2: Realizamos la instalación
slack@zion:~$ sudo apt-get install firestarter
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalaron de forma automática los siguientes paquetes y ya no son necesarios.
sendmail-base m4 procmail sensible-mda sendmail-cf
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
menu
Paquetes sugeridos:
dhcp3-server
Se instalarán los siguientes paquetes NUEVOS:
firestarter menu
0 actualizados, 2 se instalarán, 0 para eliminar y 42 no actualizados.
Necesito descargar 855kB de archivos.
Se utilizarán 4002kB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]?
Damos S con mayuscula
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalaron de forma automática los siguientes paquetes y ya no son necesarios.
sendmail-base m4 procmail sensible-mda sendmail-cf
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
menu
Paquetes sugeridos:
dhcp3-server
Se instalarán los siguientes paquetes NUEVOS:
firestarter menu
0 actualizados, 2 se instalarán, 0 para eliminar y 42 no actualizados.
Necesito descargar 855kB de archivos.
Se utilizarán 4002kB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? S
Des:1 http://cl.archive.ubuntu.com jaunty/universe menu 2.1.41ubuntu1 [438kB]
Des:2 http://cl.archive.ubuntu.com jaunty/universe firestarter 1.0.3-7ubuntu5 [417kB]
Descargados 855kB en 9s (89,2kB/s)
Seleccionando el paquete menu previamente no seleccionado.
(Leyendo la base de datos ...
152901 ficheros y directorios instalados actualmente.)
Desempaquetando menu (de .../menu_2.1.41ubuntu1_i386.deb) ...
Seleccionando el paquete firestarter previamente no seleccionado.
Desempaquetando firestarter (de .../firestarter_1.0.3-7ubuntu5_i386.deb) ...
Procesando disparadores para man-db ...
Procesando disparadores para doc-base ...
Processing 1 added doc-base file(s)...
Registering documents with scrollkeeper...
Configurando menu (2.1.41ubuntu1) ...
Procesando disparadores para menu ...
Configurando firestarter (1.0.3-7ubuntu5) ...
Procesando disparadores para menu ...
slack@zion:~$
Paso 3: la instalacion se completo exitosamente, podemos ir al menu Aplicaciones-> Internet -> Firestarter, esto nos lanza la ventana de inicio del firewall para su configuracion inicial. La vemos en las siguientes pantallas.





Listo, tenemos el firewall en linux corriendo.
Saludos y suerte !!
jueves, 8 de octubre de 2009
Error al arrancar mongrel en redmine
Hola, redmine es un administrador de proyectos y tareas open source, escrito en ruby onrail's, implementa mongrel.
Mongrel es un servidor HTTP para aplicaciones escritas en Ruby cuya principal característica es la velocidad, por defecto redmine utiliza dos procesos mongrel para el servicio http, pudiendo agregar otros process id mongrel para mejorar el rendimiento de la aplicación.
algunas veces cuando queremos arrancar redmine por consola ocurre lo siguiente:
slack@zion:~/programas/redmine-0.8.1-2$ ./ctlscript.sh start
nohup: redirecting stderr to stdout
Starting mysqld.bin daemon with databases from /home/slack/programas/redmine-0.8.1-2/mysql/data
/home/slack/programas/redmine-0.8.1-2/mysql/scripts/ctl.sh : mysql started at port 3307
starting port 3001
** !!! PID file tmp/pids/mongrel.3001.pid already exists. Mongrel could be running already. Check your log/mongrel.3001.log for errors. ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
starting port 3002
** !!! PID file tmp/pids/mongrel.3002.pid already exists. Mongrel could be running already. Check your log/mongrel.3002.log for errors. ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
Syntax OK
/home/slack/programas/redmine-0.8.1-2/apache2/scripts/ctl.sh : httpd started at port 8080
/home/slack/programas/redmine-0.8.1-2/subversion/scripts/ctl.sh : subversion started at port 3690
El log nos indica que el servicio mongrel no pudo arrancar porque ya existen pids corriendo para este servicio, sin embargo redmine esta abajo. para solucionar este problema debemos asegurarnos que los servicios utilizados esten abajo, para lo cual bajamos en modo comando redmine y sus servicios, como se indica:
slack@zion:~/programas/redmine-0.8.1-2$ ./ctlscript.sh stop
/home/slack/programas/redmine-0.8.1-2/subversion/scripts/ctl.sh : subversion stopped
Syntax OK
/home/slack/programas/redmine-0.8.1-2/apache2/scripts/ctl.sh : httpd stopped
already stopped port 3001
already stopped port 3002
/home/slack/programas/redmine-0.8.1-2/mysql/scripts/ctl.sh : mysql stopped
Ahora debemos eliminar los pids relacionados al error anterior, debemos ir a la siguiente ruta, ejecutar el comando ls, para listar los pids que debemos eliminar:
slack@zion:~/programas/redmine-0.8.1-2/apps/redmine/tmp/pids$ ls
mongrel.3001.pid mongrel.3002.pid
slack@zion:~/programas/redmine-0.8.1-2/apps/redmine/tmp/pids$ rm *.*
Ahora volvemos a arrancar Redmine, con comandos y vemos que el log ya no nos impide levantar correctamente los servicios.
slack@zion:~/programas/redmine-0.8.1-2$ ./ctlscript.sh start
nohup: redirecting stderr to stdout
Starting mysqld.bin daemon with databases from /home/slack/programas/redmine-0.8.1-2/mysql/data
/home/slack/programas/redmine-0.8.1-2/mysql/scripts/ctl.sh : mysql started at port 3307
starting port 3001
starting port 3002
Syntax OK
/home/slack/programas/redmine-0.8.1-2/apache2/scripts/ctl.sh : httpd started at port 8080
/home/slack/programas/redmine-0.8.1-2/subversion/scripts/ctl.sh : subversion started at port 3690
Ingresamos por el browser, http://localhost:8089/redmine (en mi caso lo tengo configurado en el puerto 8089)
nos debe despliegar una pagina similar a la siguiente,

Saludos y suerte !!
Mongrel es un servidor HTTP para aplicaciones escritas en Ruby cuya principal característica es la velocidad, por defecto redmine utiliza dos procesos mongrel para el servicio http, pudiendo agregar otros process id mongrel para mejorar el rendimiento de la aplicación.
algunas veces cuando queremos arrancar redmine por consola ocurre lo siguiente:
slack@zion:~/programas/redmine-0.8.1-2$ ./ctlscript.sh start
nohup: redirecting stderr to stdout
Starting mysqld.bin daemon with databases from /home/slack/programas/redmine-0.8.1-2/mysql/data
/home/slack/programas/redmine-0.8.1-2/mysql/scripts/ctl.sh : mysql started at port 3307
starting port 3001
** !!! PID file tmp/pids/mongrel.3001.pid already exists. Mongrel could be running already. Check your log/mongrel.3001.log for errors. ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
starting port 3002
** !!! PID file tmp/pids/mongrel.3002.pid already exists. Mongrel could be running already. Check your log/mongrel.3002.log for errors. ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
Syntax OK
/home/slack/programas/redmine-0.8.1-2/apache2/scripts/ctl.sh : httpd started at port 8080
/home/slack/programas/redmine-0.8.1-2/subversion/scripts/ctl.sh : subversion started at port 3690
El log nos indica que el servicio mongrel no pudo arrancar porque ya existen pids corriendo para este servicio, sin embargo redmine esta abajo. para solucionar este problema debemos asegurarnos que los servicios utilizados esten abajo, para lo cual bajamos en modo comando redmine y sus servicios, como se indica:
slack@zion:~/programas/redmine-0.8.1-2$ ./ctlscript.sh stop
/home/slack/programas/redmine-0.8.1-2/subversion/scripts/ctl.sh : subversion stopped
Syntax OK
/home/slack/programas/redmine-0.8.1-2/apache2/scripts/ctl.sh : httpd stopped
already stopped port 3001
already stopped port 3002
/home/slack/programas/redmine-0.8.1-2/mysql/scripts/ctl.sh : mysql stopped
Ahora debemos eliminar los pids relacionados al error anterior, debemos ir a la siguiente ruta, ejecutar el comando ls, para listar los pids que debemos eliminar:
slack@zion:~/programas/redmine-0.8.1-2/apps/redmine/tmp/pids$ ls
mongrel.3001.pid mongrel.3002.pid
slack@zion:~/programas/redmine-0.8.1-2/apps/redmine/tmp/pids$ rm *.*
Ahora volvemos a arrancar Redmine, con comandos y vemos que el log ya no nos impide levantar correctamente los servicios.
slack@zion:~/programas/redmine-0.8.1-2$ ./ctlscript.sh start
nohup: redirecting stderr to stdout
Starting mysqld.bin daemon with databases from /home/slack/programas/redmine-0.8.1-2/mysql/data
/home/slack/programas/redmine-0.8.1-2/mysql/scripts/ctl.sh : mysql started at port 3307
starting port 3001
starting port 3002
Syntax OK
/home/slack/programas/redmine-0.8.1-2/apache2/scripts/ctl.sh : httpd started at port 8080
/home/slack/programas/redmine-0.8.1-2/subversion/scripts/ctl.sh : subversion started at port 3690
Ingresamos por el browser, http://localhost:8089/redmine (en mi caso lo tengo configurado en el puerto 8089)
nos debe despliegar una pagina similar a la siguiente,

Saludos y suerte !!
lunes, 28 de septiembre de 2009
Hibernate y sessionFactory
En este ejemplo se muestra como trabajar con hibernate y session, para el metodo save
Código 1:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.HibernateTemplate;
public void saveAccounting(Accounting accounting){
// Obtenemos el sessionFactory que nos aportará la session y hibernateTemplate
SessionFactory sessionFactory = getSessionFactory();
// Obtenemos la session para iniciar la transaccion
Session session = sessionFactory.openSession();
// Obtenemos el HibernateTemplate que nos aportará
// las funcionalidades para comunicarnos con la BD
HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory);
// Iniciamos la transacción
Transaction transaccion = session.beginTransaction();
try {
getHibernateTemplate().save(accounting);
// Hacemos el commit de la transación
transaccion.commit();
session.close();
} catch (Exception e) {
transaccion.rollback();
e.printStackTrace();
}
}
Código 2:
public void saveAccounting(Accounting accounting){
getHibernateTemplate().save(accounting);
getHibernateTemplate().flush();
}
Espero que les sirva, saludos !!
Código 1:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.HibernateTemplate;
public void saveAccounting(Accounting accounting){
// Obtenemos el sessionFactory que nos aportará la session y hibernateTemplate
SessionFactory sessionFactory = getSessionFactory();
// Obtenemos la session para iniciar la transaccion
Session session = sessionFactory.openSession();
// Obtenemos el HibernateTemplate que nos aportará
// las funcionalidades para comunicarnos con la BD
HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory);
// Iniciamos la transacción
Transaction transaccion = session.beginTransaction();
try {
getHibernateTemplate().save(accounting);
// Hacemos el commit de la transación
transaccion.commit();
session.close();
} catch (Exception e) {
transaccion.rollback();
e.printStackTrace();
}
}
Código 2:
public void saveAccounting(Accounting accounting){
getHibernateTemplate().save(accounting);
getHibernateTemplate().flush();
}
Espero que les sirva, saludos !!
miércoles, 23 de septiembre de 2009
Instalar SSH en Linux
apt (herramienta de administración de paquetes)
apt-get install ssh
Algunos comandos:
ssh root@ip-maquina:/path del directorio
Facil y bonito , use open source !!
Saludos
apt-get install ssh
Algunos comandos:
ssh root@ip-maquina:/path del directorio
Facil y bonito , use open source !!
Saludos
Suscribirse a:
Comentarios (Atom)