PHPfileNavigator versin 2.3.2

Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los
trminos de la Licencia Pblica General de GNU segn es publicada por la Free
Software Foundation, bien de la versin 2 de dicha Licencia o bien (segn su
eleccin) de cualquier versin posterior.

Este programa se distribuye con la esperanza de que sea til, pero SIN NINGUNA
GARANTA, incluso sin la garanta MERCANTIL implcita o sin garantizar la
CONVENIENCIA PARA UN PROPSITO PARTICULAR. Vase la Licencia Pblica General de
GNU para ms detalles.

Debera haber recibido una copia de la Licencia Pblica General junto con este
programa. Si no ha sido as, escriba a la Free Software Foundation, Inc., en
675 Mass Ave, Cambridge, MA 02139, EEUU. 

En caso de que desexar colaborar en este proxecto enviando traduccins dos
arquivos de idiomas ou erros de cdigo, por favor remitide o necesario a
direccin de correo phpfilenavigator@litoweb.net

REQUERIMIENTOS

Esta aplicacin fue testeada en sistemas Windows XP y diversas distribuciones
Linux con veriones de PHP desde la 4.0.6 hasta la 4.3.9, con lo cual recomiendo
que se instale basandose en estas condiciones. Tambien fue probado (solo
probado) en PHP 5.0.3.

Se ha testeado adems en servidores Apache 1.3.33 y 2.0 (y en algunas versiones
ms antiguas), y diversas pruebas bajo IIS.

Requiere adems de la versin de Mysql 4.0.* para el correcto funcionamiento
del indexador de ficheros y directorios.

Para que la funcionalidad sea total, se recomienda la instalacin de las
libreras GD &gt;= 2.0.1 para el tratamiento de imgenes y de las libreras
ZLIB para la compresin de ficheros.

DESCARGA

En la zona de descarga de la web, existir siempre un fichero que contiene la
aplicacin, adems podr haber ms descargas posibles en cuanto se vayan
aumentando los idiomas disponibles y nuevas utilidades.

Para la descarga siempre estar disponible el fichero PHPfileNavigator.zip, con
lo que puedes usar:

wget http://phpfilenavigator.litoweb.net/PHPfileNavigator.zip

para obtener el paquete.

INSTALACIN

Antes de la instalacin nos debemos asegurar que los directorios "data/conf/",
"data/logs/", "data/info/" y "tmp/" disponen de permisos de escritura para
el usuario dependiente del servidor web (suele ser apache), adems en caso
de actualizacin, el fichero "data/conf/basicas.inc.php" debe disponer tambien
de permisos de escritura en caso de realizar una actualizacin.

Por defecto, a partir de la versin 1.5.8, los idiomas disponibles sern el
ingls y el castellano, pero el paquete descargado tambien contine los idiomas
gallego, holands, italiano, francs y alemn en ficheros zip dentro del directorio
data/idiomas/, los cuales debers descomprimir si deseas usarlos.

La aplicacin cuenta con varios modos de instalacin y actualizacin.

Para una primera instalacin, debes cubrir los datos necesarios para su
ejecucin como son:

Datos Genricos

Idioma: Selecciona el idioma en el que ser instalada la aplicacin
GD2: Si se dispone de librerias GD2 para tratamiento de imgenes
ZLIB: Si se dispone de librerias ZLIB para compresion de ficheros
Juego de Caracteres:Dependiendo de tu localizacin, selecciona un
juego de caracteres para la correcta visualizacin de todos los textos

Datos de Conexin a MySQL

