Responder 
 
Avaliação do Tópico:
  • 0 Votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Acesso USB através do servidor Apache
10/10/2011, 21:35 (Resposta editada pela última vez em: 10/10/2011 21:46 por hax0r3x.)
Resposta: #1
Acesso USB através do servidor Apache
Olá pessoal!

Fiz um script em PHP para enviar/receber dados da porta USB.
Ao executar pelo terminal ($php script.php) funciona corretamente. Mas eu preciso deixar rodando no servidor Apache.

O problema é que ao executar o script pelo Apache nada ocorre, parecendo ser alguma configuração do servidor... Alguem sabe o que devo fazer?

abs
Acabei de testar em uma maquina com Windows 7 rodando o Xampp (que vem com varias permissões habilitadas) e funcionou.
O problema é mesmo no Apache, que no Debian instalei via apt-get.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
12/10/2011, 13:46
Resposta: #2
RE: Acesso USB através do servidor Apache
Notei que o acesso a porta USB /dev/ttyACM0 está para o usuario root e grupo dialout.
Como faço para que o serviço apache tenha o mesmo acesso do grupo dialout?

abs
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
12/10/2011, 20:17
Resposta: #3
RE: Acesso USB através do servidor Apache
achei o seguinte comando:
Código:
usermod -G dialout apache

será que isso funciona?
ou será que o certo é modificar alguma permissão do próprio apache, para ter acesso usb?
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
18/10/2011, 14:02
Resposta: #4
RE: Acesso USB através do servidor Apache
Como faço para que o serviço apache tenha as mesmas permissões do grupo 'dialout' ?
Sem que seja necessario criar um usuário para o apache...

abs
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
19/10/2011, 16:54
Resposta: #5
RE: Acesso USB através do servidor Apache
alguem pode me ajudar com essa questão?

abs
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
21/10/2011, 13:52
Resposta: #6
RE: Acesso USB através do servidor Apache
Olá,

Já pensou em utilizar o sudo?
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
24/10/2011, 18:45
Resposta: #7
RE: Acesso USB através do servidor Apache
Olá.

Não entendi.
Eu rodo o comando como root porem o que preciso é apenas dar permissão ao serviço Apache para ler/gravar na USB e não criar um usuário Apache, entendeu?

Pode ser alguma configuração do próprio Apache. Que até hoje não encontrei :/

abs
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
27/10/2011, 17:19
Resposta: #8
RE: Acesso USB através do servidor Apache
Então,

Tente a configuração com sudo para ver se funciona, se não acredito que incluindo o mesmo nos grupos de acesso a USB deve funcionar.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
05/12/2011, 22:40 (Resposta editada pela última vez em: 06/12/2011 11:56 por hax0r3x.)
Resposta: #9
RE: Acesso USB através do servidor Apache
Olá!

Tentei criar o usuário apache e adicionar no grupo 'dialout' mas não funcionou, pois não tem nada a ver com o serviço apache...
Existe alguma forma de fazer com que o serviço apache tenha permissão para acessar a USB sendo que não é um usuário?

não sei se fui claro :/
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
06/12/2011, 03:37
Resposta: #10
RE: Acesso USB através do servidor Apache
O spikey falou e você simplesmente ignorou, porque não tentou o sudo?

ANTES DE PERGUNTAR QUALQUER COISA -> http://www.istf.com.br/perguntas/
Visitar o website do usuário Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
06/12/2011, 11:50 (Resposta editada pela última vez em: 06/12/2011 11:55 por hax0r3x.)
Resposta: #11
RE: Acesso USB através do servidor Apache
Olá sistematico,

Eu não entendi.
O que devo fazer com 'sudo'?

não tenho o usuário apache, pois ele é um serviço.
então como coloco o serviço em um grupo de usuários?

desculpa a ignorância, mas continuo confuso ainda.
abs
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
07/12/2011, 23:45
Resposta: #12
RE: Acesso USB através do servidor Apache
Adicione o usuário que está executando o Apache, no caso você pode descobrir com o comando "ps aux" e verificar o usuário que está executando o processo.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
14/12/2011, 19:23 (Resposta editada pela última vez em: 14/12/2011 19:24 por hax0r3x.)
Resposta: #13
RE: Acesso USB através do servidor Apache
Olá pessoal, obrigado por estarem me ajudando.

Então, conforme o spikey disse verifiquei com o comando ps aux que o apache roda pelo usuário root e www-data.
Em seguida fiz o comando:
Código:
gpasswd -a www-data dialout


Mesmo assim, a comunicação USB só funciona se eu der permissão rw para todos no dispositivo /dev/ttyACM0. O que não posso deixar por questões de segurança...

Se for útil, seguem as permissões atuais dos arquivos.
Código:
$ ls -l /var/www/comunicacaoSerial.php
-rw-r--r-- 1 root root 724 Dez  5 23:12 /var/www/comunicacaoSerial.php
Código:
$ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 Dez 14 20:05 /dev/ttyACM0

abs
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
11/01/2012, 17:33
Resposta: #14
RE: Acesso USB através do servidor Apache
Olá!

Depois de muita pesquisa na web encontrei um esquema do udev.
Criei o arquivo /etc/udev/rules.d/z61_arduino.rules, com o conteudo similar a esse:

Código:
SUBSYSTEMS=="usb", ATTRS{idProduct}=="XXXX", ATTRS{idVendor}=="YYYY", SYMLINK+="ttyUSB%n"

Então agora posso adicionar o dispositivo no grupo do serviço apache: GROUP=="www-data"
ou dar permissão para todos lerem/escreverem MODE=="666"

Só não sei qual o correto, alguem tem ideia?

abraço
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
Responder 


Ir ao Fórum:


Usuários visualizando este tópico: 1 Visitantes

Entre em Contato | Fórum Debian | Voltar ao Topo | Voltar ao Conteúdo | Modo Leve (Arquivo) | Feeds RSS