martes, 1 de abril de 2014

Ubuntu: configurar el teclado español por la consola

Buenas a todos!
En muchas ocasiones, cuando trabajamos sobretodo con ubuntu server instalado en máquinas virtuales VMWare, nos podemos encontrar con que las teclas de nuestro teclado no se corresponden con los carácteres que se muestran. Esto suele deberse a que por defecto tiene configurado el mapeo de teclados en inglés, donde no hay ñ.
Para poder usar nuestro teclado español sin problemas, sólo tenemos que ejecutar la siguiente instrucción:

sudo loadkeys es

Y con esta simple instrucción se soluciona el problema!
Un saludo a todos!

MySQL: crear un usuario con todos los privilegios en MySQL

Buenas a todos!
Crear un usuario administrador con todos los privilegios en MySQL desde la consola puede seros muy útil. Con este usuario podréis conectaros desde el MySQL Workbench, o directamente para trabajar a través de la consola, o simplemente para conectaros desde los servidores web.

mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;


Hecho esto, ya podemos conectarnos empleando el usuario "admin" y con el password "password".

Espero que os sea útil! Un saludete!

Ubuntu: configurar servidor FTP en ubuntu server

Buenas a todos!
El programa que vamos a emplear como servidor ftp es vsftp, en un Ubuntu server.
Lo instalamos de la siguiente forma:
sudo apt-get install vsftpd
En el sistema operativo tenemos un usuario local llamado ftp_user, y queremos conectarnos con él a través de un cliente ftp.

El archivo de configuración de vsftp es /etc/vsftpd.conf y he fijado los siguientes atributos y valores:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list


Creamos el archivo que contendrá la lista de usuarios del ftp:
nano /etc/vsftpd.chroot_list

Y añadimos el usuario ftp_user.
#Usuarios
ftp_user


Para aplicar los cambios reiniciamos el servidor:
sudo /etc/init.d/vsftpd restart

Ahora vamos a añadir los permisos de escritura para el usuario ftp_user sobre los directorios del tomcat:

sudo usermod -a -G www-data ftp_user -a: el usuario se añadirá al grupo.
-G: el grupo al que se añadirá el usuario.
La instrucción hace que el usuario ftp_user se añada al grupo www-data.

sudo chgrp -R www-data /var/lib/tomcat7 -R: indica que el cambio será recursivo, afectará a los archivos y directorios recursivamente.
chgrp hace que el grupo propietario del directorio tomcat7 y sus subdirectorios archivos sea www-data.

sudo chmod -R g+w /var/lib/tomcat7 -R: indica que el cambio será recursivo.
g+w: significa que al grupo ("g") le añadimos ("+") el permiso de escritura ("w").

Y eso es todo! Con esto ya podréis subir archivos desde cualquier cliente FTP como FileZilla!
Espero que os sea útil!

jueves, 27 de marzo de 2014

HTML crear un link a la página principal, enlace a la home

Buenas a todos!
Para crear un link a la Home o a la página principal sólo hay que indicar la dirección como "/", esto indica al navegador que el enlace va al dominio principal:

<a href="/">Home</a>

Y ya está!

PHP: Problema session_start()

Buenas a todos!
Hay varias razones por las que session_start() puede generar problemas, la más común es debido a la codificación de carácteres del archivo .php en cuestión, si trabajamos con UTF-8, hay que asegurarse de que sea una codificación UTF-8 sin BOM, ya que de lo contrario se añaden unos carácteres antes de la declaración de session_start() y eso genera un error.

Los errores que suele indicarnos el servidor son:
Warning: Cannot modify header information - headers already sent by ...
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent ...

Para ver qué codificación está usando nuestro archivo php, podemos emplear el Notepad++.
En la pestaña Codificación podemos cambiar la codificación de nuestro archivo a UTF-8 sin BOM.

Esto debería solucionar vuestro problema en caso de que fuera un tema de codificación.

Tened en cuenta de que session_start() debe ser la primera línea que escriba en el fichero php, ya que escribe los headers, no podéis poner ninguna instrucción de tipo echo antes que session_start(), eso también puede generar este tipo de errores.

Un saludo a todos!

miércoles, 19 de marzo de 2014

PHP: Borrar una variable de la sesión

Buenas a todos!
Borrar variables de la sesión en PHP puede ser algo muy importante, sobretodo en portales donde se deben reestablecer los valores iniciales del portal, o bien durante las etapas de desarrollo en las que debemos hacer pruebas constantes.

Por ejemplo, supongamos que tenemos una tienda virtual y hemos ido acumulando productos en una variable de sesión llamada 'cart', y una vez el cliente realiza el pago final debemos eliminar esta variable para que pueda volver a comprar. Evitando que se acumulen los nuevos artículos con los productos del pedido anterior.

unset($_SESSION['cart']);

Así de simple, unset nos permite eliminar variables específicas, en este caso le indicamos la variable de sesión 'cart'.

Ahora si comprobamos si está la variable en sesión con isset(), veremos que el resultado es false.

isset($_SESSION['cart']) dará como resultado false.

Un saludo a todos!

Comprobar si una variable existe en JavaScript

Comprobar si una variable existe o está definida en JavaScript puede es muy simple:

if(typeof variable == 'undefined'){
   //La variable no ha sido definida
}else{
   //La variable existe
}


Es importante diferenciar entre declaración de la variable y definición. La variable puede estar declarada pero no definida, lo que significa que no se le ha asignado ningún valor.

var variable;

if(typeof variable == 'undefined'){
   //La variable no ha sido definida
}else{
   //La variable existe
}


Esto indicará que la variable es undefined.
Así que realmente lo que comprobamos es si la variable está definida, ya que la variable puede existir pero no tener ningún valor asignado, en cuyo caso está no definida.

Un saludo a todos!