lunes, 22 de marzo de 2010

Linux: loguear como otro usuario

Para loguear dentro de un entorno gráfico (gnome, kde ...) como otro usuario, si usamos el comando login nos saldrá un error como este:
FATAL: no es posible cambiar los permisos de TTY: Operación no permitida

Para cambiar de usuario tenemos que usar el comando su:
su -l otrousuario

domingo, 21 de marzo de 2010

CakePHP: instalación en public_html bajo Opensuse 11.2

El objetivo es intalar el framework CakePhp en el directorio public_html de un usuario en concreto, para que este usuario pueda usar dicho framework. Presuponemos instalado y funcionando apache2 y php5, bajo una máquina opensuse 11.2. Presuponemos que esta con los valores por defecto ( con la directiva UserDir habilitada) de modo que el usuario puede acceder a su web con la siguiente URL:
http://localhost/~usuario

Los pasos son los siguientes:
1- Descargar CakePHP desde su página principal http://cakephp.org/ :
wget http://github.com/cakephp/cakephp1x/tarball/1.2.6

2- Descomprimimos el archivo en el directorio public_html del usuario (ej dieguz2), de modo que al hacer un ls quede así:
/home/dieguz2/public_html/app
/home/dieguz2/public_html/cake
/home/dieguz2/public_html/plugins
/home/dieguz2/public_html/vendors
/home/dieguz2/public_html/index.php
/home/dieguz2/public_html/README
Tras este paso deberiamos poder conectar al servidor y ver la página de CakePHP, nos saldrán varios errores, que corregiremos a continuación:
http://localhost/~dieguz2/index.php
Si no tenemos activado el MOD_REWRITE de apache veremos la página (sin estilos ni imágenes), con una serie de errores,en todos los casos HAY que activar el rewrite. Si lo tenemos activado tenemos que hacer los cambios explicados en el siguiente paso.

Para activar el módulo rewrite, podemos hacerlo a través de yast (servidor http /Módulos del servidor / rewrite / habilitar ) o a través de la linea de comando:
a2enmod rewrite
sudo /etc/init.d/apache2 force-reload

3- Si tenemos activado el MOD_REWRITE en apache, nos saldrá el mensaje "Objeto no encontrado", tenemos que hacer cambios en dos archivos .htaccess añadiendo la directiva RewriteBase de modo que queden así:
/home/dieguz2/public_html/.htaccess

RewriteEngine on
RewriteRule (.*) app/webroot/$1 [L]
RewriteBase /~dieguz2/

/home/dieguz2/public_html/app/webroot/.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteBase /~dieguz2/

Si tenemos algun problema adicional (como que no hace caso de los .htaccess tendremos que activar el AllowOverride en apache.

4- Cambiamos los permisos del directorio tmp para evitar que nos de errores de escritura ( CAKE Warning (512) app/tmp/cache/ is not writable [CORE/cake/libs/cache/file.php, line 263])
chmod 777 -R /home/dieguz2/public_html/app/tmp

5- Editamos el archivo:
vi /home/dieguz2/public_html/app/config/core.php
Buscamos la cadena "Security.salt" cambiamos la cadena por defecto por otros numeros y letras aleatorios. por ejemplo, podría quedar asi
Configure::write('Security.salt', 'imaqm1897dfnAsk1938ajmKnau812na2A2kajsai');

Hacemos lo mismo con la "cipherSeed", pero en este caso usamos sólo números aleatorios
Configure::write('Security.cipherSeed', '16359506657458542996042684645');

Con estos cambios evitaremos los siguientes errores:
Notice (1024): Please change the value of 'Security.salt' in app/config/core.php to a salt value specific to your application [CORE/cake/libs/debugger.php, line 674]
Notice (1024): Please change the value of 'Security.cipherSeed' in app/config/core.php to a numeric (digits only) seed value specific to your application [CORE/cake/libs/debugger.php, line 678]

6- Si no tenemos definida una zona horaria en php, podemos tener un mensaje de error como este:
[http://php.net/function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting

Para corregirlo editamos como root el archivo php.ini (/etc/php5/apache2/php.ini) fijando la variable a la zona horaria que queramos (listado de zonas horarias en php):
date.timezone = Europe/Madrid
7- Finalmente pasamos a editar el archivo de configuración de la base de datos. En CakePhp nos envía un archivo de ejemplo para mysql, lo copiaremos y editaremos con los valores que necesitemos (usuario,contraseña...) para conectar con nuestra base de datos (que debe estar ejecutándose):
cp /home/dieguz2/public_html/app/config/database.php.default /home/dieguz2/public_html/app/config/database.php
vi /home/dieguz2/public_html/app/config/database.php

El resultado final ( en la imagen no he configurado la BD) debe ser algo similar a esto:

sábado, 20 de marzo de 2010

Netbeans 6.8 : google app engine, instalacion del plugin

Como instalar soporte para el APP Engine en Netbeans:

Instalación de los plugin:

1- Pulsamos en Herramientas / complementos:
2- Pulsamos en la pestaña Configuración, y luego en el botón Agregar
3- Como nombre ponemos por ejemplo Google App Engine - Kenai y como URL
a) si usamos netbeans 6.7 : http://kenai.com/projects/nbappengine/downloads/download/1.0_NetBeans671
b) si usamos netbeans 6.8 : http://kenai.com/projects/nbappengine/downloads/download/Latest_NetBeans68