Host: Nombre del servidor de la base de datos (por defecto localhost)
Nombre: Nombre de la base de datos (debe existir)
Usuario: Usuario con permisos de acceso a esa base de datos (debe tener permisos
de creacin y modificacin de tablas
Contrea: Clave para ese usuario
Prefijo de tablas: Las tablas se prodrn crear con un prefijo para
evitar sobreescribir las ya existentes

Datos del Administrador

Nombre: Nombre de pila del usuario administrador
Usuario: Usuario con el que acceder a la aplicacin
Contrasea: Contrasea para el administrador
Repetir Contrasea: Repetir contrasea para evitar errores
Email: Correo electrnico del administrador para enviar alertas

Datos de la Raz Inicial

Nombre: Nombre del directorio que existir como raz inicial,
puede ser algo como "Raz Inicial", "Documentos Web", ...
Ruta Absoluta: Ruta absoluta de posicin del directorio inicial.
Se debe usar "/" en vez de "\", y rematar el path con "/". Por ejemplo:
/var/www/html/documentos/
Ruta desde Web: Ruta absoluta de acceso desde web. Por ejemplo:
/documentos/
Host: Dominio que est asociado a esa ruta. Si disponemos de un servidor
web con varios dominios nos permitir asociar cada ruta a un dominio distinto.

En caso de que ya dispongamos de una versin anterior del PHPfileNavigator, nos
permitir adems escoger entre "Actualizar desde versin &gt; 1.5.7 y
&lt; 1.5.7", en donde no nos pedir cubrir ningn dato
e instalar la aplicacin sin borrar el contenido de las tablas ya existentes.

Para futuras versiones, es posible que no permita actualizacin al realizar
importantes modificaciones en la estructura de las tablas de MySQL

Si disponemos de una versin ya instalada y volvemos a escoger la opcin de
"Instalar", borrar los datos guardados en las tablas anteriores.

Los datos bsicos de instalacin (configuracin de acceso a base de datos,
idioma, GD2, ZLIB, ...) se guardan en el fichero data/conf/basicas.inc.php que
podemos variar en caso de que se necesite.

Para una correcta actualizacin, se debe sobreescribir la instalacin anterior
con la nueva, guardando una copia de seguridad del fichero
data/conf/default.inc.php, el cual las preferencias por defecto. Estas preferencias
pueden variar de una versin a otra, as que lo recomendable es revisar los
comparar los cambios de configuracin de la versin anterior con respector a
la nueva y sobreescribir el fichero.

Lo ms recomendable es una vez instalada la aplicacin, crear una segunda
configuracin y no asignar "default" a ninguna raz para evitar sobreescribirla
instalando versiones futuras.

Una vez ejecutado el instalador, se debe borrar el directorio "instalar/" o
volver aparecer la pantalla de instalacin.

ESTRUCTURA

El PHPfileNavigator se compone de la siguiente estructura:

PHPfileNavigator
|-- data
|   |-- accions
|   |-- conf
|   |-- idiomas
|   |   |-- en
|   |   `-- es
|   |-- include
|   |-- info
|   |-- logs
|   `-- plantillas
|-- estilos
|   `-- pfn
|       |-- ico
|       `-- imx
|-- instalar
|   |-- include
|   |-- mysql
|   `-- plantillas
|-- js
|-- tmp
`-- xestion
    |-- configuracions
    |-- grupos
    |-- indexador
    |-- informes
    |-- raices
    |-- traductor
    `-- usuarios

En el directorio "data/idiomas/" se sitan todos los idiomas disponibles,
algunos comprimidos en zip. Para poder usarlos solo tienes que descomprimirlos
y cambiar el idioma base de "data/conf/basicas.inc.php".

El directorio "data/conf/" puede encontrar los ficheros de configuracin de
cada raz. Por defecto existirn dos, "basicas.inc.php" creado despues de
la instalacin y "default.inc.php" que contiene la configuracin de
comportamiento de cada raz. Varias races pueden estar relacionadas con un
solo fichero de configuracin, o puedes crear tantas configuraciones como
necesites.

Para modificar las configuraciones, tanto se pueden editar los ficheros de
configuracin mediante consola o aplicacin como realizar las modificaciones
desde la zona de administracin.

En el directorio "data/logs/" se almacenarn los ficheros de logs que
se seleccionaron en la configuracin para cada raz.

Por defecto son dos posibles, los registros de errores de MySQL que se almacenan
el "data/logs/mysql.php" y que est activado, y el segundo es el de registro
de acciones sobre los ficheros y directorios, que por defecto est desactivado.

El directorio "instalar/" contiene el instalador inicial y se debe borrar una
vez instalada la aplicacin.

El directorio "xestion/" contiene la administracin de races, usuario, grupos,
indexador, informes y editor de configuraciones.

FUNCIONALIDAD

Bsicamente el PHPfileNavigator permite la navegacin y administracin de
ficheros y directorios de forma remota, pero adems permite la realizacin
de ciertas acciones extra. Algunas de ellas son las siguientes:

Ficheros de informacin adicional
Permite la creacin de ficheros de informacin adicional por cada fichero o
directorio que se cree, esta posibilidad viene activada por defecto, pero 
se puede variar en el fichero de configuraciones asociado, cambiando el valor
de la clave "estado" dentro de la posicin "inc" para false.

Gracias a esta funcionalidad nos permite adems el uso de un buscador por
campos definidos igualmente en el fichero de configuraciones.

Funcionamento seguro
Estricto control de usuarios basado en revisiones continuos de datos de
sesin contrastados con los datos almacenados en la base de datos.
Los datos de sesin estn encriptados. An quitando esta encriptacin, los
datos almacenados no aportan informacin valiosa ni delicada a un posible
intruso de un servidor dedicado.
La encriptacin de sesin se realiza mediante una clave nica generada
en cada instalacin.

Indexacin
Permite la indexacin de ficheros por nombre, directorio o datos contenidos
en los ficheros de informacin adicional.

Esta indexacin es configurable para cada raz.

Control de acceso web
Si el directorio/s que gestionamos dispone de acceso a traves de web, nos
permitir controlar el acceso a traves del los ficheros .htpasswd en los
cuales se almacenar un usuario y contrasea.

Para crear esta proteccin, solo tenemos que hacer click en el icono del
directorio que deseamos proteger y escoger la opcin de "Proteger" en donde
podremos escribir el usuario y contrasea necesarios para poder acceder via
web. Si deseamos eliminar esa proteccin, solo tenemos que enviar el
formulario con los campos vacos.

Est posibilidad solo est disponible para el usuario administrador

Vista en rbol
El PHPfileNavigator nos permite ver el contenido de toda un raz en formato
rbol. Adems nos permite escoger entre visualizacin solo de directorios
o todo el contenido, dandonos informacin como el tamao total de la raz y
la cantidad de directorios y ficheros existentes.

Descarga de ficheros y directorios comprimidos
Tienes la posibilidad de descargarte un fichero comprimido en formato zip
o de descargarte un directorio completo en el mismo formato.

Extraccin de ficheros en el servidor
Adems de la descarga de ficheros comprimidos, tienes la posibilidad de
subir ficheros TAR,GZ o BZ y descomprimirlos en el directorio remoto. Esta
opcin es muy til en caso de necesitar subir una gran cantidad de ficheros.

Control de tamao
Un herramienta til en caso de que el directorio tenga acceso pblico, es
la limitacin de peso en una raz, esto nos permitir marcar un lmite que
no podr ser superado (ni por el administrador).

Para esto, tenemos que acceder como administrador a la gestin de races y
ah, marcar el peso mximo deseado, escogiendo las unidades deseadas.

Una vez hecho esto, la gestin obtendr el peso actual de la raz y crear
en "data/info/" un directorio con el id de la raz y dos ficheros, uno con
el lmite impuesto de peso y otro con el peso actual, que ir actualizacin
segn se suban, copien, borren,... o realicen las distintas acciones posibles.

Este control se realizar para toda accin con ficheros o directorios,
incluido el control sobre ficheros extrados en el servidor.

Limitacin sobre tipos de ficheros
El PHPfileNavigator permite limitar el tipo de ficheros que se van a subir
al servidor.

Por ejemplo puedes evitar subir ficheros con extensin php o pl o cualquier
otro que necesites o que creas que puedan permitir realizar acciones no deseadas.

Este control se realizar para todo tipo de acciones, desde subir ficheros o
direcciones remotas, hasta el renombrado o descompresin de otro fichero.

Por ejemplo si voy a descomprimir un fichero tar.gz y este contiene algn
documento con extensin no permitida, evitar extraerlo continuando con los siguientes
y al rematar dar una advertencia de que algnos ficheros no han podido ser
extrado por restricciones de servidor.

Completa administracin
El PHPfileNavigator nos posibilita una completa administracin de prcticamente
todos los aspectos posibles.

El administrador/es tendr la posibilidad de crear races, usuarios, grupos,
configuraciones as como de realizar las relaciones entre todos ellos.

Cada raz, usuario, grupo o configuracin podr ser eliminado o desctivado
segn las necesidades.

Informes de actividad y errores
Desde la administracin podrs visualizar informes sobre errores de MySQL,
acciones sobre ficheros o directorios y entradas y salidas de usuarios.

Adems para cada una de las posibilidades podrs escoger solo un informe parcial,
por ejemplo, mostrar solo los ficheros eliminados o buscar acciones por usuario
concreto o listar los intentos de intrusin con datos erroneos...

Gestin de imgenes
Un punto fuerte de la aplicacin es la gestin y manipulacin de imgenes, que
nos permitir crear copias reducidas personalizadas de otras imgenes ms
grandes.

Adems esto nos permite una previsualizacin de las imgenes reducidas en el
listado de ficheros, en la vista en rbol o en el detalle de la imagen.

Para ello ser necesario habilitar la opcin de GD2 en la instalacin

Subida de pginas o documentos web
El PHPfileNavigator nos permite la descarga de cualquier documento que est
disponible en la web hacia nuestro servidor. Para eso utilizaremos la opcin
de "Subir URL" en el men superior y que nos permitir guardar una URL en el
disco, tanto pginas web como imgenes  o cualquier documento visible en web.

Edicin de ficheros
Adems de las acciones propias de todo gestor de ficheros (copiar, mover,
borrar,...) el PHPfileNavigator nos permite la edicin de ficheros en linea.
El tipo de ficheros editables es configurable, mediante un array de extensiones.
Adems podremos simplemente visualizar su contenido.

Estas son solo algunas de las mltiples funciones de las que dispone esta
aplicacin distribuida bajo la licencia GPL.

RECOMENDACIONES

ATENCIN:
No es nada recomendable el uso de varias raices sobre un mismo path o subpath
ya que puede ocasionar problemas con el indexador y con el limitador de tamao.

Claramente si yo doy de alta una raz con path /var/www/html/ y otra con path
/var/www/html/directorio/ y limito alguna de las dos raices (o las dos) en
peso, cuando estoy trabajando el alguna de las dos, la otra no se va a enterar
de que han sido modificados, aadidos o borrados ficheros y directorios, con lo
que el indexador devolver informacin incorrecta y el limitador de peso
fallar al no poder contabilizar correctamente todos los cambios.

DONACIONES

Si piensas que esta herramienta te puede ser til y deseas que el desarrollo de
la misma no cese, por favor realiza una donacin en el boton superior de PAYPAL.

A todos los que colaboran con este proyecto, GRACIAS.
