miércoles, 29 de julio de 2015

Comandos Linux útiles

Aquí les pondré algunos comandos útiles de linux.

1.-  Historial de comandos
$ history
Con este comando podrás ver el historial de los comandos que has utilizado, si esto se combina con el comando "grep" podrás hacer una búsqueda de algún comando que no recuerdes como utilizarlo.
$ history | grep "lo-que-buscas"

2.-  ¿Que pasa en mi linux ?

Para darte una idea de que se esta ejecutando, procesos, demonios, como esta tu memoria (ram & swap), ver los logs, etc. puedes usar el siguiente comando:
$ top
Pero la verdad es que top no se ve muy bonito, si quieres agregarle funcionalidades hay que instalar y ejecutar
$ sudo apt-get install htop
$ htop

 con htop tenemos una mejor vista de los procesos y opciones de teclas para mejorar la gestión.

3.- Saber que paquetes y dependencias en especial tienes

$ dpkg -l | grep "lo que buscas"
con este comando puedes buscar paquetes y las dependencias que tiene dicho paquete.

4.- Algo diferente ...

Con el comando
$ sudo apt-get install cowsay
$ cowsay  hola
 ______
< hola >
 ------
        \   ^__^
         \  (oo)\_______
            (__)\              )\/\
                ||---------w |
                ||               ||

Obtendremos un "vaca" que nos dirá lo que queramos, este comando se puede combinar con otros para obtener otros tipos de resultado utilizando los pipes " | "
$ history | grep "cowsay" | cowsay

lunes, 27 de julio de 2015

Git, eliminar un branch (RAMA)

Cuando ya hayas terminado de tus labores en un "branch (rama)" y tu código ya este como el "master" o al dar el comando
git branch 
Te salen muchos "branchs (ramas)"  que ya no utilizas y quieres eliminarlos, pues con el comando 
git fetch -p    
Eliminaras todos esos "branchs (ramas) que ya no requieras, pero siempre hay uno que se resiste, bueno al menos en mi caso, para poder eliminar esos "branchs"(ramas) persistentes se utiliza el comando  
git branch -d nombre-del-branch

si el branch (rama) se resiste a ser eliminado y tú de verdad quieres eliminarlo a como de lugar  utiliza:
git branch -D nombre-del-branch

Y si quieres eliminar un branch(rama) remoto (en repositorio github, bitbucket etc) el comando el el siguiente
git push origin --delete nombre-del-branch-remoto

Recuerda siempre tener precaución y estar 101% seguro de querer eliminar el branch 

viernes, 24 de julio de 2015

Instalar Koha en un servidor Debina 7.8

En esta entrada pondré el manual para instalar el sistema de gestión bibliotecaria Koha y no morir en el intento.

Antes que nada este manual de instalación esta creado para ser usado en un servidor Debian versión 7.8, es importante mencionar que para esta instalacion se debe de tener acceso a root

1.- Se añaden las claves GPG
wget -q -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
2.- Elegimos la version de Koha que se instalara, en este caso es la estable
echo 'deb http://debian.koha-community.org/koha stable main' | sudo tee /etc/apt/sources.list.d/koha.list
3.- Hacer un update para verificar lo nuevo en los repositorios
sudo apt-get update
4.- Ahora instalamos Koha
sudo apt-get install koha-common
5.- instalamos SQL
sudo apt-get install mysql-server
6.- Editar el archivo /etc/koha/koha-sites.conf
     -Esto es para configurar si se cuenta con un dominio para Koha, de lo contrario se deberán quedar "" vacíos los espacios para el DNS

7.- Se deben de Reiniciar  los demonios de apache
 $ sudo a2enmod rewrite
 $ sudo a2enmod cgi
 $ sudo service apache2 restart
8.- Se remueven los otros sitios de apache para que solo funcionen los de Koha
sudo a2dissite 000-default default default-ssl
9.- Reiniciar apache
$ sudo service apache2 restart
10.- Ahora se deben de crear los esquemas para el uso de Koha, comenzando con la base de datos
sudo koha-create --create-db NombreDeSuBiblioteca
11.- Se edita el archivo  /etc/apache2/ports.conf 
      Aquí se agrega la linea listen 8080 abajo de listen 80
      El puerto 8080 es para la sección administrativa de koha

12.- Ahora con todas las configuraciones hechas, debemos obtener la clave de acceso para la parte administrativa de Koha
sudo xmlstarlet sel -t -v 'yazgfs/config/pass' /etc/koha/sites/[NombreDeSuBiblioteca]/koha-conf.xml
     Con el paso anterior se obtiene la contraseña de acceso a koha, para saber su usuario simplemente agregué koha-NombreDeSuBiblioteca

13.- Si se quiere cambiar el lenguaje a Koha , primero se buscan los idiomas disponibles :

sudo koha-translate --list --available
Después se instala el lenguaje deseado:
sudo koha-translate --install codigo-del-lenguaje

14.- Si todo salio bien ya estará instalado Koha, solo faltaría configurar el inicio para esto es necesario acceder al servicio desde un navegador

Si usaste una dominio propio, acceder al domino, de lo contrario acceder a la ip
  
15.- Solo restaría configurar Koha a las especificaciones de su biblioteca 

Con estos 15 "sencillos" paso (a mi recordar) podrás tener un servidor Koha en linea y listo para funcionar.



jueves, 23 de julio de 2015

Google cloud y App Engine SDK

Bueno, para usar las herramientas de Google como Compute Engine y App Engine, se deben de instalar los SDKs correspondientes.

Aquí los comandos correspondientes para instalarlo en linux, pero también pongo el enlace para hacer las instalaciones en Windows y Mac.

