eXtplorer, um gerenciador de arquivos em PHP

eXtplorer Logo


Muitas vezes é preciso fazer pequenas alterações em arquivos ou corrigir permissões e ter a possibilidade de fazer isso através do browser, sem ter que instalar e configurar um cliente ftp, é ótimo!

O eXtplorer é um ótimo gerenciador de arquivos escrito em PHP com frontend ajax criado usando o EXTJS*. Possui alguns bugs aqui e ali mas considerando que é gratuito não importa. Em falar nisso sua licensa pode ser tanto Mozilla Public License (MPL 1.1) ou GNU General Public License (GNU/GPL) com um pequeno detalhe: se você escolher distribuir um software, com o extplorer incluso, sob a MPL você não poderá incluir o ExtJS. Ou seja, terá que criar outra interface.

Deixando o papo chato de licensa de lado, suas principais características são:

  • Copiar e mover arquivos e diretórios usando Drag & Drop
  • Árvore de diretórios dinâmica com carregamento sob demanda de subdiretórios
  • Edição de arquivos (com destaque de sintaxe graças ao EditArea)
  • Renomear, apagar ou criar novos arquivos e diretórios
  • Acesso de arquivos usando FTP ou diretamente (PHP) para sobrepor problemas de permissão de arquivos
  • Upload e Download de arquivos
  • Compactação de Descompactação de arquivos (Zip, Tar, Tar/GZ, Tar/BZ)
  • Gerenciamento de usuários com diferentes níveis de permissão como “somente leitura”, “edição” e “admin”
  • Facil instalação

Eu uso o eXtplorer em sites Joomla a mais de cinco anos e desde então este software tem me ajudado muito em tarefas rápidas em arquivos de sites remotos. Inclusive o eXtplorer tem um plugin para o WordPress, chamado wp-eXtplorer, que a princípio serviria como um wrapper para o eXtplorer dentro do WordPress mas o mesmo não instalou na versão 3.3.2. O plugin nem completou a instalação e foi exibida a mensagem:

Fazendo o download do pacote de instalação de http://downloads.wordpress.org/plugin/wp-extplorer.zip...

Descompactando o pacote...

Instalando o plugin...

O pacote não pôde ser instalado. Nenhum plugin válido foi encontrado.

A instalação do plugin falhou.

Veja os screenshots abaixo:

Instalação do wp-eXtplorer

Erro na instalação do wp-eXtplorer

O plugin para o Joomla funciona bem pois é desenvolvido pelos próprios desenvolvedores do eXtplorer.

Alguns screenshots:


Formulario de Login

Login do Extplorer

Extplorer

Extplorer

menu de contexto

Menu de contexto

editor de texto

Editor de Texto

Compressão de Arquivo

Compressão de Arquivo


Instalação:


Conforme mencionado na lista de features do software ele possui 3 tipos de instalação. Vamos cobrir aqui apenas as instalações manual e com pacote Debian. Sendo que não aconselho a utilização do pacote debian pois o mesmo não tem necessidade e vem com o arquivo de usuários zerado. Acredito até que vem zerado pois o eXtplorer vem com o usuário admin e senha admin em hard code no arquivo .htusers.php o que representa uma falha de segurança para o sistema.
Inclusive é de extrema importância a troca da senha após o primeiro logon no eXtplorer.

Instalação Manual

  1. Faça o download do arquivo compactado neste link.
  2. Descompacte o arquivo no seu computador.
  3. Envie os arquivos via ftp para o seu servidor web ou copie na pasta /var/www local.
  4. Ajuste as permissões.
    • Caso o servidor seja remoto você precisa dar permissão de leitura e escrita para o usuario do apache na pasta extplorer/ftp_tmp. Por exemplo:
      $ chmod 777 ./explorer/ftp_tmp
    • Caso a instalação seja no seu servidor local de desenvolvimento você verá a seguinte mensagem ao tentar executar o software:
      Warning: require_once(/var/www/extplorer/libraries/standalone.php): failed to open stream: Permission denied in /var/www/extplorer/index.php on line 44 Fatal error: require_once(): Failed opening required '/var/www/extplorer/libraries/standalone.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/extplorer/index.php on line 44

      Para corrigir digite o seguinte comando no shell:

      $ sudo chown -R www-data /var/www/extplorer/
  5. Aponte o browser para http://<SERVIDOR>/extplorer e use login: admin e senha: admin.
    Troque a senha imediatamente!

Instalação via pacote Debian


