Archivo

Archivo del autor

Apuntes de GIT

git config –global user.[name|email] “<nombre|correo@>”

WorkDir -> Staging Area -> Local Repo [ -> RemoteRepo]
\                                                    /
Rama -> rama v1 -> ramav2

  • git init Crea la carpeta .git en la carpeta donde se este (directorio de trabajo)
  • git add [-A|”file”]
    • Añade todos los archivos del proyecto (A) o file al staging area (area intermedia donde se analizan los
      cambios) salvo los archivos contenidos en .gitignore
  • git commit -m “<mensaje>”
    Añade los archivos que están marcados en el staging area como modificados al repositorio local
    git rm [“file”]
    Elimina file de la zona de staging
    git checkout [id]
    Regresa a la versión identificada por id o cambia a la rama id
    git status Lee el estado de los cambios de archivos
    git log Lee los commits hechos hasta el momento.
    git reset [soft|mixed|hard]
    Regresa a la versión anterior
    soft: solo cambia el commit
    mixed: cambia el commit y staging area
    hard: cambia el directorio de trabajo, el staging area y el commit.
    git branch [-d][rama]
    crea una nueva rama. Usar con git checkout rama
    -d borra la rama

git merge [rama]
fusiona la rama con master. Hacer esto desde master.

git remote [add alias [url|ssh]]
vincula repositorio local con el remoto

git fetch
bajar cambios del repositorio remoto

git push [alias][rama]
subimos cambios del repositorio local

git clone
clona un repositorio

Expresiones Regulares en PHP

Funciones PHP

preg_match
Nos permite evaluar si un string hace match con una expresión regular. Por ejemplo, para validar un email haríamos lo siguiente

function verificar_email($email)
{
   if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$email))
   {
      return true;
   }
   return false;
}

Otros ejemplos interesantes pueden ser:
1. verificar si un password es seguro

function verificar_password_strenght($password)
{
   if (preg_match("/^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$/", $password))
      echo "Su password es seguro.";
   else
      echo "Su password no es seguro.";
}

2. Verificar el fomato de una IPv4

function verificar_ip($ip)
{
   return preg_match("/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" .
"(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/", $ip );
}

3. Verificar formato de número telefónico en EU

function verificar_telefono_eu($telefono)
{
   $regex = '/^(?:1(?:[. -])?)?(?:\((?=\d{3}\)))?([2-9]\d{2})'
.'(?:(?$0', $text);
}

preg_replace

Busca un patrón y si hace match se sustituye éste por un remplazo definido como una cadena o simplemente la re ordenación de datos dentro del patrón mediante retroreferencias. Éstas son simplemente una sintaxis para hacer referencia a los matches que ocurrirán al ejecutar una expresión regular. Por ejemplo, para convertir una fecha en formato YYYY/MM/DD a formato DD/MM/YYYY podemos utilizar retroreferencias:

function cambiar_formato_fecha($fecha)
{
   return preg_replace("/([0-9]{4})\/([0-9]{2})\/([0-9]{2})/i","$3/$2/$1",$fecha);
}

Refiriéndose $1 al primer match ([0-9]{4}) y así sucesivamente. Entonces esta función busca un patrón de fecha YYYY/MM/DD y lo cambia a DD/MM/YYYY.

Categorías:Desarrollo, PHP Etiquetas: ,

Mi Media Center

Mi media center consiste en un dispositivo silencioso, y disponible en cualquier momento (no hay que encenderlo cada vez que se quiera usar), así como con capacidad suficiente para reproducir cualquier película (por su formato, o tamaño) además de otros tipos de archivos multimedia.

Para ello he seleccionado una raspberry pi 2/3 modelo B, ya que no tiene ventilador (silencioso) y con su procesador es capaz de reproducir películas incluso en HD. Pero como en un pequeño ordenador todo no es el hardware, he decidido instalar; tras diversas investigaciones sobre velocidad y rendimiento; OpenElec. Este software es una distribución linux preparada y optimizada para ejecutar kodi (antiguo xbmc) como escritorio. Tiene algunas limitaciones como no poder cambiar la versión de kodi a voluntad, pero entre nosotros…no hace falta. Bien, pues vamos a ello….

Openelec

Lo primero es descargar Openelec desde aqui. Debemos seleccionar la opción de Raspberry 2/3 builds y dentro de esta sección el fichero “DiskImage” (img.gz). El fichero “update” se usa cuando solo queremos actualizar nuestro Openelec ya instalado (se copia la imagen en la carpeta Update y se reinicia).