Instalar Cloud SDK

Google Cloud SDK contiene las librerias y herramientas necesarias para el uso de App Engine, Compute Engine, Cloud Storage, BigQuery, Cloud SQL y Cloud DNS.

Descargar e instalar Google Cloud SDK.

curl https://sdk.cloud.google.com | bash

Al terminar la instalación se debe de reiniciar el shell de linux:
exec -l $SHELL
Para el uso de las herramientas de gcloud se debe uno de autentificar/autenticar con el siguiente comando:

gcloud auth login

Enlace y otras instalaciones Aquí (https://cloud.google.com/sdk/)


Google App Engine SDK

Para usar este SDK es necesario descargar el correspondiente SDK que usara nuestra aplicación (Página.appspot.com), en este caso son las instrucciones para usar una aplicación PHP.

Primero se debe descargar el SDK

php : google_appengine_1.9.24

Se descomprime: 
unzip google_appengine_1.9.24.zip 
Se agrega al PATH para su ejecución:
export PATH=$PATH:/path/donde-esta/google_appengine/ 
    nota: Esto solo agrega al PATH hasta el reinicio del Sistema Operativo

 Enlace de instalación de otros SDK Aquí (https://cloud.google.com/appengine/downloads)

¿Que es Google App Engine y Compute Engine?


Hasta hace unos meses no tenia idea de lo que era Google App Engine y Compute Engine, gracias a mi trabajo tuve la oportunidad de trabajar con ellos y descubrir las ventajas que estos servicios te otorgan, cabe mencionar que estos servicios son de pago pero ofrecen versatilidad de precios y hasta en unos caso el uso gratis sin rebasar cierta cuota. 

App Engine. 

Google App Engine es un servicio de alojamiento web que presta Google, este servicio permite ejecutar aplicaciones sobre la infraestructura de Google proporcionado el siguiente dominio, miproyecto.appspot.com, por el momento las cuentas gratuitas tienen un límite de 500 megabyte de almacenamiento permanente y la suficiente cantidad de ancho de banda y CPU para cinco millones de visitas mensuales

Actualmente las aplicaciones Google App Engine se implementan mediante los lenguajes de programación Python, Java, Go y PHP.
 via wikipedia
 
Compute Engine 

Google Compute Engine (GCE) permite a los usuarios crear máquinas virtuales (vm) hospedadas en los servidores de Google, es importante mencionar que este servicio es de paga desde el momento de la creación de la maquina virtual, se cobran por minuto de uso de la VM costando desde los $0.006 dls por una VM michro, hasta los $1.216 dls por una VM con 32 CPUs y 28.8 gb de RAM.

Estas VMs pueden crearse con sistemas operativos de Linux como Ubuntu y Debian Server pero tambien se pueden crear VM con otras distros de linux, Windows Server o con una VM que ya en Virtual Box.

Enlaces :
Ejemplo de pagina con Appengine: ugd.edu.mx 



miércoles, 22 de julio de 2015

Usar Maven3 con un proxy - netbeans

Maven es sensible a uso de proxys para ello hay que hacer configuraciones para poder utilizar los repositorios.

En mi caso yo modifique los siguientes archivos (ubuntu 14.04.2 con netbeans)

/home/(tu usuario)/netbeans-8.0.2/java/maven/conf/settings.xml

/usr/share/maven3/conf/settings.xml

En ambos archivos agregé las configuraciones de mi proxy en la etiqueta de xml llamada <proxies> (La cual hay que descomentar)

<proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>


Con esto podrás usar Maven con un proxy o al menos a mi me funciona =)

Instalar Maven3 en Ubuntu 14.04.2

Aquí el pequeño manual que encontré vía stackoverflow:


Agregar fuentes al source.list

Entorno gráfico:
sudo -H gedit /etc/apt/sources.list

Agregamos las siguientes fuentes:

deb http://ppa.launchpad.net/natecarlson/maven3/ubuntu precise main
deb-src http://ppa.launchpad.net/natecarlson/maven3/ubuntu precise main


Instalar maven3 :


1°:
sudo apt-add-repository -rm ppa:natecarlson/maven3
2°:
sudo apt-get update && sudo apt-get install maven3

Hacer un link simbolico
sudo -ln -s /usr/share/maven3/bin/mvn /usr/bin/mvm

Con los paso anteriores debería estar maven3 correctamente instalado, para corroborarlo se puede usar el comando:
mvn -v
      salida : Apache Maven 3.2.1 (ea8b....


Con eso ya se tiene instalado Maven3 en Ubuntu 14.04.2







martes, 21 de julio de 2015

Git y comando básicos

¿Qúe es Git?

Según Wikipedia:
  1. "Git (pronunciado "guit" ) es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente."

Instalar git  para windows aquí

Inatalar en Linux:
apt-get install git
Otras manera de instalar aquí


Comando basicos de git (Con un repositorio remoto creado en github, bitbucket, etc):
git help comando ó git comando --help
Clonar de repositorio.
git clone url
Cambiar a un branch. 
git fetch && git checkout "nombre del branch o master"

Hacer le comit. 
git commit --all

Descargar los cambios del repositorio. 
git pull nombre del branch o "master"
Subir los cambios al repositorio. 
git push origin "nombre del branch"

Agregar archivos nuevos al arbol del git 
git add "ruta del nuevo archivo dentro del arbol"

Ver los branch
git branch

Borrar branch
git branch -d "nombre del branch"
git fetch -p    < Esto purga todo los branch que ya no existen 




Reiniciar Shell linux

Este comando sirve para reiniciar el shell de linux:

exec -l $SHELL

comando cortesía de Google Cloud Platform