Problema con VMware y Ubuntu 16.10 (GCC 6)

Despues de actualizar Ubuntu a la versión 16.10 Yakkety con el Kernel 4.4.0 y al iniciar VMware, me encuentro con un error de que no puede encontrar la librería GCC versión 5.3.1 ya que la actualización la cambio a GCC version 6.1.1 20160724 (Ubuntu 6.1.1-10ubuntu11)

vmware-gcc-problem

La solución es compilar los módulos de vmmon y vmnet con la última versión GCC y el nuevo Kernel.
Lo primero es descargar una versión del VMware Workstation Player 12.0 (esa es la que yo tengo actualmente) para descomprimir y compilar los módulos.

En esta página lo descargamos: https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0

Después ejecutar los siguientes pasos (todo como Root)

chmod +x VMware-Player-12.1.1-3770994.x86_64.bin
./VMware-Player-12.1.1-3770994.x86_64.bin -x temp
tar xf ./temp/vmware-vmx/lib/modules/source/vmmon.tar
tar xf ./temp/vmware-vmx/lib/modules/source/vmnet.tar

Lo que hacemos con el -x temp, es descomprimir el .BIN, para despues, descomprimir los módulos vmmon y vmnet, lo siguiente es iniciar la compilación (asegurate de tener las librerias de compilación: sudo apt-get install build-essential linux-headers-generic )

cd vmmon-only
make
cd ..

cd vmnet-only
make
cd ..

Y por último copiamos lo compilado a la carpeta de módulos del Kernel actual

mkdir /lib/modules/`uname -r`/misc
cp vmmon.o /lib/modules/`uname -r`/misc/vmmon.ko
cp vmnet.o /lib/modules/`uname -r`/misc/vmnet.ko
depmod -a
/etc/init.d/vmware restart

vmware-restart

Y listo! ya debe de funcionar, ahora, si actualizamos el Kernel, debemos de seguir estos pasos, hasta que se tenga una solución automatizada.

Error 500 con Nginx+Chroot+PHP5-FPM+PhpMyadmin

Despues de hacer la instalación de Nginx y PHP5-FPM con Chroot (Jail) e instalar MySQL PhpMyAdmin la página me daba un error 500.

Investigando veo que el problema esta en la siguiente línea del archivo library/common.inc.php de PhpMyAdmin.

date_default_timezone_set(@date_default_timezone_get());

El problema está en que la función date_default_timezone_get() y todo se debe a que no se tienen los archivos necesarios para buscar la timezone del servidor, como lo muestra el log de nginx

[error] 12058#0: *13 FastCGI sent in stderr: “PHP message: PHP Fatal error: date_default_timezone_get(): Timezone database is corrupt – this should *never* happen! in /var/www/phpmyadmin/libraries/common.inc.php on line 276” while reading response header from upstream, client: 111.111.111.111, server: miservidor.com, request: “GET /phpmyadmin/ HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “miservidor.com”

La solución es instalar la timezonedb con PHP-PEAR ( pecl ), procedemos con el siguiente código:

apt-get install php-pear php5-dev
pecl install timezonedb
echo ‘extension=timezonedb.so’> /etc/php5/mods-available/timezonedb.ini
ln -sf /etc/php5/mods-available/timezonedb.ini /etc/php5/fpm/conf.d/30-timezonedb.ini
service php5-fpm restart

Y listo!!.. ya debe de funcionar correctamente la página de PhpMyAdmin

No LDAP support for PHP, ¿como activar la librería?

Estoy probando la librería adLDAP en PHP con Codeigniter y al momento de ingresar a la página me marca un error de que no se cuenta con soporte para LDAP.

Fatal error: Uncaught exception ‘adLDAP\adLDAPException’ with message ‘No LDAP support for PHP. See: http://www.php.net/ldap’ in C:\xampp\htdocs\sistema\application\libraries\adLDAP\adLDAP.php:606

Lo más extraño es que en el archivo de configuración php.ini, si esta habilitada la DLL de php_ldap.dll

extension=php_ldap.dll

Se reinicia XAMPP y nada de nada, el mismo error.

La solución es copiar estos 3 archivos al directorio de c:\windows\system\ los cuales estan dentro de c:\xampp\php\

libeay32.dll
libsasl.dll
ssleay32.dll

Una vez copiados a la carpeta system de Windows, reiniciamos Apache y listo!!!, ya tenemos el módulo LDAP activado.

ldap

