Entradas

Magento en 192.168.0.122 en Ubuntu

1.- Descargar Magento.

La versión Magento Community se puede descargar desde:

http://www.magentocommerce.com/download

Para este artículo se ha empleado la versión 1.5.1 aunque el procedimiento sirve para todas las versiones. Descomprimir la versión decargada en una carpeta accesible para Apache ( normalmente dentro de /var/www ).

En el resto de este artículo se tomará la ruta “/var/www/magento151” como la carpeta en la que se ha descomprimido Magento.

2.- Crear la base de datos MySQL.

Para este artículo se creará la base de datos magento151 en codificación utf8.

Conectar al servidor local de MySQL:

mysql -u root -p
(introducir la clave)

una vez dentro del intérprete MySQL crear la base de datos

mysql> CREATE DATABASE `magento151` /*!40100 CHARACTER SET utf8 COLLATE utf8_general_ci */;

Para salir del intérprete mysql escribir quit y darle a enter.

3.- Crear y activar un host virtual para el dominio.

El primer paso es indicarle a Apache qué tiene que hacer cuando se le solicite el dominio magento151.local (el utilizado en este ejemplo).

Crear un archivo para el host virtual:

cd /etc/apache2/sites-available/
sudo gedit magento151.local

y dejarlo como:

<VirtualHost *:80>
    ServerAdmin admin@magento151.local
    ServerName magento151.local
    ServerAlias magento151.local
    DocumentRoot /var/www/magento151
    ErrorLog /var/www/magento151/log/error.log
    CustomLog /var/www/magento151/log/access.log combined
</VirtualHost>

sustituir las rutas correspondientes a la carpeta donde está almacenada la copia de magento descargada.

IMPORTANTE: Hay que asegurarse de que las rutas de los logs existen o de crearlas. Si no Apache dará error al reiniciarse.

Activar el host virtual y reiniciar apache:

sudo a2ensite magento151.local
sudo /etc/init.d/apache2 restart

4.- Redirigir el host a la ip local.

En este paso se configura un host para que Ubuntu resuelva magento151.local a la ip local ( 127.0.0.1 ). De otro modo intentaría resolver el dominio a través de DNS externas como cualquier otro.

Editar el archivo de hosts:

sudo gedit /etc/hosts

agregar la línea:

127.0.0.1    magento151.local

5.- Comprobar el estado del módulo mod_rewrite

mod_rewrite es el módulo de Apache que permite usar urls limpias en los sitios web.

Para instalarlo / verificar el estado del módulo ejecutar:

sudo a2enmod rewrite

En caso de estar activado aparecerá un mensaje que lo indicará. De lo contrario lo el módulo se activará.

6.- Instalar Magento

Si todo ha ido bien al abrir el navegador web en la dirección http://magento151.local aparecerá el inicio de la instalación de Magento. Lo único reseñable a partir de aquí son los datos que hay que introducir para configurar la instalación. Se pueden ver los datos empleados en la siguiente captura:

tutorial

Relevance search in Magento

The extension also allows you to show results by Negative Relevance. Magento by default orders results by ascendant relevance. So if you enable negative relevance you will order your product exactly as expected (descendant relevance) without having to override or modify core files. You can also enable the Stock Relevance to show non stock products at the end of the results.

We are going to maintain this extension and try to make it working on all Magento versions. For now it should work on all 1.4.X versions.

Feed, suggestions and translations are welcome.

Credits to:

Domatix 2.1

Confiamos con este movimiento poder atraer nuevos clientes y fortalecernos para competir con empresas más fuertes, tradicionalmente del sector de “software propietario”, y atraerlas hacia el software libre.

Iremos detallando las novedades durante las próximas semanas en los canales habituales…

¡Nuevamente gracias a clientes, compañeros y amigos por estar ahí!

Instalar magento en 192.168.0.122 sin error de valid url en Ubuntu 10.10

valid_url

Para solucionar este error, se pueden aplicar dos soluciones:

  1. Modificar archivos del propio Magento lo cual nos obligará a deshacer los cambios efectuados a la hora de poner la web en producción. (+ información)
  2. Crear un host virtual para el apache (en nuestro ejemplo magento.local). Esto permitirá cambiar la web sin tener que realizar ningún cambio adicional al cambiar la web al servidor de producción. Esta es la solución que se va a explicar a continuación, aplicada en un entorno de desarrollo basado en Ubuntu 10.10.

Creación del host virtual.

Lo primero que hay que hacer es crear un archivo en la carpeta /etc/sites-available para nuestro host virtual. Se puede hacer con:

sudo gedit /etc/apache2/sites-available/magento.base

En el archivo se debe copiar y modificar según la configuración local:

