jueves, 11 de febrero de 2010

Generador de Passwords para Apache

Con Apache es posible controlar el acceso a las páginas solicitando usuario y password. La forma en que se puede hacer es configurando un archivo .htpasswd en la ruta del servidor que queremos proteger.

Encontre esta utilidad para generar los archivos .htpasswd y .htaccess llamada:
htpasswdgenerator
http://www.htpasswdgenerator.com/download_htpasswd_generator.html

Si quieres obtener el path completo del server, dato útil en el archivo .htpasswd debes comprar la versión con esa funcionalidad.

Pero si quieres seguir usando la versión gratis, guarda el script siguiente en un archivo, subelo a la carpeta donde esta el .htpasswd y lo llamas en el navegador. Te dará la ruta completa que debes ingresar.

<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

el contenido del archivo .htaccess queda como sigue, lógicamente cambie mis valores.

#---------------------
AuthName "restricted access"
AuthType Basic
AuthUserFile "/home/a/carpeta/html/admin/.htpasswd"
Require valid-user
#---------------------

y el .htpasswd quedo de la siguiente manera


#-->> This file was generated in 'Htpasswd Generator' (12/02/2010) <---#
#---> www.htpasswdgenerator.com <---#
#---> <---#
#---> Total users: 1 <---#
#---> Disabled users: 0 <---#
#--->>+++

usuadmin:$apr1$a54.....$gbHtLsfS0vuGROhwfiudUi0
#-->>User extra data<---#
#+++>FirstName=admin<+++#
#+++>RealPassword=gSghW8h8q3083w==<+++#
#+++>Email=correo@dominio.cl<+++#
#+++>AddDate=40221<+++#
#--->>+++

martes, 9 de febrero de 2010

CRMOS Resurrection

CRMOS es un proyecto Open Source que intente levantar hace un año mas o menos. El desconocimiento de la tecnología (NHibernate), un par de usuarios que me hicieron dudar sobre si era mejor hacer un CRM o ERP, el proyecto quedo stand by. Ahora vuelvo a la carga pero con un excelente programador comprometido a Full. Mas conocimiento y la experiencia de un intento ya fallido.

Por lo que estoy revisando el proyecto y ver que cosas van a cambiar en la página del proyecto.

Definición del proyecto
http://code.google.com/p/crmos/

Requerimientos
http://code.google.com/p/crmos/wiki/Requerimientos

Como empezar
http://code.google.com/p/crmos/wiki/ComoEmpezar

Interfaz
http://code.google.com/p/crmos/wiki/Interfaz

Estilo
http://code.google.com/p/crmos/wiki/Estilo

Tablas
http://code.google.com/p/crmos/wiki/Tablas

martes, 5 de enero de 2010

Exportar desde Excel a MySql

xls2mysql es un script PHP que permite gestionar un archivo Excel para convertir sus datos en datos MySql.

Para utilizarlo se deben seguir los siguientes pasos:

Descargar el script
http://scripts.ringsworld.com/database-tools/xls2mysql/

Publicarlo
http://tuhost/xls2mysql/xls2mysql.php

Tras los pasos anteriores, aparece una pantalla con dos pestañas Upload y MySql, en upload permite subir el excel. Una vez que se sube se transforma en data y te muestra el contenido. En la pestaña MySql muestra el código. Este código debe ser ejecutado desde el cliente MySql, y crea la estructura de la tabla y llena los campos en la tabla MySql...

recomendado funciona perfecto...

domingo, 20 de diciembre de 2009

Script bash para crear carpeta de Subversion



El siguiente script permite crear la estructura tipica de carpetas subversion. Se asume que tenemos un repositorio ya funcionando llamado repositorio.
El nombre del script lo he llamado 0subversion.sh. Este puede ser ejecutado de la siguiente manera: sudo sh 0subversion.sh
Luego el script pregunta por el nombre de la carpeta del proyecto.

