viernes, 28 de agosto de 2015

Instalación Redmine en Raspberry Pi e integración con Git

Instalación Redmine

Actualizamos los repositorios de la raspberry:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get clean

Instalamos los paquetes necesarios:

sudo apt-get install apache2 mysql-server
sudo apt-get install redmine redmine-mysql
sudo apt-get install libapache2-mod-passenger

Configuramos el sitio web:

sudo ln -s /usr/share/redmine/public /var/www/redmine
sudo chown -R www-data:www-data  /var/www/redmine
sudo su
echo "RailsBaseURI /redmine" > /etc/apache2/sites-available/redmine.conf
exit
sudo a2ensite redmine

Reiniciamos los servicios:

sudo /etc/init.d/apache2 reload
sudo /etc/init.d/apache2 restart

Y accedemos desde el navegador:

http://ip_de_raspberry/redmine

Fuentes:



Actualización para instalar Redmine en Debian Jessie

Una vez instalados los paquetes para configurar el sitio debemos:

cp /usr/share/doc/redmine/examples/apache2-passenger-alias.conf /etc/apache2/sites-availables/redmine.conf

IMPORTANTE!!
Tuve que deshabilitar el sitio que carga apache por defecto

a2dissite 000-default.conf
a2enmod passenger
a2ensite redmine.conf
service apache2 reload

Y accedemos desde el navegador

http://ip_de_raspberry/redmine

Fuentes:


Integración con Git 

Creamos una cuenta en Bitbucket
Creamos un nuevo repositorio vacío en dicha cuenta

En el directorio donde tengamos  el proyecto iniciamos git y añadimos el repositorio vacío de Bitbucket como repositorio remoto.

git init
git remote add origin https://nombre_cuenta@gitbucket.org/nombre_cuenta/nombre_repositorio.git

Añadimos los todos los archivos que vayamos a mantener con el control de versiones, realizamos el commit inicial y sincronizamos con la cuenta de BitBucket:

git add *

git commit -m "Commit Inicial"

git push -u origin master

Llegados a este punto ya tenemos una copia del repositorio en local y otra en la cuenta de Bitbucket.

Generamos una clave en la raspberry para utilizar ssh (bitbucket), esto es necesario para poder automatizar la actualización del repositorio sin que nos solicite la contraseña de nuestra cuenta en Bitbucket:

mkdir /home/pi/.ssh
cd /home/pi/.ssh
ssh-keygen -t rsa

    bitbucket
vi .ssh/config
    Host bitbucket.org
      IdentityFile ~/.ssh/bitbucket_rsa

Copiamos la clave en Bitbucket -> Cuentas -> SSH Keys:

cat /home/pi/.ssh/bitbucket.pub

Creamos el directorio donde almacenaremos una copia del repositorio:

mkdir /home/pi/git
cd /home/pi/git
git clone git@bitbucket.org:nombre_cuenta/nombre_repositorio.git
cd nombre_repositorio
pwd
    /home/pi/git/nombre_repositorio

En redmine configuramos el control de versiones:

Proyecto -> Configuración -> Repositorio
SCM : Git
Ruta al repositorio: /home/pi/git/nombre_repositorio/.git

Llegados a este punto ya tenemos una copia del repositorio también en la raspberry

Script de actualización para cron:

vi /home/pi/redmine-git-updates.sh
    cd /home/pi/git/rullyeah && git pull origin master
chmod +x /home/pi/redmine-git-updates.sh

Configuramos cron para automatizar la actualización del repositorio cada 10 minutos:

crontab -e 
    */10 * * * * /home/pi/redmine-git-updates.sh

Llegados a este punto cada 10 minutos se actualizarán en la raspberry los cambios producidos en el repositorio de la cuenta de Bitbucket.

Al modificar el proyecto en el Cliente

git add * # Para añadir los cambios
git commit -m "comentario" # Para guardar los cambios
git push # Para subir los cambios al repositorio Bitbucket

Fuentes:

Para utilizar Git en proyectos con Unity3D

Creamos el archivo .gitignore en la raíz del proyecto donde listaremos las excepciones:

vi .gitignore

==============================================================
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/

# Autogenerated VS/MD solution and project files
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj

# Unity3D generated meta files
*.pidb.meta

# Unity3D Generated File On Crash Reports
sysinfo.txt
==============================================================

En el proyecto de Unity, cambiamos las siguientes preferencias del Proyecto:
Edit -> Project Settings -> Editor
Version Control Mode: Visible MetaFiles
Asset Serialization Mode: Force Text
Save

