Jump to content

Problema con servicio al cliente "controller=AdminCustomerThreads" al migrar prestashop de servidor a un VestaCp


AntonioMenchon

Recommended Posts

Hola gente. Tras migrar una tienda Prestashop 1.6.1.6 a un nuevo servidor y configurar todo, funciona correctamente, salvo la incidencia de que es imposible acceder a la pestaña de servicio a clientes. Al parecer el fallo no es del controlador, porque lo he reinstalado en el directorio config, procedente de una descarga de prestashop oficial.

 

El correo electrónico funciona correctamente, con una cuenta creada y alojada en el dominio.

 

¿Alguien me puede ayudar a averiguar el fallo?

 

Tras un rato, queda en error 500. He habilitado el modo depuración y no me aparece ningún error en el front... El reporte de logs de apache2 es correcto.

 

Un saludo.

Link to comment
Share on other sites

8 hours ago, ventura said:

Puede ser un problema de PHP y/o variables de entorno, Revisa por ejemplo que tengas instalado en tu servidor la extensión mbstring


php -m

 

Hola Ventura. Sí que lo tengo, adjunto resultado por consola:

 

root@admin:~# php -m
[PHP Modules]
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
pspell
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache


 

Link to comment
Share on other sites

2 hours ago, ventura said:

Revisa también que esté activada


php -i | grep mbstring  


// Multibyte decoding support using mbstring => enabled

también revisa la ubicación de 


php -i | grep session.save_path 

que este en /tmp

Vale, aquí creo que puede estar el problema.

 

al grep de mbstring me arroja esto:

 

/etc/php/7.0/cli/conf.d/20-mbstring.ini,
Zend Multibyte Support => provided by mbstring
mbstring
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.func_overload => 0 => 0
mbstring.http_input => no value => no value
mbstring.http_output => no value => no value
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml)
mbstring.internal_encoding => no value => no value
mbstring.language => neutral => neutral
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value


 

 

Y al segundo, la ubicación es la siguiente:

 

root@aguinautic:~# php -i | grep session.save_path
session.save_path => /var/lib/php/sessions => /var/lib/php/sessions

 

Pero, cómo le indico que lo guarde en /tmp?? 
 

Link to comment
Share on other sites

carpera sessions

hace un tiempo encontré errores con esta carpeta... 
Mismo prestashop tiene su carpeta en /{yourPrestashopPaht}/var/sessions
y lo corregimos en el archivo php.ini o .user.ini dependiendo de tu servidor...
Con esto se nos corrigieron demasiados errores... por razones de privilegios de usuarios de sistema OS… y la carpeta de usuario PrestaShop

 

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

log_errors = On
display_errors = on

error_log = "/{yourPrestashopPaht}/user-error.log"

session.save_path = "/{yourPrestashopPaht}/var/sessions"

de esta forma me pondra los errores php en el archivo user-error.log y las sessiones las pondra en la carpeta de prestashop/var/sessions

agrega esto en uno de los archivos o si lo prefieres en los dos si no sabez cual usa tu systema PHP

 

/{yourPrestashopPaht}/php.ini


o

/{yourPrestashopPaht}/.user.ini

reinicia el servicio de php... y espero te funcione

Edited by Gerardo Martinez G (see edit history)
Link to comment
Share on other sites

1 hour ago, Gerardo Martinez G said:

carpera sessions

hace un tiempo encontré errores con esta carpeta... 
Mismo prestashop tiene su carpeta en /{yourPrestashopPaht}/var/sessions
y lo corregimos en el archivo php.ini o .user.ini dependiendo de tu servidor...
Con esto se nos corrigieron demasiados errores... por razones de privilegios de usuarios de sistema OS… y la carpeta de usuario PrestaShop

 


error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

log_errors = On
display_errors = on

error_log = "/{yourPrestashopPaht}/user-error.log"

session.save_path = "/{yourPrestashopPaht}/var/sessions"