4- Le damos a la pestaña plugin disponibles, buscamos por "google app" ya añadimos los plugin.


Más información en el siguiente enlace :

Getting Started With Google App Engine
NetBeans support for Google App Engine
Will it play in App Engine

 


 


POR LA LIBERTAD EN LA RED






¡¡¡ NO AL CIERRE DE WEBS !!!


 


 


 

viernes, 19 de marzo de 2010

RED SOStenible : red y libertad

Consideramos imprescindible la retirada de la disposición final primera de la Ley de Economía Sostenible por los siguientes motivos:

1 -Viola los derechos constitucionales en los que se ha de basar un estado democrático en especial la presunción de inocencia, libertad de expresión, privacidad, inviolabilidad domiciliaria, tutela judicial efectiva, libertad de mercado, protección de consumidoras y consumidores, entre otros.

2 - Genera para la Internet un estado de excepción en el cual la ciudadanía será tratada mediante procedimientos administrativos sumarísimos reservados por la Audiencia Nacional a narcotraficantes y terroristas.

3 - Establece un procedimiento punitivo “a la carta” para casos en los que los tribunales ya han manifestado que no constituían delito, implicando incluso la necesidad de modificar al menos 4 leyes, una de ellas orgánica. Esto conlleva un cambio radical en el sistema jurídico y una fuente de inseguridad para el sector de las TIC (Tecnología de la Información y la Comunicación). Recordamos, en este sentido, que el intercambio de conocimiento y cultura en la red es un motor económico importante para salir de la crisis como se ha demostrado ampliamente.

4 - Los mecanismos preventivos urgentes de los que dispone la ley y la judicatura son para proteger a toda ciudadanía frente a riesgos tan graves como los que afectan a la salud pública. El gobierno pretende utilizar estos mismos mecanismos de protección global para beneficiar intereses particulares frente a la ciudadanía. Además la normativa introducirá el concepto de "lucro indirecto", es decir: a mí me pueden cerrrar el blog porque "promociono" a uno que "promociona" a otro que linka a un tercero que hace negocios presuntamente ilícitos

5 - Recordamos que la propiedad intelectual no es un derecho fundamental contrariamente a las declaraciones del Ministro de Justicia, Francisco Caamaño. Lo que es un derecho fundamental es el derecho a la producción literaria y artística.

6 - De acuerdo con las declaraciones de la Ministra de Cultura, esta disposición se utilizará exclusivamente para cerrar 200 webs que presuntamente están atentando contra los derechos de autor. Entendemos que si éste es el objetivo de la disposición, no es necesaria, ya que con la legislación actual existen procedimientos que permiten actuar contra webs, incluso con medidas cautelares, cuando presuntamente se esté incumpliendo la legalidad. Por lo que no queda sino recelar de las verdaderas intenciones que la motivan ya que lo único que añade a la legislación actual es el hecho de dejar la ciudadanía en una situación de grave indefensión jurídica en el entorno digital.

7 - Finalmente consideramos que la propuesta del gobierno no sólo es un despilfarro de recursos sino que será absolutamente ineficaz en sus presuntos propósitos y deja patente la absoluta incapacidad por parte del ejecutivo de entender los tiempos y motores de la Era Digital.

La disposición es una concesión más a la vieja industria del entretenimiento en detrimento de los derechos fundamentales de la ciudadanía en la era digital.

La ciudadanía no puede permitir de ninguna manera que sigan los intentos de vulnerar derechos fundamentales de las personas, sin la debida tutela judicial efectiva, para proteger derechos de menor rango como la propiedad intelectual. Dicha circunstancia ya fué aclarada con el dictado de inconstitucionalidad de la ley Corcuera (o ley de patada en la puerta). El Manifiesto en defensa de los derechos fundamentales en Internet, respaldado por más de 200 000 personas, ya avanzó la reacción y demandas de la ciudadanía antes la perspectiva inaceptable del gobierno.

Para impulsar un definitivo cambio de rumbo y coordinar una respuesta conjunta, el 9 de enero se ha constituido la "Red SOStenible" una plataforma representativa de todos los sectores sociedad civil afectados. El objetivo es iniciar una ofensiva para garantizar una regulación del entorno digital que permita expresar todo el potencial de la Red y de la creación cultural respetando las libertades fundamentales.