Una vez descargada la imagen hay que copiarla a una microSD (cuanto más rápida mejor class10 p.e y al menos de 16Gb, aunque 8 también valen). Para realizar esta copia, se puede seguir las instrucciones de esta wiki, claro que a mi desde linux no me funciono


gunzip -d imagen.img.gz

parted -l (para saber donde está la SD, normamente /dev/mmcblk0)

sudo umount /dev/mmcblk0

sudo dd if=imagen.img of=/dev/mmcblk0 bs=4M

sudo sync

y desde windows es más simple (descoprimir la imagen gz con 7zip y usar Win32diskimager para “copiar” la imagen a la microSD).

Una vez realizado todo este proceso, conectar la Rpi a la tele por HDMI, a la red por ethernet (recomendable por velocidad) y por último a la corriente (recomendado cargador de al menos 2A, pero mejor 3A). Openelec arracará con un asistente. Para controlar la Rpi podemos instalar la app “kore” en nuestro móvil (no se si estará en el apple store) que nos encontrará el kodi muy rápido; o usar un teclado inalámbrico por USB (muy recomendable, al menos de respaldo, porque hay opciones que no funcionan con el kore). No olvidarse de activar SSH y samba en nuestro kodi, lo cual nos proporcionará funcionalidades adicionales. Además otro detalle es usar una IP fija desde el asistente, para que cada vez que se reinicie el kore no tenga problemas de encontrar la Rpi, aunque también se puede lograr mediante consola . Y una vez hecho todo esto….pasamos a configurar Kodi.

Kodi

La configuración de Kodi en mi caso es muy simplista, y se basa sobre todo en algunos addons (plugins) que extienden la funcionalidad de kodi.

Lo primero es ponerlo en español, hora, fecha y ajustar el skin. todo esto se hace desde System -> Appareance:

  • -> International: para el idioma, teclado y formato de fecha/hora
  • ->Skin->ajustes->pantalla principal y addon: configurar la pantalla ppal

Addon Pelis a la carta (link)

Este es el addon estrella, (sobre todo si no tenemos contenido offline) nos permite ver muchísimo contenido online y lo que es más importante…¡en castellano!. Para ello usa diversas páginas (que él llama canales). Algunas páginas usan un registro y en los ajustes de pelis a la carta se podrá añadir este para acceder a nuestro contenido personalizado. También el addon cuenta con numerosos servidores donde se aloja el contenido online, a los cuales se accede a través de los canales.

Para instalarlo se descarga y se puede copiar a la carpeta de descargas de kodi (mediante samba) y luego ya en kodi:

Sistema-> Ajustes->Addons -> Instalar desde zip ->Directorio de inicio->Descargas-> seleccionar addon y listo!

Como explicamos antes los canales basan su contenido en los servidores donde se aloja el contenido, pero a veces la conexión con estos servidores cambia y da un error de “fallo en el conector”, veremos como arreglarlo en el anexo 1.

Addon youtube

Este addon…sin comentarios..

Los addons se pueden instalar desde ficheros zip (como pelis a la carta) o desde repositorios. Los respositorios son urls que contienen otros respositorios y/o addons.

Vamos a añadir el repositorio SuperRepo…

Sistema->Gestor de archivos->Añadir fuente->

  • En nombre pondremos lo que querramos (SuperRepo)
  • y en dirección: http://srp.nu

