screencast opensource

25 noviembre 2014

Hola lectores , esta vez vengo a compartir un enlace de un post muy bueno donde nos recomiendan para screencast herramientas como :

simplescreenrecorder

-kazam

-vokascreen

Openshot

son herramientas que nos ayudaran mucho a la hora de realizar, tutoriales  y jugar con video .

saludos .

aqui va el enlace.

http://www.moisesbelda.com/screencast-con-herramientas-opensource/

crear un lanzador o shortcut en linux

28 agosto 2014

En este caso vamos a crear un lanzador  en ubuntu de  una aplicacion eclipse.

1-   Abrimos el terminal y ejecutamos el siguiente comando

nano ~/.local/share/applications/eclipse.desktop

luego escribimos lo siguiente

 

[Desktop Entry]

Version=1.0

Name=eclipse

Comment=Launch the eclipse

Exec=/home/username/ADT/eclipse/eclipse

Icon=/home/username/ADT/eclipse/icon.xpm

Terminal=false

Type=Application

Categories=Development;IDE;

 

guardamos el archivo

2.- ejecutamos el siguiente comando

chmod +x ~/.local/share/applications/eclipse.desktop

Compartir Internet de tu Linux a otros PC

25 julio 2014

Hoy les tengo una receta que es archi-conocida, pero que es fácil de olvidar y nunca está demás tenerla en un blog cercano.

La idea es compartir el internet de tu computador (con linux) a otro (con Windows, Linux, Mac, BSD, etc.), con la técnica del NATeo, que viene del término NAT (Network Address Translation).

Bueno, he hecho un pequeño script que hará la tarea más fácil, basta con copiar el siguiente texto a un archivo (por ejemplo: nat.sh)

#!/bin/bash

echo 1 > /proc/sys/net/ipv4/ip_forward