En este sentido, reconocemos como referencia para el desarrollo de la era digital, la Carta para la innovación, la creatividad y el acceso al conocimiento, un documento de síntesis elaborado por más de 100 expertos de 20 países que recoge los principios legales fundamentales que deben inspirar este nuevo horizonte.

En particular, consideramos que en estos momentos es especialmente urgentes la implementación por parte de gobiernos e instituciones competentes, de los siguientes aspectos recogidos en la Carta:

1 - Las/os artistas como todos los trabajadores tienen que poder vivir de su trabajo (referencia punto 2 "Demandas legales", párrafo B. "Estímulo de la creatividad y la innovación", de la Carta);

2 - La sociedad necesita para su desarrollo de una red abierta y libre (referencia punto 2 "Demandas legales", párrafo D "Acceso a las infraestructuras tecnológicas", de la Carta);

3 - El derecho a cita y el derecho a compartir tienen que ser potenciado y no limitado como fundamento de toda posibilidad de información y constitutivo de todo conocimiento (referencia punto 2 "Demandas legales", párrafo A "Derechos en un contexto digital", de la Carta);

4 - La ciudadanía debe poder disfrutar libremente de los derechos exclusivos de los bienes públicos que se pagan con su dinero, con el dinero publico (referencia punto 2 "Demandas legales", párrafo C "Conocimiento común y dominio público", de la Carta);

5 -Consideramos necesaria una reforma en profundidad del sistema de las entidades de gestión y la abolición del canon digital (referencia punto 2 "Demandas legales", párrafo B. "Estímulo de la creatividad y la innovación", de la Carta).

Por todo ello hoy se inicia la campaña INTERNET NO SERA OTRA TELE y se llevarán a cabo diversas acciones ciudadanas durante todo el periodo de la presidencia española de la UE.

Consideramos particularmente importantes en el calendario de la presidencia de turno española el II Congreso de Economía de la Cultura (29 y 30 de marzo en Barcelona), Reunión Informal de ministros de Cultura (30 y 31 de marzo en Barcelona) y la reunión de ministros de Telecomunicaciones (18 a 20 de abril en Granada).

La Red tiene previsto reunirse con representantes nacionales e internacionales de partidos políticos, representantes de la cultura y legaciones diplomáticas.

Firmado Red SOStenible

http://Red-SOStenible.net

La Red Sostenible somos todo. Si quieres adherirte a este texto, cópialo, blogguéalo, difúndelo.

lunes, 15 de marzo de 2010

Script: punto delante del script

En muchos scripts de linux es común usar el operandor punto (dot en inglés) de modo que la ejecucion queda asi:
$ . miscript.sh

¿Por qué se usa el .?

Con el punto estamos indicando que el script se ejecute en el shell actual. Esto implica que las variables que hemos modificado en este shell, serán visibles para el script.

Si no se usase, el script se ejecutará en un shell nuevo, donde no se conservan las variables. Al ser un shell nuevo

Del mismo modo, si ejecutamos el script con el . delante, todos los cambios de variables que ejecute el script (por ejemplo si cambiamos de directorio), serán visibles y se conservaran cuando acabe el script.

Ejemplo:

Supongamos que tenemos el siguiente script en el archivo script1.sh al que le damos permisos de ejecutación(chamod u+x script1.sh):
#!/bin/sh
echo $MENSAJE
MENSAJE='Mensaje script1'
echo $MENSAJE

Supongamos que estamos en una shell, y vamos a crear una variable llamada MENSAJE en la shell. Ejecutaremos el script1 con y sin punto y veremos que sale:
$>MENSAJE='ESTOY EN LA SHELL'
$> echo $MENSAJE
ESTOY EN LA SHELL
$> ./script1.sh

Mensaje script1
$>echo $MENSAJE
ESTOY EN LA SHELL
$>. ./script1.sh
ESTOY EN LA SHELL
Mensaje script1
$> echo $MENSAJE
Mensaje script1


En la primera ejecución de script1 sin el . :
1) Desconoce el valor de MENSAJE, dado que se ejecutan en una subshell que no hereda las variables de la shell. Así que escribe en primer lugar una linea en blanco
2) Al volver a la shell y ver el contenido de mensaje vemos que no se ha modificado (ESTOY EN LA SHELL)

En la segunda ejecución, con el . delante :
1) Imprime el contenido de MENSAJE que hay en la shell, dado que se ejecuta en el mismo espacio, y por tanto sí conoce la variable ( ya no imprime la linea en blanco)
2)Al volver a la shell, el script1 modificó el valor de la variable MENSAJE, y ahora aparece Mensaje script1.

El . como un include de C

Así pues el funcionamiento del . cuando lo incluimos dentro de nuestros scripts es algo similar a la cabecera include de C. Es decir es casi como si la linea que incluy ele script se sustituyese exactamente por su contenido (un copiar y pegar del código).

Por todo ello usar el . delante del script es imprescindible conocerlo y usarlo.