Antes que nada solo quiero decir que lo unico que he hecho aqui es traducir el texto completo de como hacerlo, asi que si tienen preguntas los que ya hayan ejecutado esto las podran responder, lo posteo por dos cosas: a) Casi nadie se toma el tiempo de traducir algo para ayudar a otros a tener la informacion, b) No tenia nada que hacer icon_biggrin.gif

RECUERDA HACER COPIAS O BACKUPS ANTES DE CAMBIAR ALGO

Esta es la guia para el uso de PHP en modo seguro (safe_mode) y como activarlo y costumizarlo para ciertos sitios dentro de tu server. Cuando use PHP como un module Apache, puedes ademas cambiar los setings de la configuracion usando directivas en los archivos de configuracion de Apache (e.j. httpd.conf) y .htaccess files. PHP modo seguro (safe_mode) es muy importante en terminos de seguridad de servers por que restringe y desabilita las funciones peligrosas en PHP de los scripts como PHP Shell que puede entre otras cosas causar daņos a tu server y a sitios de tus clientes.

Usando PHP en modo seguro (safe_mode)
Lo primero que debe tener en cuenta es que los archivos que ud editara, debe tener una copia o un backup.
Activacion de Modo Seguro Globalmente
Es muy simple activar el modo seguro (safe_mode) en todo el server completo, todo lo que tiene que hacer es editar el php.ini file. Si no puede encontrar donde esta el php.ini file. o tiene multiples copias en su server, la mejor cosa que hacer es correr phpinfo() para encontrarlo, abrelo en note pad o en tu editor favorito de HTML y copialo a ete archivo: http://www.webhostgear.com/phpinfo.phps
Guardalo como phpinfo.php y subelo a la pagina que deseas probar en tu server . Escribe la url y tendras una pagina de configuracion del PHP diciendote exactamente donde esta el php.ini y otras cosas de mucha ayuda acerca de los setings de configuracion de los sitios de internet y de los servers.

Unas cuantas lineas abajo veras esto:
Configuration File (php.ini) Path: /usr/local/Zend/etc/php.ini
Ahora que ya sabe donde esta el php.ini, podemos proceder a editarlo.

1) Abre el php.ini en tu shell con tu programa favorito.
pico /path to php/php.ini (reemplace con la ruta a tu php.ini file)
2) Encuentra la siguiente linea: safe_mode
Ctrl + W y escribe dentro: safe_mode
3) Activando el (modo seguro) safe mode on u off.
safe_mode = On

Muy Bien! Ahora guarda el archivo con ctrl + x despues y
4) Reinicia el Apache web server con
/etc/init.d/httpd restart

Ahora modo seguro (safe_mode) esta activo en todo tu servidor



Activando safe_mode o modo seguro en una sola cuenta
Ahora si tienes scripts que requieren el modo seguro (safe_mode) off como Modernbill o cualquier otro script, los cuales no trabajan bien con safe_mode on, que es lo que harias? deshabilitar el safe_mode on en todo el server solo por este script?, bueno eso no seria muy practico, cuando puedes deshabilitarlo solo para el cliente que no necesites que use el safe_mode on.

ok hagamoslo:
1) SSH a tu servidor y logueate como root.
2) Encuentra el httpd.conf, normalmente esta en /etc/httpd/conf/ o /usr/local/apache/conf/
Si no esta en estos lugares trata buscandolo con esto: locate httpd.conf
3) Entonces encuentra el sitio que deseas editar.
Ctrl+W y escribe el nombre del dominio

Lo mas seguro es que veas algo como esto:
QUOTE

ServerAlias www.domain.net domain.net
ServerAdmin webmaster@domain.net
DocumentRoot /home/domain/public_html
BytesLog domlogs/domain.net-bytes_log
ServerName www.domain.net
User domain
Group domain
CustomLog domlogs/domain.net combined
ScriptAlias /cgi-bin/ /home/domain/public_html/cgi-bin/  


4) Ahora adicciona esta linea:

php_admin_flag safe_mode Off

Tenemos que ademas haber encontrado que lo siguiente trabaja bien si ninguno de las dos opciones lo hace el global o el sitio por sitio, logicamente no lo uses solo escoje uno!

php_admin_value safe_mode 0

debera quedar algo como esto :
QUOTE

ServerAlias www.domain.net domain.net
ServerAdmin webmaster@domain.net
DocumentRoot /home/domain/public_html
php_admin_flag safe_mode Off
BytesLog domlogs/domain.net-bytes_log
ServerName www.domain.net
User domain
Group domain
CustomLog domlogs/domain.net combined
ScriptAlias /cgi-bin/ /home/domain/public_html/cgi-bin/  


5) Muy Bien ahora guarda los cambios.
Ctrl + X then Y

6) Reinicia el Apache web server con
/etc/init.d/httpd restart

PHP safe_mode deberia estar en modo on en todo el servidor completo para mas seguridad, como sea existen algunos scripts que no son compatibles con safe_mode, y lo mas seguro es que se tengan que hacer algunas excepciones en algunos sitios, Por eso es bueno estar seguro de por que estan solicitandote ponerlo en modo off.

Si al correrlo tienes problemas con el httpd.conf puedes correr run el apachectl configtest, esto comprobara la configuracion de apache para buscar errores y poder arreglarlos.

RECUERDA HACER COPIAS O BACKUPS ANTES DE CAMBIAR ALGO