martes, 31 de agosto de 2010

¿Qué es OpenCart?

¿Qué es OpenCart?

OpenCart es un completo sistema de tienda virtual gratuito y de código abierto realizado con PHP y Mysql, que nos permite montar fácilmente nuestro negocio en internet.

¿Donde está la web oficial de OpenCart?

Está en http://www.opencart.com

¿Donde puedo ver un ejemplo de esta tienda web?

En http://www.coompras.com/tiendas/demoopen/

viernes, 27 de agosto de 2010

Una consultita en Mysql...

Esta es una prueba de lo potente que puede ser Mysql.


select
tabla.DEPENDENCIA,
tabla.ETIQUETA,
tabla.DESCRIPCION,
tabla.SERIE,
tabla.OBSERVACIONES,
tabla.MARCA,
case tabla.TIPO_DATO_ATRIBUTO_MODELO
when 1 then
((select valores_catalogo.VALOR
from detalle_catalogo
inner join valores_catalogo on valores_catalogo.ID_VALOR_CATALOGO=detalle_catalogo.ID_VALOR_CATALOGO
inner join atributos on atributos.ID_ATRIBUTO=valores_catalogo.ID_ATRIBUTO
where atributos.NOMBRE='MODELO'
and detalle_catalogo.ID_ACTIVO=tabla.ID_ACTIVO))
when 2 then
((select valores_unicos.VALOR from muebles
inner join activos on activos.ID_ACTIVO=muebles.ID_ACTIVO
inner join valores_unicos on valores_unicos.ID_ACTIVO=muebles.ID_ACTIVO
inner join atributos on atributos.ID_ATRIBUTO=valores_unicos.ID_ATRIBUTO
where muebles.TIPO_mueble=1
and atributos.nombre='MODELO'
and atributos.ID_CLASIFICACION = muebles.ID_CLASIFICACION
and valores_unicos.ID_ACTIVO=tabla.ID_ACTIVO))
else ''
end as MODELO,
tabla.CURP,
tabla.ID_RESGUARDO,
tabla.UBICACION,
tabla.CLAS,
tabla.PARTIDA,
tabla.NOM_PARTIDA,
tabla.ID_ESTATUS,
tabla.ID_RESGUARDO,
if((select id_solicitud_resguardo_externo from solicitud_resguardo_externo
where id_resguardo=tabla.ID_RESGUARDO) is null,'0',(
select CONCAT(datos_resguardante_externo.AP_PATERNO,' ', datos_resguardante_externo.AP_MATERNO,' ',datos_resguardante_externo.NOMBRE)
from solicitud_resguardo_externo
inner join datos_resguardante_externo on datos_resguardante_externo.id_solicitud_resguardo_externo=solicitud_resguardo_externo.id_solicitud_resguardo_externo
where id_resguardo=tabla.ID_RESGUARDO)
) AS 'RESGUARDANTE_EXTERNO',

if((select id_solicitud_resguardo_externo from solicitud_resguardo_externo
where id_resguardo=tabla.ID_RESGUARDO) is null,'0',(
select TRIM(datos_resguardante_externo.PUESTO)
from solicitud_resguardo_externo
inner join datos_resguardante_externo on datos_resguardante_externo.id_solicitud_resguardo_externo=solicitud_resguardo_externo.id_solicitud_resguardo_externo
where id_resguardo=tabla.ID_RESGUARDO)
) AS 'PUESTO'

