Instalación de Laravel 5 en Ubuntu

Instalación de Composer

$ curl -sS https://getcomposer.org/installer | php

$ sudo mv composer.phar /usr/local/bin/composer

Instalación de Laravel

$ composer global require "laravel/installer=~1.1"

Actualizar el PATH para incluir la herramienta de laravel.

$ vi ~/.bashrc

    PATH=$PATH:~/.composer/vendor/bin/

Creación de un nuevo proyecto

$ laravel new nuevo-proyecto

Verificar la versión de Laravel instalada.

$ cd nuevo-proyecto

$ php artisan -V

Ejecución del servidor web embebido para desarollo

$ php artisan serve

Acceder al proyecto desde un navegador web y el URL http://localhost:8000.

Para utilizar esta funcionalidad de artisan debe tenerse instalado mcrypt.  En caso de no contarse con esta librería seguir los pasos a continuación.

$ sudo aptitude install php5-mcrypt

$ sudo php5enmod mcrypt

Recursos

Instalar un cliente de torrent en la Raspberry Pi con Transmission en Raspbian

Introducción

Transmission_logoLa idea general consiste en implementar un cliente de Torrent que se ejecute continuamente en una Raspberry Pi y sea administrable a través de una interfaz web.

Como cliente torrent se eligió Transmission ya que se ha tenido una buena experiencia con Deluge pero desafortunadamente su cliente web actualmente no es compatible con los navegadores móviles.  La interfaz web de Transmission es mucho mas simple.

Establecer el punto de montaje del almacenamiento

El almacenamiento de los archivos (descargados y en proceso de descarga) se realizará en una unidad USB que deberá ser montada automáticamente bajo /media/storage1.

Identificar cual es el dispositivo que referencia la unidad USB que se utilizará como almacenamiento.  En este caso será /dev/sda1.

$ sudo fdisk -l

Disk /dev/mmcblk0: 3904 MB, 3904897024 bytes
4 heads, 16 sectors/track, 119168 cylinders, total 7626752 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000981cb

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          122880     7626751     3751936   83  Linux

Disk /dev/sda: 32.5 GB, 32463912960 bytes
255 heads, 63 sectors/track, 3946 cylinders, total 63406080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005d951

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    63406079    31702016   83  Linux

Obtener el UUID de la partición a montarse automáticamente.

$ sudo blkid /dev/sda1

/dev/sda1: LABEL="storage1" UUID="12c4ff69-21a4-5c24-b126-98982b207782" TYPE="ext4

Actualizar el archivo de montaje automático de particiones (fstab) con la información de la partición contenida en la unidad USB de almacenamiento (ver último registro agregado).

$ sudo vi /etc/fstab

proc            /proc           proc    defaults          0       0 /dev/mmcblk0p1  /boot           vfat    defaults          0       2 /dev/mmcblk0p2  /               ext4    defaults,noatime  0       1

## Storage1
UUID=12c4ff69-21a4-5c24-b126-98982b207782    /media/storage1        ext4    rw,user,errors=remount-ro    0    0

Crear el punto de montaje donde se seguirá montando la unidad USB.

$ sudo mkdir /media/storage1

$ sudo chown pi:plugdev /media/storage1

$ sudo chmod 755 /media/storage1

Remontar todas las particiones para que se incluya la recién creada para storage1.

$ sudo mount -a

Instalación de Transmission

$ sudo aptitude install transmission-daemon

Configuración incial

Detener el servicio.  Se debe tener en cuenta que si no se realiza esto, los cambios que se realicen en la configuración serán desechados durante la siguiente ejecución del servicio.

$  sudo service transmission-daemon stop

Editar el archivo de configuración de Transmission.

$  sudo vi /etc/transmission-daemon/settings.json

Ajustar los siguientes valores según las necesidades del contexto.

 "download-dir": "/media/storage1/downloaded",
 "incomplete-dir": "/media/storage1/downloading",
 "incomplete-dir-enabled": true,
 "rpc-password": "MiClaveSecreta",
 "rpc-port": 4040,
 "rpc-url": "/transmission/",
 "rpc-username": "torrents",
 "rpc-whitelist": "127.0.0.1,192.168.1.*",
 "rpc-whitelist-enabled": true,

En este caso se está estableciendo la siguiente configuración.

  • Los archivos ya descargados se almacenarán en downloaded mientras que los ya descargados se almacenarán en downloading.
  • El acceso web se realizará a través del puerto 4040 de la ubicación de la tarjeta Raspberry Pi.
  • Para acceder a la interfaz web se deberá utilizar el usuario torrents y la contraseña MiClaveSecreta.  Este acceso sólo será válido desde localhost o desde cualquier equipo de la red 192.168.1.x.
  • La contraseña (especificada en el campo rpc-password de manera plana) será reemplazada por su hash tan pronto como se reinicie el servicio.

Crear los directorios para las descargas en proceso y las finalizadas según se determinaron en la configuración.

$ sudo mkdir /media/storage1/downloaded

$ sudo mkdir /media/storage1/downloading

$ sudo chown debian-transmission:debian-transmission /media/storage1/downloaded

$ sudo chown debian-transmission:debian-transmission /media/storage1/downloading

$ sudo chmod 755  /media/storage1/downloaded

$ sudo chmod 755  /media/storage1/downloading

Reiniciar el servicio para que los cambios de la configuración recién hechos sean tenidos en cuenta.

$  sudo service transmission-daemon start

 

Instalando Raspbian en una tarjeta SD utilizando Linux

Introducción

raspbian Para utilizar la Raspberry Pi es necesario contar con un sistema operativo compatible con procesadores ARM instalado en la tarjeta SD.  Raspbian (basado en Debian) y ArchLinux son dos de las distribuciones mas utilizadas actualmente.

