Support This Project Si te gusta esta aplicación y quieres que siga en continuo desenvolvimiento, por favor realiza una donación.

PHPfileNavigator versión >= 2.0.0

Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU según es publicada por la Free Software Foundation, bien de la versión 2 de dicha Licencia o bien (según su elección) de cualquier versión posterior.

Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía MERCANTIL implícita o sin garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR. Véase la Licencia Pública General de GNU para más detalles.

Debería haber recibido una copia de la Licencia Pública 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 traduccións dos arquivos de idiomas ou erros de código, por favor remitide o necesario a dirección de correo phpfilenavigator@litoweb.net

REQUERIMIENTOS

Esta aplicación 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 además en servidores Apache 1.3.33 y 2.0 (y en algunas versiones más antiguas), y diversas pruebas bajo IIS.

Requiere además de la versión de Mysql 4.0.* para el correcto funcionamiento del indexador de ficheros y directorios.

Para que la funcionalidad sea total, se recomienda la instalación de las librerías GD >= 2.0.1 para el tratamiento de imágenes y de las librerías ZLIB para la compresión de ficheros.

DESCARGA

En la zona de descarga de la web, existirá siempre un fichero que contiene la aplicación, además podrá haber más 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.

INSTALACIÓN

Antes de la instalación 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), además en caso de actualización, el fichero "data/conf/basicas.inc.php" debe disponer tambien de permisos de escritura en caso de realizar una actualización.

Por defecto, a partir de la versión 1.5.8, los idiomas disponibles serán el inglés y el castellano, pero el paquete descargado tambien contine los idiomas gallego, holandés, italiano, francés y alemán en ficheros zip dentro del directorio data/idiomas/, los cuales deberás descomprimir si deseas usarlos.

La aplicación cuenta con varios modos de instalación y actualización.

Para una primera instalación, debes cubrir los datos necesarios para su ejecución como son:

Datos Genéricos

Idioma: Selecciona el idioma en el que será instalada la aplicación
GD2: Si se dispone de librerias GD2 para tratamiento de imágenes
ZLIB: Si se dispone de librerias ZLIB para compresion de ficheros
Juego de Caracteres:Dependiendo de tu localización, selecciona un juego de caracteres para la correcta visualización de todos los textos

Datos de Conexión 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 creación y modificación de tablas
Contreña: Clave para ese usuario
Prefijo de tablas: Las tablas se prodrán 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 aplicación
Contraseña: Contraseña para el administrador
Repetir Contraseña: Repetir contraseña para evitar errores
Email: Correo electrónico del administrador para enviar alertas

Datos de la Raíz Inicial

Nombre: Nombre del directorio que existirá como raíz inicial, puede ser algo como "Raíz Inicial", "Documentos Web", ...
Ruta Absoluta: Ruta absoluta de posición 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 versión anterior del PHPfileNavigator, nos permitirá además escoger entre "Actualizar desde versión > 1.5.7 y < 1.5.7", en donde no nos pedirá cubrir ningún dato e instalará la aplicación sin borrar el contenido de las tablas ya existentes.

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

Si disponemos de una versión ya instalada y volvemos a escoger la opción de "Instalar", borrará los datos guardados en las tablas anteriores.