LDAP Support enabled
RCS Version $Id: 6de334df54b2b93e6a633c353cfca7412b9a37cd $
Total Links 0/unlimited
API Version 3001
Vendor Name OpenLDAP
Vendor Version 20433
SASL Support Enabled

Codeigniter: Only variable references should be returned by reference

Después de actualizar mi versión de PHP a la 5.6.4 mis paginas en Codeigniter me mostraban este error:

A PHP Error was encountered
Severity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257

La solución esta en modificar la linea 257 que esta en el archivo system/core/Common.php en donde veremos algo asi:

return $_config[0] =& $config;

Y remplazar por este codigo:

$_config[0] =& $config;
return $_config[0];

Listo!! adiós a la noticia en PHP.

Linux: Reactivar Control+ALT+Retroceso para reiniciar servidor X en Linux

Por si no sabias, puedes reiniciar tu servidor X presionando las teclas “Ctrl+Alt+Retroceso”, de que sirve, pues cuando esta trabado todo todo, al reiniciar el servidor X puedes casi siempre volver a la normalidad y volver a iniciar sesión.

Ahora, si por alguna razón no funciona esta combinación de teclas (en las ultimas versiones de Ubuntu por ejemplo, no sirve), aquí esta la forma de volver a activar esta opción.

En la terminal escribir:

sudo dpkg-reconfigure keyboard-configuration

Te van a aparecer muchas opciones, puedes ignorar todas.., excepto cuando llegue a la parte que te dice:

Por omisión la combinación Control+Alt+Retroceso no hace nada. Si lo desea, puede utilizarse para terminar el servidor X.

¿Desea utilizar Control+Alt+Retroceso para terminar el servidor X?

Despúes, activar la opción de SI, y listo!…, a probar el comando (todo lo que tengas abierto se cerrara en automático)

En sublime text 3 no puedo escribir acentos

He instalado Sublime text en linux (ubuntu 14.10) y no me permite escribir palabras acentuadas, siempre agrega la apostrofe al inicio de la palabra y no arriba de ella: Como por ejemplo: Jos´e.

La solución es modificar la configuración “Key Bindings” del SublimeText., para eso entramos a:

Preferences > Key Bindings – Users

Y pegamos el siguiente texto en el archivo de configuración, guardar y listo!!!!.

[
// missing accented characters fix for ubuntu 14.10

// a, [á, å, ä]
{ “keys”: [“´”,”a”], “command”: “insert”, “args”: {“characters”: “á”}},
{ “keys”: [“°”,”a”], “command”: “insert”, “args”: {“characters”: “å”}},
{ “keys”: [“¨”,”a”], “command”: “insert”, “args”: {“characters”: “ä”}},

// A, [Á, Å, Ä]
{ “keys”: [“´”,”A”], “command”: “insert”, “args”: {“characters”: “Á”}},
{ “keys”: [“°”,”A”], “command”: “insert”, “args”: {“characters”: “Å”}},
{ “keys”: [“¨”,”A”], “command”: “insert”, “args”: {“characters”: “Ä”}},

// e, [é, ë]
{ “keys”: [“´”,”e”], “command”: “insert”, “args”: {“characters”: “é”}},
{ “keys”: [“¨”,”e”], “command”: “insert”, “args”: {“characters”: “ë”}},

// E, [É, Ë]
{ “keys”: [“´”,”E”], “command”: “insert”, “args”: {“characters”: “É”}},
{ “keys”: [“¨”,”E”], “command”: “insert”, “args”: {“characters”: “Ë”}},

// i, [í, ï]
{ “keys”: [“´”,”i”], “command”: “insert”, “args”: {“characters”: “í”}},
{ “keys”: [“¨”,”i”], “command”: “insert”, “args”: {“characters”: “ï”}},

// I, [Í, Ï]
{ “keys”: [“´”,”I”], “command”: “insert”, “args”: {“characters”: “Í”}},
{ “keys”: [“¨”,”I”], “command”: “insert”, “args”: {“characters”: “Ï”}},

// o, [ó, ö]
{ “keys”: [“´”,”o”], “command”: “insert”, “args”: {“characters”: “ó”}},
{ “keys”: [“¨”,”o”], “command”: “insert”, “args”: {“characters”: “ö”}},

// O, [Ó, Ö]
{ “keys”: [“´”,”O”], “command”: “insert”, “args”: {“characters”: “Ó”}},
{ “keys”: [“¨”,”O”], “command”: “insert”, “args”: {“characters”: “Ö”}},

// u, [ú, ů, ü]
{ “keys”: [“´”,”u”], “command”: “insert”, “args”: {“characters”: “ú”}},
{ “keys”: [“°”,”u”], “command”: “insert”, “args”: {“characters”: “ů”}},
{ “keys”: [“¨”,”u”], “command”: “insert”, “args”: {“characters”: “ü”}},

// U, [Ú, Ů, Ü]
{ “keys”: [“´”,”U”], “command”: “insert”, “args”: {“characters”: “Ú”}},
{ “keys”: [“°”,”U”], “command”: “insert”, “args”: {“characters”: “Ů”}},
{ “keys”: [“¨”,”U”], “command”: “insert”, “args”: {“characters”: “Ü”}},

// y, [ý, ÿ]
{ “keys”: [“´”,”y”], “command”: “insert”, “args”: {“characters”: “ý”}},
{ “keys”: [“¨”,”y”], “command”: “insert”, “args”: {“characters”: “ÿ”}},

// Y, [Ý, Ÿ]
{ “keys”: [“´”,”Y”], “command”: “insert”, “args”: {“characters”: “Ý”}},
{ “keys”: [“¨”,”Y”], “command”: “insert”, “args”: {“characters”: “Ÿ”}}
]

