24 Oct 2018

Error al acceder a phpMyAdmin desde Plesk Onyx con Linux

Después de una actualización de Plesk Onyx nos podemos encontrar con el siguiente error al intentar acceder al phpMyAdmin de cada suscripción:

Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

session_start(): open(SESSION_FILE, O_RDWR) failed: No such file or directory (2)

session_start(): Failed to read session data: files (path: ./tmp/session)

Error al acceder a phpMyAdmin desde Plesk Onyx con Linux

A nosotros nos ha ocurrido en un Servidor Debian con Plesk Onyx Versión 17.8. y con MySQL 5.6.41.

Esto ocurre porque no existe la carpeta ./tmp/session o porque los permisos de escritura no están bien configurados. Lo que hace particular la solución de este problema en Plesk es la ruta en la que está phpMyAdmin. Para solucionarlo:

Es menos probable, pero si no existe la carpeta tmp la creamos y le cambiamos los permisos:

mkdir /opt/psa/admin/htdocs/domains/databases/phpMyAdmin/tmp
chmod 1733 /opt/psa/admin/htdocs/domains/databases/phpMyAdmin/tmp

Una vez hemos creado o comprobado que existe la carpeta tmp, creamos dentro de la misma el directorio session y ajustamos los permisos:

mkdir /opt/psa/admin/htdocs/domains/databases/phpMyAdmin/tmp/session
chmod 1733 /opt/psa/admin/htdocs/domains/databases/phpMyAdmin/tmp/session

Si este mismo error ocurre en un entorno que no use Plesk Onyx, la solución para por hacer lo mismo que hemos realizado en este tutorial, pero en la carpeta de instalación de phpMyAdmin (por ejemplo en /var/www/phpMyAdmin). Y si en lugar de un servidor basado en Debian, nos encontramos con un servidor basado en Red Hat (como CentOS) el directorio es ./tmp/sessions

Comparte
18 Oct 2013

Geolocalizar un listado de IPs con Perl

El otro día un cliente nos hizo el encargo de obtener los países a los que pertenecían un listado de IPs de un log. Bueno, pues usamos cualquier servicio de geolocalización de IPs y solucionado. El problema vino cuando el archivo tenía miles de IPs, de modo que era inviable hacerlo a mano. Así que para estos casos PERL viene de PERLas.
Bien, lo primero es tener instalado PERL en nuestra distribución de Linux favorita (sí, PERL se programa en Linux ^_^). Y mediante CPAN instalamos el módulo IP-Country, desde una terminal:

loquesea@loquesea:~$ sudo perl -MCPAN -e shell 
loquesea@loquesea:~$ install IP::Country

El archivo de entrada será un simple txt con una IP por cada línea, por ejemplo:

106.10.85.67
109.166.128.6
109.174.113.164
111.243.39.145
112.134.171.139
...

Y el código PERL:

#!/usr/bin/perl
use IP::Country::Fast;

my $ips= "ips.txt"; #Archivo de entrada con una IP en cada línea
my $paises="paises.txt"; #Archivo de salida con el número de IPs por país

open (ENTRADA,"<$ips") or (die "ERROR: No puedo abrir el fichero $ips\n"); 
open (SALIDA,">$paises") or (die "ERROR: No puedo abrir el fichero $paises\n");

my $reg = IP::Country::Fast->new();
my %hashPaises; # Hash contador de veces que aparece cada país

while (){ #Recorremos línea a línea
  $ip=$_; 
  chomp $ip; #Eliminamos el salto de línea
  $pais = $reg->inet_atocc($ip); #Obtenemos el país asociado a la IP
  $hashPaises{$pais}++; #Sumamos el contador de país 
  #print SALIDA ($ip."\t".$pais."\n"); #Si quisieramos imprimir cada IP a qué país pertenece, en mi caso eran demasiadas
}

foreach $pais (sort {$hashPaises{$a} <=> $hashPaises{$b} } keys %hashPaises){ #Imprimimos cada país con su cantidad de ocurrencias ordenado de menor a mayor
     print SALIDA "$pais $hashPaises{$pais}\n";
}

close ENTRADA;
close SALIDA;

Le damos permisos de ejecución, y lo ejecutamos:

loquesea@loquesea:~$ chmod 777 geolocaliza.pl
loquesea@loquesea:~$ ./geolocaliza.pl

Y la salida de nuestro programa se escribirá en paises.txt:

DE 9
VN 11
IN 17
UA 18
ES 21
US 22
BY 23
RU 31
...

Comparte
14 Oct 2011

¿Por qué WordPress nos pide los datos de conexión para actualizar?

Una de las características más importantes de WordPress es que nos permite actualizar el core e instalar y actualizar nuevos plugins automáticamente. Para poder realizar estos cambios WordPress comprueba si puede acceder al sistema de ficheros.

Un problema muy habitual es que WordPress no puede acceder al sistema de ficheros directamente y esto nos da como resultado la petición de datos de conexión para poder hacerlo:

¿Cómo solucionar esto?
Leer más

Comparte
13 Ago 2011

Instalar phpScheduleIt

Como ya os contamos en el post anterior, phpScheduleIt es una aplicación Web libre para la gestión de reservas de usuarios, en este post os vamos a explicar todo lo necesario para instalarlo.

1. Requisitos

  • PHP 4.3.0 o superior
  • Base de Datos soportada por PEAR (MySQL es lo más recomendable)

2. Descargar la aplicación

Para instalar la aplicación, lo que primero que tenemos que hacer es descargar el programa. Vamos a www.php.brickhost.com y lo descargamos, al ser una aplicación Web no hay versiones para cada sistema operativo. Una vez descargado el programa, creamos una carpeta llamada phpscheduleit y descomprimimos la aplicación dentro de esa carpeta. Después, copiamos la carpeta phpScheduleIt en la carpeta donde tengamos nuestro servidor:

  • Si estamos en Linux: normalmente /var/www/html/
  • Si estamos en Windows y usamos XAMPP: normalmente c:\xampp
  • Si estamos usando un Hosting: lo subimos a la raíz del hosting Leer más
Comparte

© 2010 Ruvic Soluciones Informáticas

Subir