1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

PHPSuExec, SuPHP y SuExec

Tema en 'Paneles y Software' iniciado por Eduardo2003, 12 Oct 2009.

  1. Eduardo2003

    Eduardo2003 Nuevo usuario

    Primero que nada saludos a toda la comunidad de expertos en hosting.

    Tengo un problema desde hace varios días y mi cabeza ya no da más... :stress:

    Todo empezó con un blog wordpress con mas de 1000 visitas diarias... en donde tuve que contratar un servidor dedicado pequeño, para ese y algunos otros sitios en wp (un Intel, Core 2 Quad, con 2GB de ram) y moví mi sitio para este servidor.

    En el front end todo funciona bien, el problema viene en la zona de administración, como sabrán las nuevas versiones de wordpress cuentan con la opción de actualizaciones automáticas del core, instalación y actualización de plugins desde el "dashboard" (o "escritorio" de la zona de administración), a lo cual me he mal acostumbrado, ya que todo se hace desde un click.

    El blog anteriormente estaba en hostgator, y obviamente todo funcionaba de maravilla, el problema vino después con el servidor dedicado. Cuando quería actualizar el wp o instalar un plugin me daba dos errores diferentes, uno era el error de "You do not have sufficient permissions to access this page." o en otros casos me pedía los datos FTP "To perform the requested action, connection information is required."

    Hice los pasos clásicos (cambiar permisos chmod a 777, etc...) y nada, al final me costo mucho trabajo encontrar información acerca del problema, pero encontré un solo blog en ingles donde explicaba parte del problema: chrisabernethy.com/why-wordpress-asks-connection-info/

    Al parecer el problema es por que el archivo "wp-admin/includes/file.php" utiliza un método en el cual verifica el ID de la cuenta (o ID del hosting virtual) y que este sea el dueño, por lo que según la configuración de mi servidor, mi cuenta era el usuario "nobody" y eso no permitía al script actualizar (aun que le diera permisos 777 via ftp) ya que Apache por si solo no "etiqueta" (por así decirlo) al usuario y por lo tanto el script no obtiene el permiso.

    Así que seguí buscando información y encontré que para poder hacer que el servidor detectara el nombre de usuario de la cuenta tenia que instalar el PHPSuExec. Y bueno de vuelta a buscar información... la verdad no encontré información clara (por lo menos NO en Español) lo poco que encontré (como en este post: forosdelweb.com/f92/acerca-owners-phpsuexec-636198/) hablan acerca de que efectos hace el tenerlo instalado, más no el como instalarlo o configurarlo en cPanel/WHM. Cliqueando y probando intente activando "PHP 5 Handler suphp" con SuExec "on". Pero ahí mismo en cPanel decía que suEXEC no es PHPSuExec.

    Así que después de buscar mucho encontré este otro post:
    seoroot.com/blog/computing/how-to-enable-whm-apache-php-suexec.html

    Seguí los pasos, cambie de "PHP 5 Handler dso" a "PHP 5 Handler cgi" y efectivamente ya mis usuarios aparecen con su nombre (según la cuenta) y todo supone que ya funciona el phpsuexec, el problema es que muchas funciones están fallando y el PHP esta consumiendo muchos recursos (antes en modo dso, no pasaba) en "CPU/Memory/MySQL Usage" del cPanel dice:

    CODE, HTML o PHP Insertado:
    Top Process	%CPU 127	php5
    Top Process	%CPU 119	php5
    Top Process	%CPU 118	php5
    
    Al final no me queda claro NADA, no se si hacerlo de ese modo, es el modo ideal, ya que en ese post y en foros he leído que usar el php en modo "CGI" es inseguro y que ademas puede causar problemas con algunos scripts, ademas de usar más recursos del servidor.

    Yo quisiera encontrar la configuración ideal, no solo para mi propio uso, sino también para que en caso de que quiera yo proveer hosting a clientes pueda hacerlo de la manera ideal (con las funciones para programadores mas usadas disponibles) y a su vez sin comprometer la seguridad del servidor.

    Alguien podría orientarme acerca de esto?... ya que la documentación: cpanel.net/documentation/easyapache/ no me deja nada en claro.

    ¿Alguien podría explicar exactamente, cual es la diferencia entre SuExec, SuPHP, PhpSuExec, y cual es la mejor opción, y como configurar de manera correcta el cPanel, para que 1. muestre correctamente el nombre de los usuarios (phpsuexec) y 2. no falle nada... e incluso funcione como funciona hostgator por ejemplo?

    Yo se que no es muy fácil compartir los conocimientos que tanto tiempo les ha llevado tener, pero créanme que ya me siento un poco desesperado, así que si pueden ayudarme, les estaré eternamente agradecido.

    Saludos
     
  2.  
  3. Eduardo2003

    Eduardo2003 Nuevo usuario

    A lo mejor me extendí demasiado en mi post anterior.

    Tratare de ser más conciso...

    1. Necesitaba activar el phpsuexec por que así lo requería wordpress (que en vez de salir usuario "nobody", saliera el usuario "owner" o "cuenta_de_hosting").

    2. Encontre este post y segui los pasos... seoroot.com/blog/computing/how-to-enable-whm-apache-php-suexec.html y cambie, "PHP 5 Handler dso" a "PHP 5 Handler cgi" con SuExec "On".

    3. El resultado es que ya saca al usuario "owner" pero a cambio me están fallando varias funciones de php vitales para los programadores y muestra excesivas cargas al CPU del servidor.

    Las preguntas:

    1. Alguien puede explicar, la diferencia entre SuExec, PHPSuExec y SuPHP?

    2. Alguien puede indicar cual es la configuración ideal en WHM/cPanel, dejando phpsuexec funcionando?

    3. Alguien podría explicar cual es la configuración ideal de PHP para proveer servicio de hospedaje web?

    Saludos y gracias de nuevo :aprueba:
     
  4. Eduardo2003

    Eduardo2003 Nuevo usuario

    :llanto: nadie responde...

    veo muy solitario el foro :-(

    seguiré investigando :stress:
     
  5. Eduardo2003

    Eduardo2003 Nuevo usuario

    Ok... por fin ya me aclare algo... (lo dejo aquí para los que estén como yo y eviten tener que buscar 2 semanas en google)

    PHPSuExec y SuPHP es lo mismo... solo que el primero (PHPSuExec) ya no esta disponible en Easy Apache 3 (de cPanel) y fue sustituido por SuPHP.

    Así que para activarlo es necesario entrar a: Apache Configuration >> PHP and SuExec Configuration y cambiar el "PHP 5 Handler" a suphp

    Ahora investigare que es el SuExec :D

    Saludos

    Fuente: forums.cpanel.net/f7/easyapache-phpsuexec-71732.html
     
    Última edición: 14 Oct 2009
  6. Eduardo2003

    Eduardo2003 Nuevo usuario

    Ok... esto quedo resuelto... el problema fue instalar Wordpress desde el cPAddon (Sitio de Software) del cPanel.

    Al parecer los programadores de cPanel han dejado de trabajar en el cPAddon y en la instalación del WP hay un bug en los permisos del Administrador, por lo que al entrar al panel los permisos están "limitados" por así decirlo, debido a un error en la base de datos de la instalación.

    La manera de corregirlo es...

    1. Entrar a la base de datos del wordpress con problemas via phpMyAdmin
    2. Buscar la tabla wp_options y luego el campo wp_user_roles del wp dañado
    3. Hacer lo mismo pero en un wp que funcione perfectamente
    4. Copiar el contenido del campo de la instalación buena, a la instalación con problemas

    Y listo...

    Ojala que le sirva a alguien esta información y bueno espero no haber molestado con mi monologo :D
     
  7. chiapashosting

    chiapashosting Usuario activo

    Gracias amigo.

    Por lo visto nadie respondió, sin embargo la información que has publicado es muy buena y se sobre entiende.

    A mí si me sirvió.

    Gracias amigo.

    Saludos!



     
  8. chileseo

    chileseo Nuevo usuario

    Gracias amigo Eduardo2003 !

    Me registre solo para darte las gracias, 4 años despues que posteaste esto, me has ayudado a resolver un problema.
    Creo que me quedare en el foro, se ve bueno.
    Gracias nuevamente!
     
  9. Eduardo2003

    Eduardo2003 Nuevo usuario

    Que bueno que les sirvió bros.

    Saludos.
     
  10. vancho73

    vancho73 Nuevo usuario

    Hola Eduardo2003 de antemano gracias por la Info ya la guarde en favoritos por si la requiero en su momento :) , pues yo me encuentro en algo muy similar y precisamente saliendo también de HG a un dedicado solo que mi problema es diferente y no se si te paso, pero en mi caso tengo easyphp4 en version 5.5 e intente hacer una prueba de phpinfo y no se ve nada solo sale un mensaje de "Not supported" y bueno estoy en la lucha de solucionarlo, la verdad no tengo la experiencia pero si la pasión asi que si hay alguna opinión al respecto la agradeceria mucho... GRACIAS de nuevo
     
  11. Tu problema es de permisos y de mala configuración.

    Espero que te sirva y te ayude:

    What Is PHPSUEXEC?

    This article is for cPanel Accounts. Determine where your account is with this guide.

    Differences between phpsuexec and "regular php": When using the common PHP installation on a webserver, php runs as the user nobody and it doesn't require the execute flag to be enabled. The problem on this is that if mod_openbasedir is not installed, every user will be able to read your php files because everyone is virtually sharing the same username (nobody).

    As most of you already know, PHP Files are not meant to be read, but parsed, and that is where the problem resides. PHP Files have to be parsed, otherwise everyone who is able to read your php file will see settings that you would probably want to keep private, such as your MySQL username and password.

    PHPSUEXEC fixes all this because it requires php to be run as the file owner's username. (for example: andre) This is not everything it fixes though. PHPSUEXEC is also here to fix file ownership problems. This has been a common issue on a few Content Management Systems such as Joomla and also on the popular blog software: WordPress.

    It also adds security to your files as you can use permissions such as 600 or 700 in your files and your visitors will still be able to view them (parsed) in their browsers. PHPSUEXEC will also refuse to serve any pages that are at security risk, for example with 777 as permissions. (will generate an Internal Server Error)

    https://www.westhost.com/knowledgebase/pages/viewpage.action?pageId=1114231

    SuPHP

    suphp is a tool for executing PHP scripts with the permissions of their owners. So suphp is more secure.

    suphp does not allow permission 666 and 777. If you are trying to use these permission settings, then you will likely receive a 500 error in your browser.

    https://www.westhost.com/knowledgebase/pages/viewpage.action?pageId=1114766

    SuExec

    suEXEC está basado en un programa (wrapper) setuid que es llamado por el módulo principal de Apache. Este programa es llamado cuando un requerimiento HTTP es hecho para un programa CGI o SSI que el administrador ha diseñado para correr con un ID de usuario diferente al del Servidor Web.

    http://quark.fe.up.pt/apache1.3-es/suexec.html

    Howto: Enable SuPHP/phpSuExec on a cPanel server?
    http://linuxhostingsupport.net/blog/how-to-install-and-enable-suphp-on-a-cpanel-server
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·