from (
select a.id_activo,
dependencias.NOMBRE AS 'DEPENDENCIA',
(select valores_unicos.VALOR from
valores_unicos
inner join atributos on atributos.ID_ATRIBUTO=valores_unicos.ID_ATRIBUTO
where atributos.NOMBRE='ETIQUETA'
and valores_unicos.ID_ACTIVO=a.ID_ACTIVO) as 'ETIQUETA',
muebles.DESCRIPCION,
muebles.SERIE,
muebles.OBSERVACIONES,
(select atributos.id_tipo_dato from atributos
inner join clasificaciones on clasificaciones.id_clasificacion=atributos.id_clasificacion
where clasificaciones.id_clasificacion=muebles.id_clasificacion
and atributos.NOMBRE='MODELO'
)AS 'TIPO_DATO_ATRIBUTO_MODELO',
(select valores_catalogo.VALOR
from detalle_catalogo
inner join valores_catalogo on valores_catalogo.ID_VALOR_CATALOGO=detalle_catalogo.ID_VALOR_CATALOGO
inner join atributos on atributos.ID_ATRIBUTO=valores_catalogo.ID_ATRIBUTO
where atributos.NOMBRE='MARCA'
and detalle_catalogo.ID_ACTIVO=a.ID_ACTIVO) AS 'MARCA',
if((select resguardos.curp_responsable from detalles_resguardos
inner join resguardos on resguardos.id_resguardo=detalles_resguardos.id_resguardo
where detalles_resguardos.id_estatus_resguardo in (1,2)
and detalles_resguardos.id_activo=a.id_activo) is null,'EN SOLICITUD DE BAJA',(select resguardos.curp_responsable from detalles_resguardos
inner join resguardos on resguardos.id_resguardo=detalles_resguardos.id_resguardo
where detalles_resguardos.id_estatus_resguardo in (1,2)
and detalles_resguardos.id_activo=a.id_activo)) as 'curp',
if((select resguardos.id_resguardo from detalles_resguardos
inner join resguardos on resguardos.id_resguardo=detalles_resguardos.id_resguardo
where detalles_resguardos.id_estatus_resguardo in (1,2)
and detalles_resguardos.id_activo=a.id_activo) is null,'',(select resguardos.id_resguardo from detalles_resguardos
inner join resguardos on resguardos.id_resguardo=detalles_resguardos.id_resguardo
where detalles_resguardos.id_estatus_resguardo in (1,2)
and detalles_resguardos.id_activo=a.id_activo)) AS 'ID_RESGUARDO',
oficinas.NOMBRE as 'UBICACION',
clasificaciones.NOMBRE as 'CLAS',
partidas.PARTIDA,
partidas.NOMBRE as NOM_PARTIDA,muebles.id_estatus
from activos a
inner join muebles on muebles.ID_ACTIVO=a.ID_ACTIVO
inner join oficinas on oficinas.ID_OFICINA=muebles.ID_OFICINA
inner join clasificaciones on clasificaciones.ID_CLASIFICACION = muebles.ID_CLASIFICACION
inner join partidas on partidas.ID_PARTIDA=clasificaciones.ID_PARTIDA
inner join dependencias on dependencias.ID = a.ID_DEPENDENCIA
WHERE a.TIPO_ACTIVO=1
and muebles.TIPO_MUEBLE=1
and clasificaciones.ID_PARTIDA = 10
and muebles.ID_ESTATUS <> 2
ORDER BY PARTIDA,CLAS,DESCRIPCION) tabla


Saludos...

viernes, 20 de agosto de 2010

Crear grupo de usuarios en Linux para administrar un sitio web

Crear un directorio web y un grupo de usuarios llamado "programadores" con privilegios para modificar el sitio.

1.- Crear un directorio donde se guardaran los archivos del sitio

# cd /var/www/
root@itinajero:/var/www# mkdir website

2.- Crear un grupo en el que estaran los usuarios que podran subir paginas web.

root@itinajero:/var/www# groupadd programadores

3.- Crear los usuarios que podran subir archivos al sitio

root@itinajero:/var/www# adduser itinajero
root@itinajero:/var/www# adduser diaz

4.- Asignar los usuarios al grupo "programadores"

root@itinajero:/var/www# gpasswd -a diaz programadores
Adding user diaz to group sitio
root@itinajero:/var/www# gpasswd -a itinajero programadores
Adding user itinajero to group sitio

5.- Asignar el directorio creado al grupo "programadores".

root@itinajero:/var/www# chgrp programadores website/

6.- Verificamos los permismos actuales de ese directorio

root@itinajero:/var/www# ls -l
total 6500
drwxr-xr-x 10 root root 4096 2010-08-13 15:45 html
-rw-r--r-- 1 root root 177 2010-03-16 15:10 index.html
drwxr-xr-x 16 www-data www-data 4096 2010-08-05 10:23 joomla
-rw-r--r-- 1 root root 6607169 2010-08-03 13:21 Joomla_1.5.20-Spanish-pack_completo.zip
-rw-r--r-- 1 root root 2045 2010-08-03 15:04 new.php
-rw-r--r-- 1 root root 2046 2010-08-03 15:03 new.php~
drwxr-xr-x 2 root root 4096 2010-08-03 16:01 noticias
drwxr-xr-x 11 root root 4096 2010-07-27 14:48 phpMyAdmin
drwxr-xr-x 2 root programadores 4096 2010-08-20 15:06 website

Podemos ver que el grupo programadores no tiene pemisos de escritura a la carpeta website. Es necesario agregarle permisos de escritura.

7.- Agregamos los permisos de escritura al grupo.

root@itinajero:/var/www# chmod 775 website/
root@itinajero:/var/www# ll
total 6500
drwxr-xr-x 10 root root 4096 2010-08-13 15:45 html
-rw-r--r-- 1 root root 177 2010-03-16 15:10 index.html
drwxr-xr-x 16 www-data www-data 4096 2010-08-05 10:23 joomla
-rw-r--r-- 1 root root 6607169 2010-08-03 13:21 Joomla_1.5.20-Spanish-pack_completo.zip
-rw-r--r-- 1 root root 2045 2010-08-03 15:04 new.php
-rw-r--r-- 1 root root 2046 2010-08-03 15:03 new.php~
drwxr-xr-x 2 root root 4096 2010-08-03 16:01 noticias
drwxr-xr-x 11 root root 4096 2010-07-27 14:48 phpMyAdmin
drwxrwxr-x 2 root programadores 4096 2010-08-20 15:06 website
root@itinajero:/var/www#

Ahora podemos ver que ya tienen permisos de escritura los usuarios del grupo sitio y podran subir archivos

Autor.

Ivan E. Tinajero Diaz