<VirtualHost *:80>
ServerAdmin admin@magento.base
ServerName magento.base
ServerAlias magento.base
DocumentRoot /home/roberto/www/magento.base
ErrorLog /home/roberto/www/magento.base/var/log/error.log
CustomLog /home/roberto/www/magento.base/var/log/access.log combined
</VirtualHost>

Es necesario cambiar las siguientes direcciones:

/home/roberto/www/magento.base => carpeta donde está alojada la web

/home/roberto/www/magento.base/var/log => carpeta donde se van a guardar los logs de error para este host virtual. (Es importante que esta carpeta exista porque sino dará error cuando se reinicie el servicio apache)

Una vez creado y guardado el archivo con la configuración del host virtual hay que activarlo con el siguiente comando:

sudo a2ensite magento.base

Ya sólo falta reiniciar el apache para que los cambios se hagan efectivos:

sudo /etc/init.d/apache2 restart

Listo. Ahora debería poderse volver a iniciar y finalizar la instalación sin problemas accediendo desde el navegador a la url: http://192.168.0.122/magento.base

¿Buscas trabajo como programador de OpenERP/Software Libre?

Debido al aumento de la demanda en el sector acorde a las nuevas necesidades de mercado, estamos buscando programadores para incorporar a nuestra plantilla que reunan las siguientes características:

Programador web: conocimientos html5, css, mysql, php. Se valorarán conocimientos sobre Joomla y Magento. El enfoque del trabajo será básicamente crear y mantener portales corporativos y tiendas virtuales. Necesario conocimiento de administración de servidores GNU/Linux e imprescindible utilizar linux a nivel de usuario. Se valorarán conocimientos de Django y Python.

Programador junior: para incorporar a equipo de trabajo OpenERP. Necesario conocimiento en el desarrollo de aplicaciones orientadas a objetos, especialmente Python. Se valorarán conocimientos de OpenObject, experiencia con otros ERPs, participación en comunidades de software libre (traducción, localización…) Herramientas colaborativas libres y de nuevo, utilizar linux como sistema operativo a nivel de usuario.

Se ofrece incorporación inmediata en Domatix. El trabajo se realizará en nuestras oficinas, en horario comercial, con una dinámica flexible y variable.
La retribución económica será acorde con los conocimientos y experiencia del candidato.

Retomando el blog

En breve estaremos haciendo ruido de nuevo.

Domatix 2.0

Todos los cambios estructurales del pasado año, incluyeron una mejora de las instalaciones, así como un cambio de las líneas telefónicas (gracias a Jazztel, por dar de baja el número sin haberlo solicitado), en un momento en el que el trabajo no dejaba de llamar a nuestra puerta. A costa de nuestra propia presencia online, dividimos el tiempo disponible entre nuestros clientes, y esta mejora de nuestras propias instalaciones. Intentando, sin éxito, tratar de juntar algo de tiempo para poder dedicar a nuestro propio proyecto.

Aún así, han sido muchos los nuevos clientes que han confiado en nuestros servicios, con apenas un cartel de “estamos en ello” en nuestra web, y sabemos que esa confianza depositada ha sido devuelta con creces, sacando adelante proyectos y desarrollos, algunos de los cuales se prometían duros de roer.

En todo caso, ya estamos de vuelta, aún puliendo muchos detalles y con cosillas por mejorar en la web, pero considerando que nuestra presencia online ya comienza a responder al rumbo de la empresa, y procuraremos seguir actualizando y mejorando, de una manera más constante que hasta ahora.

Todavía quedan muchos proyectos internos por definir o mejorar (virtualmente hablando) como sunegocioonline.com, idomatix.com, openerpspain.com, y alguna sorpresa más que vendrá, pero confiamos en que nuestra nueva política de tiempos nos permita dedicarle tiempo a todos estos portales, así como a las comunidades de los desarrollos en los que estamos involucrados.

Mientras, seguiremos trabajando intensamente con proyectos centrados en nuestro software libre favorito, como Joomla, Magento, OpenERP y GNU/Linux.

Desde aquí, sólo agradecer el constante apoyo y confianza de nuestros clientes fieles, obviamente responsables finales de que sigamos al pie del cañón.

Gracias por seguirnos y seguir contando con nosotros. Bienvenidos a Domatix 2.0

Crear y mantener una página web

Poco más de un lustro más tarde los blogs empezaban a despuntar. Su éxito era en parte debido a la facilidad con la que un usuario podía publicar una entrada en su blog. ¿Qué había cambiado? Simple, los blogs contaban con un sistema gestor de contenidos, un CMS (Content Management System), muy sencillo pero, sobre todo, fácil de usar.