Fuentes:

sábado, 2 de noviembre de 2013

Automatizando shutdown de Host ESXi 5.1

En casa monté un servidor ESXi con un par de máquinas virtuales rodando como centro multimedia y servidor web. El caso es que las utilizo ocasionalmente por lo que no necesito que esten todo el día encendidas. Así que he estado peleandome para hacer más comodo el encendido y apagado tanto de las máquinas como del HOST, Estos son los puntos.

   - Arrancar HOST desde otro PC 
   - Arrancar/apagar máquinas virtuales automáticamente al arrancar/apagar el Host.
   - Apagar el HOST automáticamente.

Arrancar HOST desde otro PC.

Accediendo a la BIOS del HOST activamos la opción WakeOnLan.
Tomamos nota de la dirección MAC en el ESXi.
En otro pc instalamos algún programa de WakeOnLan, yo he utilizado este.
Configuramos los datos del HOST y su dirección MAC en la aplicación.
Con esto ya podemos arrancar el Host desde el otro PC.

Arrancar/apagar máquinas virtuales automáticamente al arrancar/apagar el Host.

En el Cliente vSphere, 
   Seleccionamos el Host.
   Seleccionamos "Configuration".
   Seleccionamos "Virtual Machine Startup/Shutdown".
   Seleccionamos "Properties".
   Marcamos "Allow virtual machines to start and stop automatically with the system".
   Seleccionamos el tiempo de espera entre el arranque/apagado del HOST y el arranque/apagado de las VM.
   Pulsamos "Move Up" hasta que la maquina virtual se coloque en Automatic Startup.
   OK.

Con esto, cuando arranque el Host, pasado el tiempo de espera configurado, arrancaran las Máquinas Virtuales y antes de apagar el Host apagará las máquinas virtuales. 

Apagar el HOST automáticamente.

He encontrado varias páginas sobre el tema, la que más me ha ayudado a sido esta.

La idea es:
   - Detener el servicio crond.
   - Programar el apagado al instante deseado.
   - Relanzar el servicio crond.

El problema esta en que al reiniciar la maquina se resetea el fichero de planificación del crond perdiendo la configuración. Esto lo solucionamos preparando un script que realice automáticamente los tres pasos anteriores en cada arranque del sistema.

Para realizar todas estas configuraciónes accederemos por SSH.

Si no podemos acceder por SSH tendremos que habilitar el acceso desde el ESXi en:
   Pulsamos F2 "Customize System"
   Seleccionamos "Throubleshooting Options"
   Seleccionamos "Enable ESXi Shell"
   "Enable SSH"

Con esto ya tendremos acceso por SSH. 

Vamos a ello:

Primero le damos permisos de escritura al archivo de planificación del crond para poder editarlo.
>> chmod +w /var/spool/cron/crontabs/root

Editamos el fichero /etc/rc.local.d/local.sh que se encargará de ejecutar nuestras ordenes en el arranque.
>> vi  /etc/rc.local.d/local.sh

Añadimos el siguiente contenido:

# Mata el proceso crond
/bin/kill $(cat /var/run/crond.pid)
# Añade la programación , a las 4:00 se ejecutará el poweroff
/bin/echo "0 4 * * * /bin/poweroff" >> /var/spool/cron/crontabs/root
# Relanza el proceso crond con la nueva configuración
/usr/lib/vmware/busybox/bin/busybox crond

Con esto a las 4:00 se lanza el apagado, empezando por apagar las máquinas virtuales y esperando el tiempo que hemos configurado anteriormente antés de proceder con el apagado del HOST.






jueves, 30 de mayo de 2013

Obtener hosting gratuito I

Hay multitud de webs que ofrecen tanto hosting gratuito como de pago.

Los hosting gratuitos en general tienen limitaciones ya sea por capacidad de disco, capacidad de proceso, ancho de banda, publicidad...
Por lo que siempre será recomendable un hosting de pago para cualquier web que requiera un mínimo de fiabilidad.
Pero podemos utilizar el hosting gratuito como laboratorio para realizar pruebas o maquetar el proyecto antes de pasarlo "a producción".

En esta ocasión vamos a centrarnos en el servicio ofertado por Nixiweb.
Nixiweb nos ofrece servicios de hosting tanto gratuito como de pago.
Vamos a crear una cuenta para disponer de Hosting gratuito.


Lo primero que nos va a pedir es rellenar un formulario con nuestros datos.