if [ “$#” -ne 2 ]
then
echo “usage: $0 [internal iface] [external iface]”;
fi

if [ “$#” -eq 2 ]
then
ifconfig $1 192.168.21.2 (esta seria la direccion ip para eth0)

iptables -t nat -A POSTROUTING -o $2 -j MASQUERADE
iptables -A FORWARD -i $2 -o $1 -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i $1 -o $2 -j ACCEPT
fi

Luego, le das permisos de ejecución:

chmod +x nat.sh

Para ejecutarlo, en el caso de que tengas internet vía Wi-Fi (interfaz wlan0) y quieras compartirlo por cable (interfaz eth0) ejecutas lo siguiente:

./nat.sh eth0 wlan0

Otra cosa importante es que la interfaz que está conectada al otro computador (en este caso, eth0) tenga configurada una IP y máscara de subred, y que el otro computador tenga configurada una IP en el mismo segmento y el gateway sea la IP de tu interfaz eth0.

¿Muy complicado? Ejemplo:

En el PC que tiene internet configuro la interfaz eth0:

ifconfig eth0 192.168.21.2 netmask 255.255.255.0

En el PC que va a usar el internet compartido, seteas una IP similar, estableces el gateway y configuras el resolv.conf, en este caso con el DNS server de Google:

ifconfig eth0 192.168.21.3 netmask 255.255.255.0
route add default gw 192.168.21.2
echo “nameserver 8.8.8.8” > /etc/resolv.conf

fuente

Usando GIT para gestionar una aplicación o web

23 mayo 2014

La idea de este tutorial es plantear un flujo de trabajo en el cual actualizaremos desde local nuestros proyectos alojados en el servidor por medio de GIT.

SSH KEYS

Para evitar que durante las conexiones entre servidor y local el sistema solicite continuamente la contraseña de acceso vamos como primer paso a establecer la autentificación por medio de keys haciendo que la autentificación sea automática.

Primero generamos en local nuestro par de keys (pulsamos enter hasta llegar al final):

ssh-keygen -t rsa

Y procedemos a copiar nuestra key pública a nuestra cuenta por medio del siguiente comando:

cat ~/.ssh/id_rsa.pub | ssh usuario_cpanel@tudominio.com "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

CONFIGURACION DE INFORMACIÓN PERSONAL

Para que en los commits figure nuestra información (nombre / correo) debemos configurar estos parámetros antes de comenzar a usar GIT

git config --global user.name "Nombre"
git config --global user.email correo@domino.com

CREANDO EL REPOSITORIO EN LOCAL

Si estamos empezando desde 0 podemos hacer lo siguiente:

mkdir web && cd web
git init
echo 'Hola!' > index.html
git add index.html
git commit -m "Pagina principal"

Primero estaríamos creando y accediendo al directorio llamado web, inicializando un repositorio y creando un fichero llamado index.html. Por medio de git add lo añadimos al repositorio y con git commit su correspondiente commit.

Si en cambio ya tenemos un directorio que contiene el proyecto entonces navegamos hacia dicho directorio y hacemos:

git init
git add .
git commit -m "importación inicial"

En la primera lína estamos inicializando el directorio para después añadir todo el contenido de este y realizar un commit general para todos los ficheros añadidos al repositorio.

CREANDO REPOSITORIO REMOTO

Accedemos al servidor vía SSH, si hemos seguido los pasos de la sección SSH Keys no tendremos que indicar nuestra contraseña para acceder correctamente al sistema.

Y creamos e iniciamos el repositorio para nuestro proyecto:

mkdir ~/web.git && cd ~/web.git
git init --bare

Como puedes comprobar hemos creado un directorio fuera de public_html para que la información relativa al control de versiones quede fuera del alcance público y enviaremos los ficheros a public_html (o el directorio deseado) por medio de un hook para dar mayor seguridad.

Para crear este hook debemos:

cd ~/web.git
pico hooks/post-receive

Ahora con el editor abierto introducimos (recuerda hacer las modificaciones pertinentes a la ruta que aparece):

#!/bin/sh
GIT_WORK_TREE=/home/usuario_cpanel/public_html git checkout -f

Por medio de Ctrl+X podemos salir y guardar los cambios en el fichero. Finalmente aplicamos permisos de ejecución.

chmod +x hooks/post-receive

GESTIONANDO LAS ACTUALIZACIONES

Volvemos a nuestro entorno local, primero definiremos el nombre del repositorio remoto, para ello accedemos a nuestro repositorio local y ejecutamos:

git remote add web usuario_cpanel@dominio.com:~/web.git
git push web +master:refs/heads/master

Con el primer comando damos el nombre web al repositorio remoto y actualizamos con nuestros datos almacenados en local. Tras esto podrás ver que el contenido de tu proyecto local ya se encuentra en public_html independiente a la información de git almacenada en web.git fuera del público.

En este caso hemos llamado a nuestro repositorio remoto web de forma que para actualizar los cambios que vayamos realizando en local hacia nuestro servidor haremos:

git push web

Esto enviará nuestros cambios al repositorio remoto donde el hook “post-receive” realizará automáticamente las actualizaciones en nuestro directorio público.

 

fuente : hostsuar

Mcrypt PHP extension required.

4 febrero 2014

Cuando trabajamos con laravel vamos a necesitrar tener esta extension.
en muchos de los casos cuando ejecutamos en consola
php artisan migrate:install
nos va arrojar este mensaje Mcrypt PHP extension required.

el cual requerimos dicha extension y este error lo podemos solucionar de la siguiente manera :

sudo aptitude install php5-mcrypt

sudo apache2ctl restart

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available

sudo php5enmod mcrypt

sudo service apache2 restart

y listo. si todo va muy bn nos debe salir el siguiente mensaje al ejecutar nuevamente en consola .

php artisan migrate:install
Migration table created successfully.

saludos . espero que sea de utilidad .

VirtualHosts con Apache en Ubuntu

28 enero 2014

En un entorno de desarrollo web en Ubuntu, usando Apache, PHP y MySQL, sin utilizar XAMPP, la forma de configuración de los virtualhosts es diferente a como se explico en una entrada anterior. Hay que realizar una serie de operaciones desde el terminal para realizar una configuración completa

No es un requisito, pero es interesante activar el módulo MOD_REWRITE de Apache. Basta con ejecutar solamente una vez el siguiente comando en el terminal:

sudo a2enmod rewrite

Para cada virtualhost que se desee configurar, se deberán hacer los siguientes pasos:

Modificar el archivo “/etc/hosts” del sistema, para que el dominio diriga hacia la propia máquina:

127.0.0.1 laravel-project

En la carpeta /etc/apache2/sites-available crear un archivo para el virtualhost del proyecto:

sudo gedit /etc/apache2/sites-available/laravel-project.conf

Pegar el siguiente contenido:

nota importante : remplazar los parentesis () por los signos mayor y menor que .

( VirtualHost *:80 )
ServerName laravel-project
DocumentRoot /var/www/laravel/public
( Directory /var/www/laravel/public )
( IfModule mod_rewrite.c )
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
( /IfModule )
( /Directory )
( /VirtualHost )

Después hay que informar a Apache del nuevo virtualhost, activandolo con el comando a2ensite:

sudo a2ensite laravel-project.conf

Así, ahora habrá un nuevo link en la carpeta “/etc/apache2/sites-enabled/” apuntando al archivo creado antes.
Finalmente recargar Apache:

sudo /etc/init.d/apache2 reload

luego a la carpeta de tu proyecto laravel le damos permisos y listo .

sudo chown -R www-data:www-data /var/www/

fuente : otroblogmas.com

Instalacion de composer y laravel en ubuntu

22 noviembre 2013

¿Qué es Laravel?

Laravel es un framework de código abierto para el desarrollo de aplicaciones web en PHP 5 que posee una sintaxis simple y elegante.

Características:

Va por la versión 4 publicada en Mayo del 2013.
Creado en 2011 por Taylor Otwell.
Esta inspirado en Ruby and Rail y Symfony, de quien posee muchas dependencias.
Esta diseñado para desarrollar bajo el patrón MVC.
Posee un sistema de mapeo de datos relacional llamado Eloquent ORM.
Utiliza un sistema de procesamiento de plantillas llamado Blade, el cual hace uso de la cache para darle mayor velocidad.

necesitaremos tener instalado un servidor web ,para alojar laravel.

primeramente vamos a instalar composer

Composer es un manejador de dependencias para PHP. Esto quiere decir que Composer va a descargar de sus repositorios todas las librerías y las dependencias con las versiones requeridas que el proyecto necesite y manejarlas en un solo lugar de manera ordenada.

ejecutamos el siguiente comando para obtener composer.

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

luego para tener acceso global lo movemos a la siguiente ruta /usr/local/bin/composer

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

luego para ensayar que todo va bn ejecutamos en la trerminal

$ composer

ya que tenemos instalado composer vamos a descargar laravel y crear nuestro primer proyecto.
nos dirigimos desde la consola a la carpeta /var/www y ejecutamos el siguiente comando .

composer create-project laravel/laravel ubuntu_choco-laravel --prefer-dist

luego de haber bajado laravel nos vamos a la carpeta cd /var/www/laravel/app y le damos permisos storage
chmod -R o+w storage

– tambien podemos darle permiso de esta manera :

    chmod -R 777 app/storage

luego corremos laravel desde nuestro navegador y listo .

localhost/ubuntu_choco-laravel/public

si al ejecutar nos sale un de este tipo

Laravel requires the Mcrypt PHP extension.

se debe realizar lo siguiente :

si usas apache

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/apache2/conf.d/20-mcyrpt.ini
sudo service apache2 restart

o php-fpm (en lugar de apache)

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini

luego habilitamos mods

sudo php5enmod mcrypt

Restart FPM

sudo service php5-fpm restart

y todo debe salir bn , y siendo asi al ejecutar en la url laravel debe decir

You have arrived. =)

Notas Sticky para tu escritorio Ubuntu

18 septiembre 2013

Indicador StickyNotes es un aplicacion simple que se puede utilizar para colocar notas (sticky) en el escritorio de Linux.

es muy util para recordatorios.

Captura de pantalla de 2013-09-18 09:58:52

para instalarla , agregamos el siguiente repositorio :

sudo add-apt-repository ppa:umang/indicator-stickynotes

luego de agregar el repositorio actualizamos :

sudo apt-get update

despues de haber actualizado , instalamos la aplicación

sudo apt-get install indicator-stickynotes

y a disfrutar la aplicación .

ya podrás llegar a tiempo a las reuniones y pagar las facturas en el tiempo destinado😀

Arreglar particiones NTFS en Linux

6 septiembre 2013

Últimamente he tenido problemas a la hora de montar mi Disco Duro Externo USB con partición NTFS en mi Ubuntu 8.10, así que googleé un rato y dí con una utilidad que me arregló el problema.

Se trata de un paquete de utilidades que a la hora de trabajar con particiones NTFS debería ser imprescindible tenerla instalada: ntfsprogs

Este paquete contiene un grupo de utilidades para trabajar con particiones NTFS:

ntfsfix – Arregla errores comunes en el sistema de archivos y fuerza a Windows a comprobar NTFS.
mkntfs – formatea una partición con el sistema de archivos NTFS, haciéndola arrancable opcionalmente.
ntfsinfo – muestra cierta información acerca de una partición NTFS, algún archivo o directorio dentro de él.
ntfslabel – muestra, o configura, una partición NTFS sin pérdida de datos.
ntfsresize – Redimensiona una partición NTFS sin pérdida de datos.
ntfsundelete – Recupera archivos borrados de una partición NTFS.
ntfscluster – encuentra el dueño de algún sector dado o grupo de sectores en una partición NTFS.
ntfscat – concatena archivos y los imprime por la salida estándar (sin montar la partición).
ntfsls – lista el contenido de un directorio de un sistema de archivos NTFS (sin montarlo).
ntfscp – sobreescribe archivos en una partición NTFS.
ntfsclone – clona eficientemente un sistema de archivos NTFS o parte de él.
ntfsmount – monta una partición NTFS desde el espacio de usuario usando libntfs y FUSE.
ntfsdecrypt – Descifra archivos NTFS cifrados (NO INCLUIDO).
ntfscmp – Compara dos volúmenes NTFS y dice las diferencias.

Para instalarlo basta con que hagamos:

$ sudo aptitude install ntfsprogs

La utilidad para reparar la partición que me daba problemas que utilicé fue ntfsfix que con tan solo el siguiente comando lo resolveremos todo.

$ sudo ntfsfix /dev/particion

fuente: http://www.k4ch0.org/arreglar-particiones-ntfs/

Configurar SSL en Ubuntu 10.04 en Apache 2

31 agosto 2012

Requisitos: tener instalado Apache 2.2.14.
Para verificar la versión de tu apache, entramos a la consola y escribimos:
apache2 -v

El paquete que se necesitara para SSL para trabajar tendrá que ser instalado. Se supone que el servidor web ya está instalado, configurado y funcionando. Si no, hay muchas guías en Internet que explican eso.

Escriba en consola el siguiente comando para instalar openssl:
sudo aptitude install openssl

Crear un certificado de solicitud de firma:
El primer paso es generar una clave. Para generar la solicitud de firma de certificado (CSR), cree una clave (por ejemplo, server.key).

Ejecute el siguiente comando en una terminal para crear la clave:
openssl genrsa -des3 -out server.key 4096

Ahora tenemos que escribir una frase clave para nuestro server.key. Trata que sea una mezcla entre números, caracteres especiales y letras. Es muy recomendable esta forma.
Luego te va a volver a pedir la frase clave y volve a escribir la misma.

Escriba en la consola:
openssl genrsa -out server.key 4096

Aparecerá esto:
Generating RSA private key, 4096 bit long modulus
……………………………………………………………………..
…………………………..++
………………………………….++
e is 65537 (0x10001)

Asegúrese de que el archivo server.key sólo es legible por el root y escriba en la consola:
sudo chmod 400 server.key

Para verificar el nombre DNS o la dirección IP de nuestro servidor, nos dirigimos:
sudo nano /etc/apache2/httpd.conf

En caso si no hay nada escrito escribimos:
ServerName ProyectosBeta

OBS:
Para este ejemplo configuramos a nuestro ProyectosBeta, pero podes hacerlo para cualquier dominio. Este nombre nos sirve para completar el Common Name que nos pedirá en el siguiente paso.

Después que se crea la clave, la solicitud de firma de certificado (CSR) se crea con la llave y ejecute el siguiente comando en la consola:
openssl req -new -key server.key -out server.csr

Se requerirá la siguiente información y lo completamos:
Nombre País (Country Name): PY
Estado o Provincia (State or Province Name): Asuncion
Locality Name: Asuncion
Nombre de la organización (Organization Name): ProyectosBeta
Nombre de la Unidad de Organización (Organizational Unit Name): ProyectosBeta
Nombre común (debe coincidir con el nombre de dominio por ejemplo ProyectosBeta) (Common Name): ProyectosBeta
Dirección de correo electrónico (Email Address): josego85@gmail.com
Desafío Contraseña (Challenge Password)(vacío nomas):
Nombre de la empresa (Company Name) (vacío nomas):

Si el Common Name no coincide con el nombre DNS o la dirección IP del servidor web, el cliente recibirá una “falta de coincidencia de dominio” de error. Además, los valores predeterminados para las instrucciones se almacenan en /etc/ssl/openssl.cnf.

Creación y obtención de un Certificado
Entramos a la consola y escribimos:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Aparecerá esto:
Signature ok
subject=/C=PY/ST=Asuncion/L=Asuncion/O=ProyectosBeta/OU=ProyectosBeta/CN=ProyectosBeta/emailAddress=josego85@gmail.com
Getting Private key

Una vez que este todo correcto, el certificado se creará y se almacena en el archivo server.crt.

Instalando los archivos de certificado y la clave
Para instalar el certificado y los archivos de clave, escriba en la consola:
sudo mkdir /etc/apache2/ssl/
sudo cp server.crt /etc/apache2/ssl/
sudo cp server.key /etc/apache2/ssl/

Luego borramos las claves que creamos en el directorio actual.
Ojo: del directorio actual y no en el que acabamos de crear. (/etc/apache2/ssl/).
Escribimos en la consola:
sudo rm server.crt server.csr server.key

Activar SSL en Apache
Para habilitar el módulo SSL en Apache, escriba en consola:
sudo a2enmod ssl

Y aparecerá esto en la pantalla:
Enabling module ssl.
See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
Run ‘/etc/init.d/apache2 restart’ to activate new configuration!

Habilitar máquinas virtuales SSL en el archivo /etc/apache2/ports.conf y escribimos en consola:
sudo nano /etc/apache2/ports.conf

Agregamos dentro de → NameVirtualHost *:443 y quedaría como muestra abajo.
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
Listen 443

Listen 443

Creación de un host virtual SSL basada en el nombre
Crear un nombre de un host virtual SSL en /etc/apache2/sites-available/.

Escribimos en consola:
sudo nano /etc/apache2/sites-available/ProyectosBeta

Seguramente no aparecera nada y escribimos lo siguiente:

ServerAdmin josego85@gmail.com
ServerName ProyectosBeta
DocumentRoot /var/www/

Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all

ErrorLog /var/log/apache2/ProyectosBeta_ssl.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/ProyectosBeta_ssl-access.log combined

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown

Ojo:
Tenemos que tener creada la carpeta pruebaSSL y dentro de ahí un index.php (de prueba).
Esto es para probar nuestro https.

Habilitar el sitio dentro de Apache y escribir en la consola:
sudo a2ensite ProyectosBeta

Aparecerá lo siguiente por pantalla:
Enabling site ProyectosBeta.
Run ‘/etc/init.d/apache2 reload’ to activate new configuration!

Para activar los cambios reiniciamos Apache y escribimos en la consola:
sudo service apache2 restart

Para probar el SSL en nuestro sitio escribimos en el navegador:
https://localhost/pruebaSSL

Te va a avisar que no es una pagina de confianza, pero como nosotros hicimos el certificado sabemos que lo es. Lo único que debemos de hace es presionar el botón Agregar excepción.

Y esto es todo.😄

FUENTE

luego quiero agregar un detalle que es como forzar apache a utilizar htpps.

nos vamos al arrchivo que tenemos en este caso :
/etc/apache2/sites-available/ProyectosBeta

y agregamos :
abajo de . –Directory /var/www/—


RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
—————— directory/——————————
luego de todo guardamos y escribimos en consola lo siguiente .
a2enmod rewrite

y ahora si resetiamos al apache:

sudo service apache2 restart

——————————-

saludos . By miguel andres casas