Hoy coexisten las dos maneras de hacer webs, cada una con sus ventajas e inconvenientes. Si pensamos introducir cambios en el sitio web de manera poco frecuente y la estructura no es compleja, muy probablemente un sitio estático sea la mejor solución. Un sistema gestor de contenidos nos permitirá realizar cambios frecuentes y mantener una estructura de información más sofisticada, entre otras ventajas. A cambio, un CMS necesita una infraestructura que hay que instalar y mantener. Como veremos más adelante, tenemos un abanico de opciones para esa infraestructura, que van de las sencillas de mantener pero limitadas en opciones y capacidad de personalizar a las más potentes pero, a su vez, más exigentes en recursos y conocimientos.

Creando una web sencilla

Así, cuando la página no pretende más que ofrecer una información puntual que no debe cambiar, puede ser interesante usar opciones sencillas y a priori menos costosas que los sistemas de gestión de contenidos.

Las páginas web estáticas (a priori aquellas que no usan un CMS) suelen necesitar menos recursos del servidor que las dinámicas. En primer lugar la página se crea una vez y a partir de ahí el servidor se limita a servirla a todos los usuarios que la pidan. No necesita ni traducciones, ni consultas a una base de datos ni nada similar. A cambio la modificación del contenido siempre será algo más costosa, normalmente requerirá ser trabajada en un ordenador local para después subirla al servidor mediante FTP. Es una buena opción en los casos en que la página web cambia poco, porqué el coste más elevado en las modificaciones se compensa con menos necesidades y por tanto menos coste en el servidor.

Una primera opción, seguramente la más flexible y potente, puede ser crear una página web con algún programa que permita la edición de (X)HTML como puede ser Adobe Dreamweaver, Microsoft Expression Web o KompoZer. Esta opción es sencilla aunque requiere conocimientos avanzados de (X)HTML y de un programa cliente de FTP.

Otra posibilidad es utilizar un servicio web que nos permita crear y almacenar una página web con un sencillo editor. Es el caso de Geocities, Google Page Creator, Páginas Web Gratis o EveryOneWeb. La ventaja es que no son necesarios conocimientos de (X)HTML ni un cliente FTP porqué las páginas se hacen sobre el servidor, pero a cambio estos servicios suelen crear páginas con estructuras muy rígidas y muy parecidas unas a otras.

Sistemas gestores de contenidos

Un CMS es un software que facilita la gestión de los contenidos de una página web. Su utilidad es manifiesta cuando la página se modifica frecuentemente, como un blog, una revista o la web de una empresa que actualiza a menudo la información corporativa.

En un CMS los contenidos se guardan separadamente de la presentación, generalmente en una base de datos (BD). De esta manera, cada vez que se solicita una página, el servidor debe obtener los datos de la BD y juntarlos con la información de la presentación para servir al cliente la página final. Este proceso suele requerir un servidor más potente que en el caso de páginas web estáticas, pero a cambio, la introducción de nuevos datos o la modificación de los existentes, sólo requiere el uso de un formulario que se encargará de guardar los datos en la base de datos.

Actualmente la variedad de sistemas gestores de contenidos es muy elevada: En CMSMatrix, tienen una comparativa de más de 900; y no están todos. Así, buscar el más adecuado para un determinado proyecto es una tarea muy complicada y generalmente los usuarios tienen tendencia a usar aquel que conocen, aunque no se adapte a lo que realmente quieren hacer.

Generalmente los CMS ofrecen posibilidades de personalización muy altas. Todos ofrecen diferentes plantillas para personalizar la presentación, y los genéricos, además, ofrecen numerosas opciones para añadir funcionalidades al sistema. Incluso en aquellos CMS donde no se ofrecen excesivas funcionalidades, no es extraño que ofrezcan un conjunto de funciones pensadas para que el usuario pueda modificar completamente el aspecto o pueda añadir funcionalidades creando plugins.

Para seleccionar adecuadamente un CMS existen algunas clasificaciones que pueden sernos de utilidad. Por una parte, la clasificación tradicional es la que se refiere a la utilidad que se dará al sistema. Sin ser una clasificación perfecta (una de las características de los CMS es su flexibilidad que les permite hacer más cosas que aquellas para las que fue creado) si puede ser un buen punto de partida.

Clasificación de CMS según el tipo de gestión y/o contenidos

Esta es la clasificación más comúnmente usada. Sin embargo es una clasificación extraña porqué mezcla la manera como se gestiona el contenido y el tipo de contenidos que se gestionan. Sin embargo el resultado es una clasificación muy completa.

En esta clasificación encontramos los siguientes tipos de gestores de contenidos:

Genéricos. Están pensados para ofrecer servicios de diferentes tipos y pueden usarse tanto para gestionar un blog personal, como un portal, una revista, una tienda,… En esta categoría se incluirían Plone, OpenCMS, MySpace, TYPO3, Mambo, Joomla o Drupal.