Una vez enviado un formulario nos avisa de que nos llegará un correo de validación.


Necesitaremos entrar al correo electrónico y confirmar el registro.


Al validarlo nos redireccionará a una página donde nos ofrecerá varias alternativas para registrar un dominio DNS.
Vamos a registrar un .tk



Tendremos que encontrar un dominio libre, es muy probable que palabras como midominio, mipagina, etc ya esten cogidos, paciencia e imaginación : P .


En el siguiente formulario tendremos que configurar los datos del servidor DNS de nixiweb para que distribuyan el dominio.


A continuación nos pedirá que asociemos el registro a una cuenta de correo/red social.


Nos solicitará los datos de acceso...


...y nos informará de lo que necesita utilizar de nuestra cuenta. 


Llegado aquí tenemos finalizado la parte del dominio.


Volvemos al panel de nixiweb e introducimos el dominio que acabamos de registrar.


Tras unos minutos ya nos aparecerá nuestra cuenta como activa.


Podemos acceder a nuestra web pulsando en el nombre de la cuenta.
Nos direccionará  a una página de bienvenida.


Y si pulsamos en Switch accederemos al panel de control de nuestro Hosting



Con esto ya tenemos abierto nuestro Hosting gratuito.

martes, 2 de abril de 2013

Acceso a Windows 7 sin contraseña

Se trata de una chapucilla para aprovecharse de otra chapucilla de Microsoft ( :P ) con el tema de la accesibilidad de Windows.
En el menú de inicio de sesión podemos ver en la esquina de la pantalla el botón de accesibilidad, esto nos da la opción de lanzar varios programas como la lupa o el narrador, la idea es cambiar estos accesos por un acceso a la consola con lo que podriamos generar otro usuario con los permisos necesarios para acceder al sistema, para ello accederemos con una live (Ubuntu por ejemplo).

Deberiamos localizar el equivalente a la ruta
C:\Windows\System32\Magnify.exe

y renombrarlo por
Magnify.exe.old
mv Magnify.exe Magnify.exe.old
para después hacer una copia del ejecutable de la consola y darle su nombre

C:\Windows\System32\cmd.exe -> Copia -> Magnify.exe

cp cmd.exe Magnify.exe

Con esto ya hemos acabado con la live, arrancamos el sistema con normalidad y al darle en Accesibilidad a la Lupa nos lanzará la consola, con esto ya podemos hacer bastantes cosillas.

Entre ellas crear un nuevo usuario
net user /add usuario
Darle permisos de administrador
net localgroup administradores usuario /add
Y asignarle una contraseña
net user usuario *

con el que ya podremos acceder al sistema.

Otra opción es habilitar el usuario administrador:
net users Administrator /active:yes
Y asignarle una contraseña
net user administrator *


Las pruebas las realice con un Windows 7 virtualizado sobre VMWare ESXi, accediendo directamente a Windows con el usuario administrador (no teniamos live a mano)
y realizando el cambiazo desde el explorador. Al intentar renombrar el Magnify.exe nos devolvió un problema de permisos que no nos permitiá finalizar la operación.

" Se requieren permisos de TrustedInstaller para hacer cambios en este archivo

Para solucionarlo, accedimos a las propiedades del archivo

Fichero
Propiedades
Seguridad
Opciones Avanzadas
Propietario
Vemos que el propieatario actual es TrustedInstaller
Le damos a editar y seleccionamos el grupo Administradores como nuevo propietario
Con lo que ya podremos editar en la pestaña de seguridad los permisos y darle a los administradores control total sobre este archivo.

Via HolaCape en el video del método 2

Para volver a dejarlo todo como estaba:

Eliminamos la copia del cmd renombrada como Magnify.exe
Renombramos Magnify.exe.old a Magnify.exe
en los permisos de este archivo al grupo de administradores les dejamos solo los permisos de Lectura, y Lectura y ejecución.
Y para devolverle el propietario TrustedInstaller deberemos volver a la pestaña propietario de las opciones avanzadas del archivo, y en Otros usuarios o grupos...
Añadir el usuario NT SERVICE\TrustedInstaller.

Más información sobre el TrustedInstaller en Te Ayudo

domingo, 26 de febrero de 2012

La Metamorfosis - Franz Kafka

La Metamorfosis - Franz Kafka
Según la Wikipedia:

