Após o download, copie o script SmbwebclientErro para o DOCUMENTROOT do Apache:
# cd /rede/scripts/
# cp smbwebclientErro.php /srv/www/default/html/smbwebclient.php
Veja o resultado ao solicitar o serviço no endereço:
http://ip-do-meu-servidor/smbwebclient.php
Agora iremos analisar os scripts.
Abaixo o script ligasmbweb:
#!/bin/sh
DIALOG=${DIALOG=dialog}
PATH_APACHE="/srv/www/default/html/"
LIGA_SMBWEB="/rede/scripts/smbwebclient.php"
$DIALOG --title "Samba Via Web" --clear \
--yesno "Deseja habilitar o serviço de compartilhamento samba via WEB? " 6 40
case $? in
0)
cp $LIGA_SMBWEB $PATH_APACHE
desligaweb;;
1)
echo "Opção cancelada!";;
255)
echo "ESC pressionado.";;
esac
Na 3a. linha, a variável PATH_APACHE deve conter o caminho
completo do DOCUMENTROOT do Apache. No meu caso /srv/www/default/html/.
Já na 4a. linha a variável LIGA_SMBWEB aponta para o script
smbwebclient.php, em nosso exemplo utilizei o conteúdo
/rede/scripts/smbwebclient.php.
Agora vamos executar o script ligasmbweb:
$ su
# cd /rede/scripts/
# ./ligasmbweb
Veja o resultado ao executar o script:
O script parte do princípio que estamos habilitando MANUALMENTE o serviço de acesso aos serviços de compartilhados Samba e/ou Microsoft via web. Pressione [ENTER] com a opção <YES> selecionada para confirmar a operação.
O script irá substituir o HTML que exibe "SERVIÇO INDISPONÍVEL" pelo VERDADEIRO script em PHP smbwebclient.php, assim permitindo o acesso a sua rede interna.
Repare que após a substituição do script, é executado o desligaweb, que analisaremos a seguir.
Veja a funcionalidade do serviço no vídeo abaixo:
Agora vamos ao o script desligaweb. Veja o código do script abaixo:
#!/bin/sh
DIALOG=${DIALOG=dialog}
DESLIGA_SMBWEB="/rede/scripts/smbwebclientErro.php"
LIGA_SMBWEB="/srv/www/default/html/smbwebclient.php"
$DIALOG --title "Compartilhamento Web Habilitado!" --clear \
--msgbox "Pressione [Enter] para finalizar o serviço de compartilhamento..." 6 41
case $? in
0)
cp $DESLIGA_SMBWEB $LIGA_SMBWEB;;
255)
echo "ESC pressionado.";;
esac
Na 3a. linha a variável DESLIGA_SMBWEB aponta para o script smbwebclientErro.php (HTML que apresenta a mensagem "SERVIÇO INDISPONÍVEL"). Este script substituirá o VERDADEIRO serviço smbwebclient.php que está em funcionamento.
Agora na 4a. linha a variável LIGA_SMBWEB aponta para o script (em execução) smbwebclient.php, que será substituído. Desta vez o script se encontra no DOCUMENTROOT do Apache (/srv/www/default/html/smbwebclient.php).
Enquanto o smbwebclient está em funcionamento, encontramos a seguinte tela no console que executamos o script:
Ao pressionarmos [ENTER] o script DESLIGAWEB finaliza o compartilhamento.
Se o serviço for solicitado após a operação acima, iremos obter a seguinte mensagem novamente:
Em resumo, basta executar o script LIGASMBWEB para levantar o serviço e pressionar [ENTER] para finalizar o acesso.
Tentei ser o mais objetivo possível neste tutorial, espero que ajude a muitos, pois este esquema se tornou uma ferramenta útil no dia-a-dia.