Blogs. Son los CMS especialmente creados para la gestión de diarios personales. Son CMS de blogs WordPress, B2Evolution, Movable Type, Blogger.

Wikis. Los wikis son un tipo de CMS pensados para que varios usuarios creen un documento o un conjunto de documentos de manera comunitaria. Mantiene un registro de modificaciones, lo cual permite ver en cada momento que cambios ha hecho cada usuario. MediaWiki es seguramente el CMS de este tipo más conocido, por ser el que se usa en la Wikipedia, aunque también son dignos de mención TikiWiki, PikiWiki o PmWiki.

Foros. Estos CMS permiten la gestión de foros de discusión. Son conocidos phpBB, PunBB, MyBB o SMF.

Galerías de imágenes. Permiten subir y gestionar imágenes, crear álbumes, enviar fotos a imprimir, ejemplos clásicos son Gallery, Flickr, PicasaWeb o Coppermine.

Comercio electrónico. Son CMS especializados en la gestión de sitios que se dedican a la compra-venta de productos a través de la web. Algunos ejemplos son osCommerce, Magento o PrestaShop.

De todas formas, esta clasificación aun siendo tal vez la más clara, no es del todo exacta. El motivo es que los gestores de contenido son muy flexibles y muchas veces pueden ser usados para webs que no guardan relación con el uso original que pretendió su creador.

Servicios de CMS

Aunque muchos de los CMS que acabamos de ver requieren ser instalados en un servidor web propio, existen también empresas que se dedican a ofrecer como servicio un CMS compartido. En estos casos, a pesar de que el CMS está compartido por cientos o miles de usuarios, en la práctica cada uno de ellos trabaja con el sistema como si fuese un usuario único.

Es el caso de WordPress o Blogger, como gestores de blogs, MySpace como CMS genérico, Pikiwiki como wiki o PicasaWeb o Flickr como galerías de imágenes. La gran ventaja de estos CMS es que para usarlos sólo hay que darse de alta en el servicio. A cambio las posibilidades de adaptación son menores.

Los CMS instalables son más adaptables, pero a cambio requieren un espacio web propio del usuario, así como mantenimiento y actualización constantes.

Clasificación según las características necesarias del servidor

No todos los CMS utilizan los mismos lenguajes de servidor ni funcionan sobre los mismos tipos de servidores. Por eso es importante saber que requerimientos tiene el CMS que queramos usar. La siguiente tabla muestra los algunos gestores de contenidos y sus requerimientos técnicos:

De nuevo, comentar que CMSMatrix puede ser un buen punto de partida para ver las características del CMS que queremos instalar y sus requerimientos técnicos. Sin embargo siempre es bueno consultar las webs de los programas para asegurarse de que los datos son correctos y tener en cuenta que no todos los CMS aparecen en CMSMatrix.

Personalizando un CMS

Una de las características más interesantes de los CMS son las posibilidades de personalización. Unos párrafos antes escribía que los sistemas gestores de contenidos acostumbran a disponer de varias plantillas para adaptar la presentación a las necesidades del usuario. También suelen permitir la inclusión de pequeños programas (llamados plugins) que añaden funcionalidades, generalmente desarrollados por usuarios con necesidades concretas que se solucionan ellos mismos y que después ceden a la comunidad o, en algunos casos, comercializan.

La comunidad de desarrolladores y usuarios formada alrededor de cada CMS es, además, otro factor clave a la hora de elegir una u otra herramienta. En primer lugar, porque es importante que haya un núcleo fuerte de desarrolladores que mantenga el código y añada funcionalidades, tanto dentro de la propia herramienta como en forma de plugins. Además, la comunidad de diseñadores es esencial para que no todas las instalaciones de un CMS tengan exactamente el mismo aspecto.

Para poder permitir el desarrollo de plugins y facilitar la creación de nuevas plantillas que permitan personalizar la presentación de las páginas creadas con un determinado CMS, los creadores de este tipo de software suelen proporcionar abundante documentación sobre las funciones que permiten el acceso a los datos.

Un caso particular es el de las plantillas. La creación de plantillas para CMS es una tarea compleja que requiere leerse bien los manuales que los equipos de desarrollo suelen publicar. Dependiendo del proyecto, la documentación puede ser más o menos completa y el desarrollo de plantillas más o menos compleja. Un ejemplo de documentaciones bien hechas son las de WordPress y la de Drupal.

Enlaces artículo:

Introducción a los Sistemas de Gestión de Contenidos (CMS) de código abierto (Xavier Cuerda Garcia y Julià Minguillón Alfonso)

http://mosaic.uoc.edu/articulos/cms1204.html

Via: mosaic.