La metamorfosis (Die Verwandlung, en su título original en alemán) es un relato de Franz Kafka, publicado en 1915 y que narra la historia de Gregorio Samsa, un comerciante de telas que vive con su familia a la que él mantiene con su sueldo, quien un día amanece convertido en una criatura no identificada claramente en ningún momento.

En mis tiempos de instituto, asistí a una adaptación abstracta de esta obra, que una compañia teatral realizó en mi ciudad. Tras dos horas de actuación, de la historia apenas entendí nada, solo recuerdo los sentimientos que me transmitió y la sensación al terminar esta.
Recuerdo al actor sumido en la impotencia ante la incapacidad de comunicarse, atrapado en un claustrofóbico espacio, y solo, muy solo.
A la salida, pese no haber entendido nada, se apoderaba de mi una profunda sensación de tristeza por lo acontecido, recuerdo haberme enfadado por haber pagado la entrada para salir del pabellón (como vulgarmente se dice) de bajón sin saber muy bien porque.

Estos dias he tenido la oportunidad de leer el relato, entender la historia y relacionarla con aquellas sensaciones.

Como bien dice la wikipedia, trata sobre un comerciante que vive con su familia y un dia se levanta convertido en algo parecido a una cucaracha.

Durante todo el relato vemos como va creciendo la impotencia del protagonista, consciente de la repugnancia que despierta en los demas, incapaz de comunicarse con su familia, que continuamente malinterpretan sus gestos como una amenaza.

¿Qué harías tu si mañana te despertaras convertido en una cucaracha de metro y medio?

jueves, 23 de febrero de 2012

Estudio en Escarlata

Estudio en Escarlata de Sir Arthur Conan Doyle.

Según la Wikipedia:
"Estudio en escarlata" ("A Study in Scarlet") es una novela de misterio escrita por Sir Arthur Conan Doyle y publicada en julio de 1887 por Ward, Lock & Co. Hubo que esperar un año para que fuera publicada esta primera novela de la serie de Sherlock Holmes, y su autor cobraría 25 libras esterlinas por todos los derechos del texto. Se la reconoce por ser la primera de las novelas en las que figura el personaje del detective, que más tarde se convertiría en uno de los mayores iconos de la novela policíaca.

El libro relatado a modo de Diario del Dr. Watson, nos narra como este conoce a Sherlock Holmes y se ve envuelto en uno de sus casos.

Habiendo disfrutado ya en la película, de un Sherlock Holmes tan diferente del poco atractivo estereotipo creado por la TV, me intrigaba como el mismo personaje podía interpretarse tan opuestamente, por lo que me decidí a atajar el problema desde el origen, y ¿cual ha sido mi sorpresa? me ha resultado como ver una secuela más de las aventuras de Robert Downey Jr. y Jude Law en la gran pantalla.

De narrativa ágil, en pocas páginas me encontré, de mano del Dr Watson, ante un excéntrico Sherlock Holmes, el cual nos arrastró, a través de breves capítulos, a uno de sus casos, que con su excepcional sentido de la lógica acabó resolviendo antes incluso de que nos hiciésemos la más ligera idea de lo que había sucedido.

Tres días tardé en devorarlo y porque no pude sacar más tiempo libre.

Recomendable para los que hayan disfrutado con las películas, imprescindible para los apasionados de la lógica.

Estudio en Escarlata. ISBN 9788497700160

miércoles, 22 de febrero de 2012

Zombie - Guía de Supervivencia

Zombie, Guía de Supervivencia de Max Brooks.
Según la wikipedia:
The zombie survival guide (2003), publicada en España como Zombi - Guía de supervivencia (2008), es un manual de supervivencia sobre la posibilidad de una invasión de zombis. Su autor, Max Brooks, establece planes detallados para el ciudadano común para poder sobrevivir a los zombis. La Guía de Supervivencia Zombie también apareció en la lista de Best Seller The New York Times.

Análisis detallado con mucho sentido común de lo que se debe y no se debe hacer ante una visita inesperada de no muertos, que armas utilizar, que equipamiento llevar o hacia donde dirigirse son algunos de los puntos sobre los que nos aconseja. Para finalizar expone una serie de antecedentes zombie a lo largo de la historia, ignorados o presuntamente encubiertos por el gobierno.

En mi opinión, curioso libro, imprescindible en caso de holocausto Zombie. Recomendable si se confía en la posibilidad de cruzarse con un altercado zombie a pequeña escala. A tener en cuenta si no esperas ninguno de los dos casos anteriores pero se tiene curiosidad sobre este tema.

Zombie, Guía de supervivencia. ISBN 9788496756625.