Sistema->Ajustes->Addons->Instalar desde zip->SuperRepo-><version_kodi(jarvis>->all->instalar el fichero zip

Con esto hemos instalado todos los recursos de SuperRepo (addons, repos…)

Ahora vamos a instalar KaosBox repo, que es donde se encuentra el addon de youtube actualizado (el original de los repositorios de kodi no funciona!)

Sistema->Ajustes->Addons->Instalar desde repositorio->SuperRepo All..->Repositorio de Addons->KAOSbox repo

Sistema->Ajustes->Addons->Instalar desde repositorio->KAOSbox->Youtube

SuperFavourites Repo

Este addon sirve para guardar accesos directos a prácticamente cualquier rincón del programa.

Sistema->Ajustes->Addons->Instalar desde repositorio->Kodi addon repo..->Addons de programa->Super Favourites

Quasar

Este addon es nuevo antes se llamaba Pulsar y se usa para ver torrents online. Se descarga desde el github de su creador  y al instalarlo crea su propio repo conectado a github directamente para las actualizaciones…una maravilla vamos!

Se instala como cualquier zip (descarga e instalar desde zip). Para elegir la versión mirar en:

Sistema->Info del sistema->Hardware->CPU

Anexo 1: reparar servidores de pelis a la carta.

Son muchos los canales y conectores que fallan (el más habitual openload). Para comprobar los fallos podemos:

  • consultar el foro para ver los problemas y en muchos casos obtener las nuevas versiones, aunque es lioso porque hay que navegar por todos los hilos.
  • Acudir al github de desarrollo del plugin donde están las ultimas versiones de todo! (canales, servidores, librerías…). Hay que tener en cuenta la versión de nuestro “kodi” (kodi, mediaplex, boxee, xbmc..) en nuestro caso es el classic (basado en Python)

Una vez obtenidas las versiones adecuadas, hay que copiarlas a su carpeta correspondiente:

  • Para servidores:
    • /storage/.kodi/addons/plugin.video.pelisalacarta/servers
  • Para librerias:
    • /storage/.kodi/addons/plugin.video.pelisalacarta/lib
  • Para canales
    • /storage/.kodi/addons/plugin.video.pelisalacarta/channels

Yo los copio a la carpeta general downloads (accesible por samba) y luego por SSH los copio a su carpeta correcta.

Anexo 2: Servidores

Hay servidores que hay que incluir en la lista negra porque desde españa no se pueden ver:

Allmyvideos

Vidspot

 

Apuntes sobre Arch

Después de unos días con Arch estoy bastante contento, tiene muchas aplicaciones debido a sus 2 sistemas de paquetería y  su ingente documentación debido, supongo, a su amplia comunidad.

Su sistema de paquetería principal es pacman (similar a apt) el cual tiene unos reposistorios y unos comandos:

pacman <comando> [nombre_paquete]

Los comandos son combinables sobre todo los de sincronizar repositorios con el resto.(extraído de sobrebits)

Instalar paquetes

pacman -S “paquete”      #Instala un paquete.
pacman -Sy [“paquete”] #Sincroniza repositorios [e instala el paquete].
pacman -Su                    #Actualiza los paquetes
pacman -Syu                  #Sincroniza repositorios y actualiza paquetes.
pacman -Syyu                #Fuerza sincronización y actualiza paquetes.
(vemos la combinación de comando para actualizar)

Eliminar paquetes

pacman -R “paquete”     #Borra paquete sin sus dependencias.
pacman -Rs “paquete”   #Borra paquete y sus dependencias no utilizadas.

Buscar paquetes

Para buscar paquetes se diferencia la base de datos local y los repositorios:
Desde repositorios:

pacman -Ss <string1> <string2>    #Busca los strings como nombre del paquete o su descripción.
pacman -Si “paquete”   #Muestra información detallada de un paquete.
pacman -Sg “grupo”     #Lista los paquetes que pertenecen a un grupo.

Si sustituimos -S por -Q nos da la misma información pero de paquetes YA INSTALADOS

pacman -Qdt                #Muestra paquetes huérfanos.

Y luego tenemos los paquetes AUR que son unos binarios preparados para compilar e instalar con pacman, para usarlos es necesario instalar:


pacman -S --needed base-devel

El procedimiento es el siguiente:

  • Descargar el paquete AUR (.tar.gz) mediante:
    • la interfaz web de AUR con algún navegador gráfico o de texto
    • curl, wget, git o cualquier gestor de repositorios…
  • Descomprimir el paquete en un directorio (tar -xvf fichero.tar.gz)
  • Revisar el PKGBUILD y/o *.install en busca de posibles comandos maliciosos
  • Ejecutar dentro del directorio:
     makepkg -sri 
  • y listo!

Esta manera nos proporciona una cantidad inmensa de aplicaciones.

Existe un gestor de paquetes AUR  que hace más cómodo el proceso anterior llamado yaourt

Para instalarlo:

git clone https://aur.archlinux.org/package-query.git
cd package-query
makepkg -si
cd ..
git clone https://aur.archlinux.org/yaourt.git
cd yaourt
makepkg -si
cd ..

Para usarlo es como pacman (las mismas opciones)

yaourt -h

Y como ejemplo vamos a instalar chrome (extraído de Odomera) en luyaougar de chromium (navegador donde google saca el fuente para chrome, pero obviamente sin su integración) desde un paquete AUR con yaourt.

yaourt -S google-chrome --noconfirm

A lo mejor necesitamos instalar alguna otra dependencia que nos pida yaourt al final de la instalación.

Categorías:Linux, Sistemas Operativos Etiquetas: , , ,

Mi aventura con Arch linux…y su…

Un día, como en otras ocaciones me había ocurrido,  me aburrí de Windows y decidí instalar Linux, esto desencadena un torrente de posibilidades que logré filtrar hasta determinar si instalaba Debian (ya conocida) o Arch Linux (nunca instalada). Después de leer infinidad de páginas la conclusión es que las dos están muy bien, pero Arch es más ligera debido a que no instala paquetes adicionales (algunos innecesarios) y además el rolling release y no freeze release, es decir, que se actualiza a las últimas versiones. Por estas razones y por la novedad de aprender algo nuevo decido Arch y es aquí donde empieza mi aventura.

Un vez con la distro en una unidad USB

dd bs=4M if=/archiso.iso of=/dev/sdxx

arranco desde la misma (el root no tienen pass) y el primer problema que encuentro es la distribución del teclado que cambiamos con

loadkeys es

luego surge otra duda, EFI vs BIOS. En este caso EFI es más moderna que BIOS y supera sus limitaciones. Resumiendo (ver este artículo) una EFI necesita un pequeña partición FAT al principio del disco donde se encuentran los archivos necesarios para arrancar los posibles distintos sistemas operativos para esa máquina o gestor de arranque para EFI, pero (me adelanto un poco y luego retrocedo hasta este punto) tras varios intentos instalando Arch mi EFI decía que no reconoce la partición vfat de la EFI (oO) (posiblemente por que le dí sólo 200Mb en lugar de 300Mb como dice el artículo), así que cuando la desesperación superó a la desmotivación active el modo Legacy (BIOS y no EFI) y lo instale de forma convencional (usando BIOS).

Nota: tener en cuenta que el disco tiene que estar configurado (antes de particionar) en GPT para EFI o en msdos para BIOS

Y continua la aventura. Como no tengo ni idea de Arch me base en este tutorial que resumo a continuación pero que es importante ojear.

Bien, una vez particionado el disco (recomiendo familiarizarse con parted) procedemos a montar las particiones en la carpeta /mnt. Ojo con la jerarquía, según el esquema de particiones elegido, ya que /boot suele ser la primera partición (sda1) y el raíz (/) la segunda (sda2)(En este caso montar sda2 en mnt y luego crear las carpetas para montar boot y home, por ejemplo).

Necesitamos una conexión a internet para la descarga de los paquetes, si tienes una red cableada el demonio dhcpcd se inicia automáticamente, pero si tienes una conexión inalámbrica debes ejecutar wifi-menu para configurar tu red inalámbrica (utilidad fantástica donde las haya).

Ahora descargamos los paquetes:

pacstrap /mnt base base-devel

como ya tenemos el esquema de particiones logrado y montado sobre /mnt generamos nuestro fstab

genfstab -U /mnt > /mnt/etc/fstab
-U - es para que coja los UUID de los discos.

como no hemos hecho demasiadas configuraciones salvo la red wifi copiamos la configuración de ésta a nuestro directorio

cp -r /etc/netctl /mnt/etc

y situamos nuestra carpeta como inicio para trabajar sobre nuestro Arch

arch-chroot /mnt /bin/bash

Ajustamos la configuración regional y de idioma

Descomentamos la linea correspondiente en /etc/locale.gen (es_ES.UTF-8) y ejecutamos:

locale-gen

Creamos /etc/locale.conf

echo LANG=es_ES.UTF-8 > /etc/locale.conf

Para hacer persistente en nuestra instalación el comando loadkeys es creamos el archivo /etc/vconsole.conf

echo LANG=es > /etc/vconsole.conf

Ahora seleccionamos el uso horario creando un enlace simbólico desde /usr/share/zoneinfo/<Zona>/<SubZona> a /etc/localtime

ln -s /usr/share/zoneinfo/Greenwich /etc/localtime

Procedemos ahora a configurar las redes

pacman -S NetworkManager netctl dialog iw wpa_supplicant
systemctl enable dhcpcd
systemctl enable netctl
systemctl enable NetworkManager
echo <nombreMaquina> > /etc/hostname

Si solo vamos a tener un sistema operativo no hace falta gestor de arranque pero siempre es interesante. Como nos hemos decantado por BIOS/MBR

Instalamos grub y os-prober (para hacer que GRUB busque otros sistemas operativos instalados):

pacman -S grub os-prober

El gestor de paquetes de Arch instala grub en el sistema pero no en la partición:

grub-install --recheck /dev/sda

Generamos automáticamente el archivo grub.cfg:

grub-mkconfig -o /boot/grub/grub.cfg

Y por fin salimos de chroot, desmontamos y reiniciamos.

exit
umount -R /mnt
reboot

Si todo ha ido bien (que debería) tendremos un Arch base instalado con conexión de red, pero como a nadie le gusta trabajar en modo texto vamos a instalar un entorno gráfico (me decante por gnome3 que me parece genial)

Como no queremos trabajar como root creamos un usuario, que nos servirá luego para acceder al entorno gráfico.

useradd phernandez -p

Ahora instalamos el paquete gnome (ver paquetería de Arch)

pacman -S gnome

Una vez instalado le decimos a Arch que arranque el entorno gráfico por defecto, mediante el gestor de sesiones gdm.

systemctl enable gdm

Yo tuve algún problema con las redes porque nunca hice

systemctl enable netctl
systemctl enable NetworkManager

Y ahora toca personalizar o ajustar Gnome 3 (ver)

pacman -S gnome-tweak-tool

Eliminar tiempo de apagado cuando apagamos:

gsettings set org.gnome.SessionManager logout-prompt 'false'

Y listo! a partir de aquí personalizar como deseen aunque hay una serie paquetes recomendables:

dosfstools , ntfstools, gparted, tlp (si la maquina es un portatil),….

espero que les sea de ayuda.

Categorías:Linux, Sistemas Operativos

Mi servidor Linux (raspian)

Empezar por el principio

El servidor se inicia con SSH activado y por defecto el login es pi/raspberry así que la primera tarea es cambiar esto

 passwd 

Luego cambiar la ip por defecto que está en DHCP ver este artículo

Luego procederemos a actualizar los repositorios

sudo apt-get update 

Mejorar el editor vi

sudo apt-get install vim 

Instalar NGINX (ver configurar nginx)

 sudo apt-get install nginx 

Instalar PHP5

 sudo apt-get install php5 php5-fpm php5-cgi php5-mysql php5-curl php5-gd php-pear php5-imagick php5-mcrypt php5-sqlite 

Instalar MariaDB

 sudo apt-get install mariadb-server 

Instalar phpmyadmin

sudo apt-get install phpmyadmin

Para lograr que funcione en NGINX, hay que crear un enlace simbólico en el directorio web:

sudo ln -s /var/lib/phpmyadmin phpmyadmin

Si resulta un error sobre el usercontroller, editar /etc/phpmyadmin/config.inc.php y buscar la linea:

$cfg[‘Servers’][$i][‘user’] = ”;
$cfg[‘Servers’][$i][‘password’] = ”;
ó
$cfg[‘Servers’][$i][‘controluser’] = ”;
$cfg[‘Servers’][$i][‘controlpass’] = ”;

y asegurarse de que los valores estén vacíos.

Para resolver el error SQL1146 al crear tablas o realizar consultar, editar /etc/phpmyadmin/config.inc.php y buscar la linea:

$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';

y sustituirla por:

$cfg['Servers'][$i]['pma__table_uiprefs'] = pma__table_uiprefs’;

Instalar MLDonkey (ver)

apt-get install mldonkey-server

Ahora debemos permitir la entrada de cualquier ip al servidor, para ello usamos y aprovechamos para configurar el usuario de acceso a la interfaz web.


telnet  localhost 4000

set allowed_ips "255.255.255.255"

useradd admin <password>

o podemos modificar /var/lib/mldonkey/downloads.ini para permitir cualquier ip, pero antes debemos parar el servicio (ojo systemd)

sudo systemctl stop mldonkey-server

después editar /var/lib/mldonkey/downloads.ini y en la seccion “allowed ips” añadir:

allowed_ips = [
“127.0.0.1”;
“255.255.255.255”;]

Arrancamos otra vez el server…

sudo systemctl start mldonkey-server

Debido a la que la capacidad de la tarjeta SD donde se encuentra Raspian, no será demasiado grande cambiaremos la ubicación del almacenamiento del servidor. Para no tocar el archivo anterior demasiado (que es muy delicado, la verdad) cambiaremos las carpetas reales por enlaces simbólicos hacia las carpetas que nosotros querramos (las carpetas de descargas podemos unirlas en una sola):

  • /var/lib/mldonkey/incoming/files
  • /var/lib/mldonkey/incoming/directories

este proceso lo repetimos para los temporales (donde se irán acumulando las descargas incompletas en curso):

  • /var/lib/mldonkey/temp

 

Y listo! el servidor esta escuchando en el puerto 4080.

Ver instalar servidor DNS aqui

Nubes personales (Pydio vs owncloud)

Tanto Pydio como Owncloud son nubes personales y las dos cumplen con su cometido. Para mi uso personal prefiero owncloud porque:

  • Aunque Pydio acepta enlaces simbólicos a otras carpetas desde su carpeta de datos (owcloud 8.2 no, pero yo uso la versión 8.1 que si lo hace) se hace complicado de configurar para que lo que subas no lo haga su carpeta raíz.
  • El cliente para android es bastante lento y pobre en opciones de administración.
  • Este cliente no permite compartir contenido con su nube en otras aplicaciones, por lo que hay que subir todo desde el cliente lento.
  • Es complicado crear un repositorio.

Instalar Pydio

Instalar pydio es muy simple, copiar a la carpeta y seguir el asistente de instalación. Necesita una base de datos MySQL

Instalar Owncloud

Es exactamente igual que instalar pydio, tambien requiere de una base de datos mysql. Pero owncloud requiere alguna cosilla más como un host especifico dentro de tu dominio y alguna configuración específica de carpetas. (la configuración está en /config/config.php). Recordar que la versión 8.1 admite enlaces simbólicos. Aunque he decidido instalar la ultima versión que aunque no admite enlaces simbólicos, he resuelto esta situación poniendo los archivos en la estructura de carpetas que la aplicación propone y hacer los montajes de las unidades pertinentes en dicho lugar.

Categorías:Linux Etiquetas: , , , ,

Composer

Es una librería y ejecutable que gestiona otras librerías para PHP. Resuelve las dependencias de las librerías que vayamos a instalar (se descarga todas las librerías necesarias para que funcione la nuestra) y gestiona el autoload de las librería en nuestro proyecto. Además es el sistema elegido para instalar la mayoría de los grandes frameworks actuales, además de un sinfín de librerías que podemos utilizar en cualquiera de nuestros proyectos. Composer debe implementarse en nuestro sistema (por el ejecutable) y nuestro proyecto para poder hacer uso de él.

Para instalar composer en nuestro sistema, primero necesitaremos tener instalar algún paquete con Apache, PHP….pero el procedimiento es muy parecido. Lo primero es acceder a la página de Composer y descargar el ejecutable (Windows – siguiente, siguiente…y listo!) o copiar la URL para la descarga. Ésta descarga se puede realizar mediante curl (utilidad de transferencia de archivos muy potente), o también mediante la el comando de php. En el caso de no tener curl:

sudo apt-get install curl

Luego desde una línea de comando ejecutar el siguiente comando:

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

Sin curl

php -r &quot;readfile('https://getcomposer.org/installer');&quot; | php

Composer se habrá descargado en la carpeta donde estemos actualmente pero deberemos moverlo a una carpeta del sistema, para que ese ejecutable sea global y no tener que estar escribiendo la ruta del mismo todo el tiempo. Este proceso en Windows no es necesario (el instalador lo añade solo al Path).

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

Para instalar Composer en nuestro proyecto debemos de crear en el raíz del proyecto un archivo llamado composer.json (ver sintaxis) que como su extensión indica será en formato json (todo son cadenas “” dentro de objetos JS {}) . No todos los parámetros del enlace son necesarios, los más importantes son:

  • name: nombre del proyecto
  • description: descripcion del proyecto
  • type: project, library…
  • authors: nombre de autor o autores y datos de los mismos [array]
  • require: dependencias del proyecto P.E (“php”: “>=5.3.0”)
    • para buscar librerías para nuestro proyecto (Packagist)
  • autoload: reglas para la carga automática de librerías
    • classmap: array con las carpeta/s  de includes
    • psr-4: especificación de un estándar para el autloading de clases y otras cosas.

Una vez creado el composer.json ejecutamos desde la raiz del proyecto:

composer install

Y se instalarán todas las librerías necesarias, además de crearse las carpetas necesarias de composer en el proyecto (/vendors) y actualizarse solo el autoload del proyecto!

Una última cosa, para que Composer funcione en nuestro proyecto deberemos incluir la siguiente línea en el index o bootstrap de nuestro proyecto:

require 'vendors/autoload.php';
Categorías:Desarrollo, PHP