Los datos básicos de instalación (configuración 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 actualización, se debe sobreescribir la instalación 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 versión a otra, así que lo recomendable es revisar los comparar los cambios de configuración de la versión anterior con respector a la nueva y sobreescribir el fichero.

Lo más recomendable es una vez instalada la aplicación, crear una segunda configuración y no asignar "default" a ninguna raíz para evitar sobreescribirla instalando versiones futuras.

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

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 sitúan 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 configuración de cada raíz. Por defecto existirán dos, "basicas.inc.php" creado despues de la instalación y "default.inc.php" que contiene la configuración de comportamiento de cada raíz. Varias raíces pueden estar relacionadas con un solo fichero de configuración, o puedes crear tantas configuraciones como necesites.

Para modificar las configuraciones, tanto se pueden editar los ficheros de configuración mediante consola o aplicación como realizar las modificaciones desde la zona de administración.

En el directorio "data/logs/" se almacenarán los ficheros de logs que se seleccionaron en la configuración para cada raíz.

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 aplicación.

El directorio "xestion/" contiene la administración de raíces, usuario, grupos, indexador, informes y editor de configuraciones.

FUNCIONALIDAD

Básicamente el PHPfileNavigator permite la navegación y administración de ficheros y directorios de forma remota, pero además permite la realización de ciertas acciones extra. Algunas de ellas son las siguientes:

  • Ficheros de información adicional

    Permite la creación de ficheros de información 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 posición "inc" para false.

    Gracias a esta funcionalidad nos permite además 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 sesión contrastados con los datos almacenados en la base de datos.

    Los datos de sesión están encriptados. Aún quitando esta encriptación, los datos almacenados no aportan información valiosa ni delicada a un posible intruso de un servidor dedicado.

    La encriptación de sesión se realiza mediante una clave única generada en cada instalación.

  • Indexación

    Permite la indexación de ficheros por nombre, directorio o datos contenidos en los ficheros de información adicional.

    Esta indexación es configurable para cada raíz.

  • 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 contraseña.

    Para crear esta protección, solo tenemos que hacer click en el icono del directorio que deseamos proteger y escoger la opción de "Proteger" en donde podremos escribir el usuario y contraseña necesarios para poder acceder via web. Si deseamos eliminar esa protección, solo tenemos que enviar el formulario con los campos vacíos.

    Está posibilidad solo está disponible para el usuario administrador

  • Vista en árbol

    El PHPfileNavigator nos permite ver el contenido de toda un raíz en formato árbol. Además nos permite escoger entre visualización solo de directorios o todo el contenido, dandonos información como el tamaño total de la raíz 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.

  • Extracción de ficheros en el servidor

    Además de la descarga de ficheros comprimidos, tienes la posibilidad de subir ficheros TAR,GZ o BZ y descomprimirlos en el directorio remoto. Esta opción es muy útil en caso de necesitar subir una gran cantidad de ficheros.

  • Control de tamaño

    Un herramienta útil en caso de que el directorio tenga acceso público, es la limitación de peso en una raíz, esto nos permitirá marcar un límite que no podrá ser superado (ni por el administrador).

    Para esto, tenemos que acceder como administrador a la gestión de raíces y ahí, marcar el peso máximo deseado, escogiendo las unidades deseadas.

    Una vez hecho esto, la gestión obtendrá el peso actual de la raíz y creará en "data/info/" un directorio con el id de la raíz y dos ficheros, uno con el límite impuesto de peso y otro con el peso actual, que irá actualización según se suban, copien, borren,... o realicen las distintas acciones posibles.

    Este control se realizará para toda acción con ficheros o directorios, incluido el control sobre ficheros extraídos en el servidor.

  • Limitación 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 extensión 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 descompresión de otro fichero.

    Por ejemplo si voy a descomprimir un fichero tar.gz y este contiene algún documento con extensión no permitida, evitará extraerlo continuando con los siguientes y al rematar dará una advertencia de que algúnos ficheros no han podido ser extraído por restricciones de servidor.

  • Completa administración

    El PHPfileNavigator nos posibilita una completa administración de prácticamente todos los aspectos posibles.

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

    Cada raíz, usuario, grupo o configuración podrá ser eliminado o desctivado según las necesidades.

  • Informes de actividad y errores

    Desde la administración podrás visualizar informes sobre errores de MySQL, acciones sobre ficheros o directorios y entradas y salidas de usuarios.

    Además para cada una de las posibilidades podrás escoger solo un informe parcial, por ejemplo, mostrar solo los ficheros eliminados o buscar acciones por usuario concreto o listar los intentos de intrusión con datos erroneos...

  • Gestión de imágenes

    Un punto fuerte de la aplicación es la gestión y manipulación de imágenes, que nos permitirá crear copias reducidas personalizadas de otras imágenes más grandes.

    Además esto nos permite una previsualización de las imágenes reducidas en el listado de ficheros, en la vista en árbol o en el detalle de la imagen.

    Para ello será necesario habilitar la opción de GD2 en la instalación

  • Subida de páginas 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 opción de "Subir URL" en el menú superior y que nos permitirá guardar una URL en el disco, tanto páginas web como imágenes o cualquier documento visible en web.

  • Edición de ficheros

    Además de las acciones propias de todo gestor de ficheros (copiar, mover, borrar,...) el PHPfileNavigator nos permite la edición de ficheros en linea. El tipo de ficheros editables es configurable, mediante un array de extensiones. Además podremos simplemente visualizar su contenido.

Estas son solo algunas de las múltiples funciones de las que dispone esta aplicación distribuida bajo la licencia GPL.

RECOMENDACIONES

ATENCIÓN:
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 tamaño.

Claramente si yo doy de alta una raíz 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, añadidos o borrados ficheros y directorios, con lo que el indexador devolverá información 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 donación en el boton superior de PAYPAL.

A todos los que colaboran con este proyecto, GRACIAS.