de esta forma me pondra los errores php en el archivo user-error.log y las sessiones las pondra en la carpeta de prestashop/var/sessions

agrega esto en uno de los archivos o si lo prefieres en los dos si no sabez cual usa tu systema PHP

 

/{yourPrestashopPaht}/php.ini


o

/{yourPrestashopPaht}/.user.ini

reinicia el servicio de php... y espero te funcione

Creo que no te entiendo... :(  

 

A ver, tengo Prestashop instalado en un vestaCp, tiene esta ruta:

/home/admin/web/miweb.com/public_html

y dentro de public_html, los archivos de prestashop 1.6 

 

Adapter                    error500.html                log
adminxxxxxxx  error_log                    mails
architecture.md            fonts                        modules
cache                      footer.php                   override
cgi-bin                    google41f6112e733e9252.html  pdf
classes                    header.php                   README.md
config                     images.inc.php               RECOMENDACIONES.pdf
config.codekit3            img                          robots.txt
CONTRIBUTING.md            index.html_                  themes
CONTRIBUTORS.md            index.html-bk                tools
controllers                index.php                    translations
Core                       init.php                     upload
css                        js                           webservice
docs                       LICENSES
download                   localization

Pero si introduzco en /etc/php/7.0/apache2/php.ini lo que dices, con esta ruta:

log_errors = On
display_errors = on

error_log = "/home/admin/web/miweb.com/public_html/user-error.log"

session.save_path = "/home/admin/web/miweb.com/public_html/var/sessions"

 

No funciona :( todo sigue igual.


 

 

 

 

Link to comment
Share on other sites

en un archivo directo en la carpeta de tu prestashop

/home/admin/web/miweb.com/public_html/php.ini
o
/home/admin/web/miweb.com/public_html/.user.ini

E PUSE EL EJEMPLO DE DOS ARCHIVOS, POR QUE HAY SERVIDORES QUE USAN UNO U OTRO... PODRIAS PONER LOS DOS SI NO SABEZ CUAL USA

.user.ini   lleva un punto al inicio

---->>>tienes que reiniciar el servicio php para que tome los nuevos valores

- a mi me funciona este commando estando como usuario root

service php* restart

 

Edited by Gerardo Martinez G (see edit history)
Link to comment
Share on other sites

hace 21 horas, AntonioMenchon dijo:

Tras un rato, queda en error 500. He habilitado el modo depuración y no me aparece ningún error en el front... El reporte de logs de apache2 es correcto

ok considero y por lo que has escrito... 

el error 500 lo ve visto demaciado por  privilegios de archivos y folders.

ejecuta esto dentro del folder perstashop logico sin el $

$ cd /home/admin/web/miweb.com/public_html/
$ find . -type f -exec chmod 644 {} \; 
$ find . -type d -exec chmod 755 {} \;

y lo peor, es que usen el usuario root para configurar el servidor y ese mismo usuario lo uses para poner archivos en la web...
Usuarios root solo configuraciones de servidor sin tocar nada de archivos del folder que este en la web
usuario normal es el que modifica todos los archivos de public_html

Edited by Gerardo Martinez G (see edit history)
Link to comment
Share on other sites

4 hours ago, Gerardo Martinez G said:

en un archivo directo en la carpeta de tu prestashop

/home/admin/web/miweb.com/public_html/php.ini
o
/home/admin/web/miweb.com/public_html/.user.ini

E PUSE EL EJEMPLO DE DOS ARCHIVOS, POR QUE HAY SERVIDORES QUE USAN UNO U OTRO... PODRIAS PONER LOS DOS SI NO SABEZ CUAL USA

.user.ini   lleva un punto al inicio

---->>>tienes que reiniciar el servicio php para que tome los nuevos valores

- a mi me funciona este commando estando como usuario root


service php* restart

 

O yo no te entiendo, o a mí no me funciona... sorry

Link to comment
Share on other sites

4 hours ago, Gerardo Martinez G said:

ok considero y por lo que has escrito... 

el error 500 lo ve visto demaciado por  privilegios de archivos y folders.

ejecuta esto dentro del folder perstashop logico sin el $


$ cd /home/admin/web/miweb.com/public_html/
$ find . -type f -exec chmod 644 {} \; 
$ find . -type d -exec chmod 755 {} \;

y lo peor, es que usen el usuario root para configurar el servidor y ese mismo usuario lo uses para poner archivos en la web...
Usuarios root solo configuraciones de servidor sin tocar nada de archivos del folder que este en la web
usuario normal es el que modifica todos los archivos de public_html

Vale, no tenía ni idea de lo de los usuarios. Los permisos nuevos, los asigno con root?? o con el usuario secundario??? 

Link to comment
Share on other sites

8 hours ago, AntonioMenchon said:

Creo que no te entiendo... :(  

 

A ver, tengo Prestashop instalado en un vestaCp, tiene esta ruta:


/home/admin/web/miweb.com/public_html

 

 

Nunca se debe instalar la web en el directorio home, mejor siempre asi por ejemplo

/var/www/vhosts/dominio.com/httpdocs/

el directorio /tmp deberia estar en la ruta

/var/www/vhosts/dominio.com/tmp

Con permisos chmod 755

Entiendo que no estas en un entorno de producción y por eso lo estas haciendo asÍ. Aunque no es recomendable para nada, servicios web, servidor de correo, SSL.....

En cuanto a los usuarios que te comenta el compañero. Lo mas indicado es que a partir de /httpdocs o public_html lo hagas con el usuario secundario 

Link to comment
Share on other sites

9 hours ago, ventura said:

 

 

Nunca se debe instalar la web en el directorio home, mejor siempre asi por ejemplo


/var/www/vhosts/dominio.com/httpdocs/

el directorio /tmp deberia estar en la ruta


/var/www/vhosts/dominio.com/tmp

Con permisos chmod 755

Entiendo que no estas en un entorno de producción y por eso lo estas haciendo asÍ. Aunque no es recomendable para nada, servicios web, servidor de correo, SSL.....

En cuanto a los usuarios que te comenta el compañero. Lo mas indicado es que a partir de /httpdocs o public_html lo hagas con el usuario secundario 

Ok, Ventura. Instalé VestaCp a mano sobre un servidor VPS ubuntu 16.04. Esa es la ruta que, por defecto, Vesta escogió para alojar los sitios web. ¿Debería cambiarlo? ¿Cómo lo hago, porque si lo cambio de lugar, no me lo reconocería vesta? De todas formas, el servicio al cliente de Presta sigue sin funcionar.

 

Por lo que he observado, las sesiones me la está guardando en /home/admin/tmp/

 

Le he metido esa ruta a arhivo de configuración de apache2, pero sigue igual.

 

 

Link to comment
Share on other sites

10 hours ago, ventura said:

 

 

Nunca se debe instalar la web en el directorio home, mejor siempre asi por ejemplo


/var/www/vhosts/dominio.com/httpdocs/

el directorio /tmp deberia estar en la ruta


/var/www/vhosts/dominio.com/tmp

Con permisos chmod 755

Entiendo que no estas en un entorno de producción y por eso lo estas haciendo asÍ. Aunque no es recomendable para nada, servicios web, servidor de correo, SSL.....

En cuanto a los usuarios que te comenta el compañero. Lo mas indicado es que a partir de /httpdocs o public_html lo hagas con el usuario secundario 

Estoy en entorno de un vps con lets encryp activo y servidor de correo electrónico funcionando. La web ya está publicada...

Edited by AntonioMenchon (see edit history)
Link to comment
Share on other sites

9 minutes ago, AntonioMenchon said:

Estoy en entorno de un vps con lets encryp activo y servidor de correo electrónico funcionando. La web ya está publicada...

Y acabo de descubrir, que en el errorlogs de vesta me arroja este error:

 

*1493 upstream timed out (110: Connection timed out) while reading response header from upstream,

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...