Lo que hace esta configuración es detectar el apostrofe + la letra y convertirla a la letra con acento.

WordPress: Como actualizar wordpress y plugins sin necesidad de contar con FTP o SFTP

Si en tu servidor web donde tienes instalado worpress no cuentas con una conexión FTP o no la quieres agregar en la configuración de wordpress, pero al momento de quere actualizar cualquier plugin o versión de wordpress te solicita información de tu conexión FTP y te marca el error:

Ha sido imposible conectar con el servidor FTP localhost:21

Existe una solución para que todo este proceso lo haga directamente en los archivos de wordpress, solo se necesita agregar la siguiente linea en el archivo de configuración wp-config.php , lo pueden agregar hasta el final del archivo.

define(‘FS_METHOD’,’direct’);

Y listo!, cuando actualicen, ya no solicitará información de la conexión

rkhunter: Warnings y más warnings

Estoy escaneando en busca de troyanos y rootkit mi servidor Debian con la aplicación rkhunter, y en el log veo que tengo diferentes warnings en archivos del sistema como por ejemplo:

/usr/sbin/adduser [ Warning ]
/usr/bin/lwp-request [ Warning ]
/bin/which [ Warning ]

Y por ejemplo el adduser el warning indicaba que apuntaba a un archivo de perl , entonces para no ponerme paranoico investigue sobre lo sucedido y veo que falta agregar un parametro en el archivo de configuración de rkhunter: /etc/rkhunter.conf, como estoy utilizando debian (ubuntu) falta agregar esta línea:

PKGMGR=DPKG

Eso indica que las validaciones se harán con dpkg y entonces vualaa! ya no más warnings en estos archivos.

Sudo no funciona, error en el archivo sudoers

Al querer ingresar como root con el comando sudo me marca un error de que la sintaxis es incorrecta en el archivo sudoers, y probando con su root no deja entrar entonces, ¿como puedo tener acceso como root?

monitor@ubuntu:/home$ sudo su –
sudo: >>> /etc/sudoers: syntax error near line 22 < << sudo: parse error in /etc/sudoers near line 22 sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin

monitor@ubuntu:/home$ su –
Password:
su: Authentication failure

1.- Tener acceso fisico y arrancar el GRUB y montar la partición como un solo usuario y despues poder modificar el archivo sudoers, en mi caso no tengo acceso fisico ni forma de ver el GRUB remotamente.

2.- Utilizar este truco, con este comando: pkexec visudo y poner la clave de root

monitor@ubuntu:~$ pkexec visudo
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/sbin/visudo’ as the super user
Authenticating as: ubuntu-prueba,,, (usuario)
Password:

Y vualaaaa!, aparece el archivo de configuración, buscamos la línea 22 y vemos la error de sintaxis, lo arreglamos y listo 🙂

Al actualizar de Windows 8 a Windows 8.1 error por permisos de administrador

Al actualizar desde la store de microsoft para windows 8 a la nueva versión 8.1, marca error de que se necesita un usuario de tipo administrador para continuar con la instalación, lo curioso es que solamente se cuenta con 1 usuario y es tipo administrador.

Entonces el truco consiste en eliminar la actualización KB2871389 reiniciar el equipo y después intentar.
Si por algo sigue sin funcionar despues de eliminar, tenemos que borrar la cache de la store de microsoft con el siguiente comando: wsreset.exe
Se encuentra en c:/windows/system32/ por si no funciona desde ejecutar, y listo, volver a intentar.