Archivo de la etiqueta: debian

Error “Can’t connect to MySQL server error 111”

[singlepic id=28 w=320 h=240 float=right]Al conectarnos a un servidor MySQL desde fuera de la maquina donde esta corriendo, este nos puede devolver el siguiente error “Can’t connect to MySQL server error 111”. Este error indica que el servidor no esta activo, que no esta ejecutándose o que no esta escuchando peticiones por el puerto que le hemos indicado, normalmente desde el puerto 3306. Esto puede ser que el servidor este caído o que el puerto no sea el correcto, pero cuando hacemos una comprobación desde el propio servidor, este funciona correctamente y el puerto por donde esta esperando las peticiones es el correcto.

Pero desde fuera del propio servidor nos sigue dando el error de conexión, esto puede estar provocado por un parámetro de la configuración del MySQL, que le indica que solo escuche peticiones por el localhost o 127.0.0.1. Para solucionar este problema deberemos editar el fichero de configuración del servidor MySQL.

sudo vi /etc/mysql/my.cnf

Buscamos el parámetro “bind-address” que tendrá como parámetro por defecto 127.0.0.1. Cambiaremos esta dirección por la ip que tenga nuestro servidor, por ejemplo 192.168.0.254. Con este cambio, nuestro servidor ya sera accesible desde cualquier ordenador que este dentro de la misma red. Si lo que queremos es que este accesible desde Internet, en vez de poner la dirección de la red local, pondremos la dirección de nuestra ip publica.

Una vez hecho el cambio, grabamos los datos y reiniciamos el servidor MySQL para que la nueva configuración pueda tener efecto.

sudo service mysql restart

Con esto ya tenemos solucionado el error de acceso de conexión.

Instalar comando SUDO en un servidor Debian

Cuando estamos trabajando con un servidor en LInux (ya sea Debian, Redhat o cualquier otra distribución) lo normal es hacerlo mediante un usuario normal, sin que tenga los permisos de Root, pero en algunos momentos necesitamos utilizar comandos que si necesitan que tengamos los permisos  de administrador, para solucionar este problema tenemos varias opciones:

  1. nos salimos, o abrimos otra consola, y nos conectamos como Root, un poco engorroso.
  2. Podemos utilizar el comando “SU”, nos permite cambian al usuario Root, todos los comandos que ejecutemos desde ese momento lo haremos como administrador, hasta que nos salgamos. Tiene los mismos riesgos que si nos conectamos con Root.
  3. Utilizar el comando “SUDO”.

Utilizar el comando “SUDO”

La opción mas habitual es la de utilizar el comando “sudo”, este comando nos permite ejecutar un solo comando con los permisos de administrador. Pero si estamos en un servidor Debian tenemos un problema, el comando sudo no viene instalado por defecto, pero si esta disponible en los repositorios, por lo que solo tendremos que instalarlo de la siguiente manera.

apt-get install sudo

Eso si, como para poder instalar cualquier programa tendremos que estar identificados como root, ya sea con una terminal con permisos de root o haber ejecutado anteriormente el comando “su”.

Una vez que ya tenemos instalado el comando, solo nos queda acceder al fichero de configuración de sudo y agregar los usuarios que queremos que tengan acceso al comando. Para ello editamos el fichero “/etc/sudoers” y nos desplazamos hasta la opción “User privilege specification” donde agregamos una linea por cada usuario que queramos darle el permiso para poder utilizar el programa.

usuario ALL=(ALL) ALL

Guardamos los cambios, y ya tenemos el comando sudo listo para su uso.

Instalar servidor web Lighttpd en Debian

[singlepic id=26 w=320 h=240 float=right]

Lighttpd es un servidor web donde la característica principal de este, es su menor uso de cpu y memoria, lo que le hace perfecto para entornos donde, necesitamos una gran velocidad de proceso o donde las características del servidor no son muy buenas. En mi caso quería un software que corriera con relativamente fluido en un mini ordenador que tengo, la mejor opción que encontré fue esta.

Para instalar este servidor bajo una distribución Debian, podemos hacerlo mediante los típicos repositorios.

sudo apt-get install lighttpd

Con esto ya tenemos instalado nuestro servidor Lighttpd, para probar que la instalación ha sido correcta solo tenemos que abrir un navegador e introducir:

http://localhost

o

http://127.0.0.1

Pero solo con esto no haremos mucho, por lo que ahora pasaremos a instalar Mysql y Php5 para darle mas potencia al sistema.

Para instalar Mysql, tendremos que escribir el siguiente comando

sudo apt-get install mysql-server mysql-client

En la instalación de MySql nos va ha pedir la contraseña que queremos darle al usuario “root” de MySql, no confuncir con el “root” del sistema, no son el mismo usuario, por lo que deberemos de darle una contraseña distinta, para no tener problemas que sabiendo una nos puedan acceder a la otra cuenta.

Y ahora solo nos queda instalar Php5 con el siguiente comando

sudo apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json

Para hacer funcionar el php en una versión básica no hace falta instalar todos estos módulos, pero si son recomendables para que despues no nos surja algún fallo provocado por la falta de alguno de ellos.

Una vez instalados php y mysql solo nos queda probrar que la instacion ha sido correcta. Creamos un fichero dentro de la carpeta de servidor web

vi /var/www/info.php

He insertamos la siguiente linea

 <?php 
    phpinfo(); 
?>

Grabamos el fichero y cerramos el editor. Abrimos el fichero que hemos creado en un navegador

http://localhost/info.php

Y si nos aparece una pagina como esta, la instalación a sido correcta.

[singlepic id=25 w=320 h=240 float=center]

Si no funcionara podemos seguir los siguientes pasos. Editamos el fichero de configuración de php.

sudo vi /etc/php5/cgi/php.ini

Y añadimos las siguiente linea

cgi.fix_pathinfo = 1

Grabamos el fichero y salimos del editor. Ahora solo nos queda modificar el fichero de configuración del Lighttp

sudo vi /etc/lighttpd/lighttpd.conf

Buscamos la opción “server.modules” y añadimos “mod_fastcgi”,  (comillas y coma del final incluido. Nos tendra que quedar de la siguiente forma mas o menos

server.modules = (       
	"mod_access",     
	"mod_alias",       
	"mod_compress",       
	"mod_fastcgi",       
	"mod_redirect",
#      "mod_rewrite"
)

Vamos al final del fichero y añadimos las siguientes lineas.

fastcgi.server = ( ".php" => ((
    "bin-path" => "/usr/bin/php5-cgi",
    "socket" => "/tmp/php.socket",
    "max-procs" => 1,
    "bin-environment" => (
            "PHP_FCGI_CHILDREN" => "4",
            "PHP_FCGI_MAX_REQUESTS" => "1000"
        ),
    ))
)

Grabamos el fichero y salimos. Solo nos queda reiniciar el servidor de Lighttp

service lighttpd restart

Si todo ha salido bien y el fichero de configuración no tiene ningún error nos mostrar algo parecido a esto

[ ok ] Stopping web server: lighttpd.
[ ok ] Starting web server: lighttpd.

Si al reiniciar el servidor nos muestra algún error, leer el mensaje y solucionar el problema que nos indique.

Y con esto ya tenemos nuestro servidor web Lighttp instalado.