Para la instalación de Raspbian existen diferentes métodos como el uso de Noobs que facilita la instalación del sistema operativo en la tarjeta SD especialmente para las personas con poca experiencia con Linux, el Raspbian Installer o directamente desde el sistema operativo.

En esta guía se realizarán los pasos necesarios para instalar Raspbian en una tarjeta SD utilizando únicamente las herrmientas provistas por el sistema operativo Linux.  Si se utiliza Windows es posible reemplazar el uso de dd por Win32 Disk Imager para transferir la imagen a la tarjeta.

Obtener Raspbian

Raspbian - Debian Wheezy
Descargar la imagen mas reciente de Raspbian desde el sitio de descargas oficial de RaspberryPi.  En este caso se utilizó la versión Debian Wheezy de enero de 2014.  Visite el enlace para obtener información de la versión mas reciente.

$ wget http://downloads.raspberrypi.org/raspbian_latest

Verificar que el paquete obtenido haya sido descargado correctamente.  Para hacer esto compare el valor obtenido a continuación con el especificado en la página de descarga (SHA-1).

$ sha1sum 2014-01-07-wheezy-raspbian.zip

9d0afbf932ec22e3c29d793693f58b0406bcab86  2014-01-07-wheezy-raspbian.zip

Descomprimir el paquete descargado para obtener la imagen del sistema operativo.

$ unzip 2014-01-07-wheezy-raspbian.zip

Copiar el sistema operativo a la tarjeta SD

Identificar claramente el dispositivo que corresponde a la tarjeta SD donde desea instalar el Raspbian. Tener en cuenta que todo el contenido de este medio de almacenamiento será borrado así que se debe estar muy seguro de cual se escoge.

$ sudo fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
[... omitida ...]

Disk /dev/sdc: 3904 MB, 3904897024 bytes
121 heads, 62 sectors/track, 1016 cylinders, total 7626752 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000981cb

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            8192     7626751     3809280    c  W95 FAT32 (LBA)

En este caso el dispositivo donde se encuentra la tarjeta SD es /dev/sdc.

Realizar la copia de la imagen de Raspbian a la tarjeta SD escogida.  Modifique el valor del parámetro of mostrado a continuación según corresponda con su tarjeta SD.

$ sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/sdc bs=4M

$ sudo sync

Ya está lista la tarjeta SD para ser insertada en la RaspberryPi y ejecutar desde ella el sistema operativo.

Recuerde que por defecto el nombre de usuario es pi y su contraseña es raspberry.

Configuración inicial

Una vez iniciado Raspbian por primera vez se ejecutará su configuración inicial (raspi-config).  Ver Configuración inicial de Raspbian.

Recursos

Instalación de Windows XP en un netbook desde una unidad USB

Introducción.

Instalar Windows XP en una netbook (portátil liviano sin unidad de DVD) desde una memoria USB no fue tan fácil y placentero como fue la instalación de Windows 7.  Después de algunas pruebas estos fueron los pasos que se siguieron.

Crear la unidad USB de instalación.

Para crear la unidad USB de instalación se utilizó WinToFlash.  Este procedimiento es muy simple, sólo se debe especificar cual es la unidad en la que se encuentran los archivos (CDROM) de instalación de Windows y cual es la unidad (USB) hacia la cual se realizará la copia.

Instalación del sistema operativo.

Una vez creada la unidad USB de instalación se debe iniciar el sistema desde ella y realizar normalmente los pasos de instalación de Windows XP.

Corregir el inicio de la unidad USB.

Finalizada la instalación del sistema operativo se intenta reiniciar y falla mostrando un error relacionado con la falta de archivos del sistema, comúnmente hal.dll.  Esto aparentemente se debe a que el instalador consideró a la unidad USB  como primer disco y al disco duro real como segundo, generando estas referencias incorrectas en el archivo boot.ini.

Para corregir esto es necesario editar este archivo y modificar la referencia a la partición en la que buscará al sistema operativo durante su inicio.  Por facilidad (para mi) utilicé un Linux (Peppermint) que inicia desde LiveUSB que casualmente tenía preparado para otra prueba.  En el ambiente Windows  imagino que se requerirá de un disco de arranque que permita acceder a través de la consola de texto a los comandos básicos del DOS.

Este es un ejemplo de boot.ini en el que se supone que hay un Windows XP Home Edition instalado en la primera partición del primer disco duro del equipo (como habitualmente sucede).

[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS=”Microsoft Windows XP Home Edition” /fastdetect

El parámetro rdisk (marcado en rojo) es el que se genera incorrectamente y aparece inicialmente con el valor de 1 (segundo disco duro).

Cambiar la ruta de los archivos de instalación.

Una vez superado el problema anterior el sistema operativo deberá iniciar sin problemas.  De manera opcional elegí copiar los archivos del sistema operativo al disco duro del netbook para que estén disponibles si se hace necesaria la instalación de algún componente adicional sin que se necesite insertar nuevamente la unidad USB preparada al comienzo de este procedimiento.

Para lograr esto además de copiar físicamente los archivos del CDROM de instalación al un directorio del disco duro, es necesario actualizar la referencia que tiene el sistema operativo de esta ruta.  Para hacer esto se debe ejecutar el programa regedit (hágalo como Administrador si obtiene problemas de permisos) y acceda a la siguiente rama en el panel izquierdo.

HKEY_LOCAL_MACHINE > Software > Microsoft > Windows > CurrentVersion > Setup.

Ubicado en esa rama identifique la variable SourcePath en el panel derecho y modifique su valor a la ruta absoluta donde se encuentra el directorio i386 de los archivos de instalación de Windows: c:instaladoreswindowsxpi386 en mi caso específico.