Como disse anteriormente não recomendo esta instalação e estou colocando aqui apenas a título de curiosidade. Este teste foi feito no Linux Mint Debian Edition.

  1. Entre no shell e digite o seguinte comando:
    $ sudo apt-get update
    $ sudo apt-get install extplorer
  2. Após o download e a instalação será preciso recriar o conteúdo do arquivo .htusers.php que se encontra no diretório /etc/extplorer.
    $ cd /etc/extplorer
    $ sudo nano .htusers.php

    O arquivo está vazio, portanto insira o seguinte código que foi extraido da versão 2.1.0 RC 5 em 03/06/2012.

    <?php
    /** @version $Id: .htusers.php 135 2009-01-27 21:57:15Z ryu_ms $ */
    /** ensure this file is being included by a parent file */
    if( !defined( '_JEXEC' ) && !defined( '_VALID_MOS' ) ) die( 'Restricted access' );
    
    $GLOBALS["users"]=array(
    array("admin","21232f297a57a5a743894a0e4a801fc3",empty($_SERVER['DOCUMENT_ROOT'])?realpath(dirname(__FILE__).'/..'):$_SERVER['DOCUMENT_ROOT'],"http://www.devhouse.com.br",1,"",7,1),
    ); ?>
  3. Por último crie um link simbólico para o eXtplorer dentro do diretório do www do apache:
    sudo ln -s /usr/share/extplorer/ extplorer
  4. Aponte o browser para http://<SERVIDOR>/extplorer e use login: admin e senha: admin.
    Troque a senha imediatamente!


É isso pessoal!

* EXTJS é uma ótima framework para criação de aplicativos ricos para internet (RIA). Uma boa opção de substituição ao Adobe Flex. Já desenvolvi algumas aplicações usando EXTJS e recomendo!

Sobre o autor

Um desenvolvedor web veterano que está sempre a procura de novas tecnologias que facilitem o desenvolvimento de aplicativos ricos para a internet. Louco por tecnologia, games e Linux.

11 Comentários

  1. Ederson19 de setembro de 2012 at 10:06

    Como faço para trocar o padrão das senhas para o do apache(squid)?

    • Leonardo Lima de Vasconcellos19 de setembro de 2012 at 15:38

      No arquivo init.php, na linha 85 começa um código para verificar se o extplorer está sendo executado no joomla e sendo assim ele não precisa de login. Você pode comentar o código deixando apenas a linha: $GLOBALS[“require_login”] = false;
      Isso vai desabilitar o login deixando livre para você configurar o login do apache.
      Tenta ai e depois compartilha conosco o resultado!

  2. Jorge Jeferson21 de novembro de 2012 at 10:54

    Amigo, você pode me confirmar se ele só funciona em joomla e wpress ou se eu quiser colocar em meu site php simples funciona? pois fiz alguns testes e nada funcionou.
    Obrigado.

  3. jonas5 de dezembro de 2012 at 14:47

    Leonardo blz. Tem como determinar a partir de qual pasta o extplorer fara a leitura.
    Ou seja nao gostaria que ele tivesse acesso a partir da raiz do site.
    Gostaria de Criar uma nova pasta e partir desta a mesma serai a pasta raiz.
    Valeu

    • Leonardo Lima de Vasconcellos5 de dezembro de 2012 at 15:10

      Existem várias maneiras de fazer isso. Você pode determinar para cada usuário uma pasta root editando o arquivo config/.htusers.php alterando:

      empty($_SERVER[‘DOCUMENT_ROOT’])?realpath(dirname(__FILE__).’/..’):$_SERVER[‘DOCUMENT_ROOT’]

      pelo diretório que deseja.

      No arquivo configuration.ext.php existe a seguinte entrada:

      // THE SUBDIRECTORY USERS CAN BROWSE INCLUDING ALL SUBDIRECTORIES
      // relative to your physical Joomla root path ($mosConfig_absolute_path)!
      // Please note: You currently can’t exclude directories or files within
      // the specified directory. All files and directories will be visible and downloadable
      $subdir = ‘/dmdocuments’;

      Experimente alterar o conteúdo de $subdir (nunca testei)

      No Joomla, você pode editar o arquivo /includes/init.php e alterar o código próximo a linha 70:
      $GLOBALS[‘home_dir’] = !empty( $_SERVER[‘DOCUMENT_ROOT’] ) ? $_SERVER[‘DOCUMENT_ROOT’] : ‘.’;

      (Joomla! 1.5)
      $GLOBALS[‘home_dir’] = JPATH_SITE;

      ou
      $GLOBALS[‘home_dir’] = ‘/my/real/homepath’;

  4. lili santos18 de janeiro de 2013 at 14:03

    Tem como bloquear para que o usuário nao copie arquivo nenhum para fora do ambiente?

  5. lordguedes13 de janeiro de 2014 at 15:47

    Link quebrado mano. Não tá baixando.

  6. Bruno2 de fevereiro de 2014 at 14:39

    O drag n drop nao funciona no meu. Testei em outros navegadores e nada. Saberia me dizer o que pode ser?

  7. alvin24 de junho de 2014 at 2:58

    É realmente uma excelente opção.
    Eu faço o uso dele como FTP muiti usuário, já que o meu provedor
    não tem essa ferramenta!

Deixe uma resposta