#!/bin/bash
echo Por favor, introduzca nombre de la carpeta Subversion
read NOMBRE
svn mkdir file:///var/svn/repositorio/$NOMBRE -m "Raiz"
svn mkdir file:///var/svn/repositorio/$NOMBRE/trunk -m "Trunk"
svn mkdir file:///var/svn/repositorio/$NOMBRE/tags -m "Tags"
svn mkdir file:///var/svn/repositorio/$NOMBRE/branches -m "Branches"
echo "Carpeta $NOMBRE creada con exito!"

sábado, 5 de diciembre de 2009

Como habilitar mod_rewrite de Apache

mod_rewrite es un módulo de Apache que permite manipular urls. O dicho en otras palabras hacer amigables las urls para los navegadores. Este módulo es mucho mas poderoso que lo anteriormente dicho. Por lo que para sacarle el mayor provecho se requieren de algunos conocimientos extras.

Algunas aplicaciones requiren que este módulo este habilitado, y para hacerlo se debe hacer lo siguiente:

Ejecutar:
sudo a2enmod rewrite

Editar el archivo /etc/apache2/sites-enabled/000-default:
sudo gedit /etc/apache2/sites-enabled/000-default

Donde dice Directory /var/www/
Cambiar ‘AllowOverride None’ por ‘AllowOverride All’

Luego reiniciar Apache
sudo /etc/init.d/apache2 force-reload

mas información en:
http://httpd.apache.org/docs/1.3/misc/rewriteguide.html

http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

jueves, 26 de noviembre de 2009

Cuidado con los dedos: sudo chmod 777 -R /*

El otro día cometí el error de cambiar los permisos de la raíz de Ubuntu. Ejecutando desde la consola algo como esto: sudo chmod 777 -R /*. Acto seguido, no funcionaba Internet, y al momento de querer usar el usuario root, me aparecía el mensaje: Must be setuid root. Este problema se produjo en una maquina virtual, donde tengo algunas cosas que casi en su totalidad estaban respaldadas. Pero como no quiero ir por la vida como aquellos que formatean al primer problema. Me puse a investigar y la solución que encontré fue la que comparto a continuación:

Al iniciar Linux, justo despues que se ejecuta GRUB.
Se debe presionar Escape
Aparecera una pantalla en donde se debe elegir el inicio RECOVERY MODE
Acto seguido aparece otra ventana donde se debe seleccionar Dropt to root shell Prompt
Lo anterior permite entrar en una consola como root.
Se debe ejecutar lo siguiente: chmod 4111 /usr/bin/sudo
luego ejecutar sudo
la consola va a indicar que /etc/sudoers tiene permisos 0777 y deberian ser 0440 por lo que se debe ejecutar chmod 0440 /etc/sudoers

luego de eso reiniciar y desaparece el problema de permisos y en mi caso volvi a tener Internet en esa maquina.



sábado, 31 de octubre de 2009

Instalar Apache y PHP en Ubuntu

Para instalar Apache desde una consola se debe escribir lo siguiente:

sudo aptitude install apache2

Para instalar PHP
sudo aptitude install php5

Aparecera la siguiente consulta a la cual le ingresamos "Y"
Necesito descargar 5013kB de ficheros. Después de desempaquetar se usarán 13,2MB.
¿Quiere continuar? [Y/n/?] Y

El proceso tarda algunos minutos.

Para asegurar que Apache este instalado basta colocar en el navegador la siguiente dirección:
http://localhost/ , tras lo cual debe aparecer una página con el mensaje: It Works!

Luego de eso voy a asegurar de que este correcta la instalación de PHP. Creando un archivo .php (info.php) y ejecutandolo desde el localhost. http://localhost/info.php

Para crear el archivo en el directorio /var/www/ se debe ejecutar lo siguiente:
sudo gedit info.php

El código del archivo contendrá lo siguiente:

phpinfo();
?>

este código me mostrará una página con la configuración de PHP.
Tras un primer intento, el navegador muestra el dialogo para descargar la página. Lo que me indica que algo no esta funcionando por lo que reiniciaré Apache:

sudo /etc/init.d/apache2 restart

Después de eso la configuración esta correcta.





Libro, Aprende a Programar en PHP YA!