Ir para conteúdo
Fórum Script Brasil
  • 0

Arquivos ''.exe'' em host de sites.


Maycon Buzzola

Pergunta

É o seguinte galera, estou com uma dúvida aqui, eu creio que seja possível fazer isso, mas não sei como:
Quero saber como e se é possível eu executar um arquivo EXE em um host de sites, tipo, eu tenho disponível para mim, alguns hosts de sites, porem algum deles estão parados, sem uso... ai pensei, talvez eu possa usar para hospedar algum de meus servidores aqui!
Mas ai que ta o problema, como?
E tipo, caso eu conseguisse rodar o servidor, as pessoas conseguiriam se conectar ao servidor? já que uma vez sendo um servidor de games, ele use outras portas alem das portas comuns usadas nos sites, no caso essas portas que o servidor usaria, seriam: ''22003, 22005 e 22126"

Não me importo com segurança, ou com dificuldade do processo, só quero saber se é possível e se for possível, como?
Básicamente: Preciso executar um servidor de ''MTA'' em um host para sites.
Sim, tenho acesso completo ao cpanel do host, é um host pago.

Não leve a mal, mas Dispenso comentários do tipo:
''Melhor alugar uma vps'', ''Nem tenta, vai ter problemas de segurança de mais''...

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

É possível executar qualquer programa que seja executável via linha de comando. É só usar as Funções de Execução do PHP, como exec() e system()

Se o servidor principal tiver IP público e o firewall permita acesso às portas em questão, qualquer pessoa terá acesso, sim.

Apenas tome cuidado ao dizer "Não me importo com segurança". Uma configuração mal feita e a possibilidade de executar programar via exec() pode abrir muitas vulnerabilidades.  

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Beraldo disse:

É possível executar qualquer programa que seja executável via linha de comando. É só usar as Funções de Execução do PHP, como exec() e system()

Se o servidor principal tiver IP público e o firewall permita acesso às portas em questão, qualquer pessoa terá acesso, sim.

Apenas tome cuidado ao dizer "Não me importo com segurança". Uma configuração mal feita e a possibilidade de executar programar via exec() pode abrir muitas vulnerabilidades.  

Eu procurei alguns posts sobre isso, não entendi direito como fazer...
Não teria como me passar uma base simples de um index.php executando um arquivo exe de um diretório do host?

Meu arquivo exe está localizado em: html_public/arquivo.exe (pasta inicial do site)
Eu simplesmente quero que ele abra como exe e fique rodando ali no servidor, normalmente, mas realmente não se nada de php, só mecho cm servidor que usam js ;s
OBS: Não vou usar o site em si, só preciso que ele fique com o arquivo aberto la, ai utilizarei ele como se fosse um host VPS, entende?

Link para o comentário
Compartilhar em outros sites

  • 0
16 horas atrás, Beraldo disse:

Simples:


exec('/caminho/para/o/arquivo.exe');

Mais exemplos aqui

Olha, eu sou bem iniciante na area de php, html, css...
Mas bem, eu coloquei dentro da pasta ''html_public'' (pasta inicial do site), a pasta que contem o arquivo ''MTA_SERVER.EXE'', e solto na  ''html_public'', coloquei o arquivo ''index.php'', contendo o segundo conteúdo:
 

<?php
// TEST RUN SERVER

exec('server/MTA_SERVER.exe');
?>


Esta certo? se está certo, é só abrir o link do site que o arquivo exe já vai estar rodando no servidor?.
Exemplo, é só eu entrar no site ''www.exemplo.com/index.php'' que o arquivo "MTA_SERVER.EXE" já está rodando la no host? ou preciso fazer isso de outra forma?
E como vou saber se o arquivo está ou não esta aberto la, já que não é um computador aonde eu possa ver os processos abertos e tal...

Aqui o print do ftp, pra entender melhor como ta lá:
PASTA PUBLIC_HTML: http://prntscr.com/b3txtv
PASTA SERVER: http://prntscr.com/b3ty4s
ARQUIVO INDEX.PHP: http://prntscr.com/b3ty7m

Estou extremamente confuso sobre isso ;s
Eu só sei o básico, tipo tenho um site e 1 forum, mas nada de profissional, pode ver.
www.infernalrsps.com
www.infernalrsps.com/forum

Link para o comentário
Compartilhar em outros sites

  • 0
<?php

ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );


// TEST RUN SERVER

exec('server/MTA_SERVER.exe');
?>

Deixe o arquivo assim, pra forçar a exibição de quaisquer erros. Mais detalhes aqui

Ao acessar a URL, o PHP deve executar o comando.

E o servidor é sim um computador como qualquer outro. É possível ver os processos em execução. Basta fazer acesso remoto. Em Linux é o SSH, em Windows não tenho certeza, mas creio que seja o Remote Desktop ou algo parecido

Link para o comentário
Compartilhar em outros sites

  • 0
11 horas atrás, Beraldo disse:

<?php

ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );


// TEST RUN SERVER

exec('server/MTA_SERVER.exe');
?>

Deixe o arquivo assim, pra forçar a exibição de quaisquer erros. Mais detalhes aqui

Ao acessar a URL, o PHP deve executar o comando.

E o servidor é sim um computador como qualquer outro. É possível ver os processos em execução. Basta fazer acesso remoto. Em Linux é o SSH, em Windows não tenho certeza, mas creio que seja o Remote Desktop ou algo parecido

Bem, a página abre normalmente, porem não consigo acessar o servidor que era pra estar rodando la, não tenho certeza de ele esta mesmo rodando na maquina, pois pra eu acessar esse Servidor linux através do meu windows, eu precisaria configurar o servidor linux, mas pra configurar preciso estar nele, logo fica impossível eu entrar via 'Conexão remota'
Já que não tenho acesso a máquina, como vou saber mesmo se esta rodando o tal ''MTA_SERVER.EXE'' lá na maquina?
Já que só tenho acesso ao cpanel, tem alguma forma de eu me conectar no computador do host sem uma pré-configuração desse servidor Linux, só usando os dados FTP? ou realmente eu precisaria configurar lá no Linux, para poder acessa-lo remotamente?
E como eu poderia liberar uma porta específica desse host? teria que me conectar remotamente a ele? ou da pra fazer por FTP?

Dúvida, digamos que quando eu abrir a página index.php, o arquivo MTA_SERVER.EXE, realmente abriu la no host, caso eu reinicie a página index.php, abriria outro MTA_SERVER.EXE ? Ou simplesmente o comando seria ignorado pois o arquivo MTA_SERVER.EXE, já estaria aberto?

Caso não de mesmo para se conectar a maquina do servidor remotamente, não teria como ver os processos abertos la, via FTP?

OBS: Quando abro a página index.php, ela simplesmente fica branca e não aparece nenhum erro, creio que isso esteja correto, certo?

Desculpa pela dor de cabeça, mas você foi a unica pessoa que tentou me ajudar, caso não esteja a fim de quebrar a cabeça cmg, só avisar que eu paro de encher ;s

Link para o comentário
Compartilhar em outros sites

  • 0

FTP = File Transfer Protocol. Ou seja, FTP só serve para transferir arquivos. Nada além disso. Nem acesso remoto, nem listagem de processos.

Você executou esse script em um Linux? Um .exe nunca rodará em Linux...

Se a máquina está online, existe como acessá-la remotamente, sim. Acesso remoto em Linux é feito via SSH. Você precisará ter conhecimentos básicos de comandos linux.

Se quiser mostrar a saída do comando exec, apenas coloque "echo" antes dele:

echo exec('comando');

 

ah, sobre portas, isso é papel do firewall. Se tiver acesso a isso, é simples liberar portas. Mas se for um host compartilhado, provavelmente não vão permitir liberação de portas

Link para o comentário
Compartilhar em outros sites

  • 0
Em 15/05/2016 at 10:56, Beraldo disse:

FTP = File Transfer Protocol. Ou seja, FTP só serve para transferir arquivos. Nada além disso. Nem acesso remoto, nem listagem de processos.

Você executou esse script em um Linux? Um .exe nunca rodará em Linux...

Se a máquina está online, existe como acessá-la remotamente, sim. Acesso remoto em Linux é feito via SSH. Você precisará ter conhecimentos básicos de comandos linux.

Se quiser mostrar a saída do comando exec, apenas coloque "echo" antes dele:

echo exec('comando');

 

ah, sobre portas, isso é papel do firewall. Se tiver acesso a isso, é simples liberar portas. Mas se for um host compartilhado, provavelmente não vão permitir liberação de portas

Entendi, porem como eu não tenho acesso a maquina, como poderia configurar o acesso SSH la na maquina?
.-.
Fala vd... O meu objetivo de abrir o MTA_SERVER.exe, não vai ser possível, ne?

Link para o comentário
Compartilhar em outros sites

  • 0

Não importa o número de máquinas, sempre é possível ter acesso a elas. Imagine isto:

Sua máquina -> servidor intermediário -> servidor final

Supondo que "servidor final" só seja acessível a partir de "servidor intermediário", você precisa acessar remotamente o "servidor intermediário" e, deste servidor, acessar "servidor final". A possibilidade sempre existe. Basta ter as ferramentas certas e a permissão necessária (usuário/senha ou chave/senha)

É possível fazer o que você quer, sim. Se não fosse, eu teria dito desde o início. O problema é que está tudo muito confuso. Você não explicou até agora onde o Linux entra nessa história, pois, como eu disse, um .exe só será executável em Windows.

E, apesar de possível, parece-me totalmente desnecessário um script PHP só para executar um comando. Seria melhor fazer isso direto no servidor, ou configurar como servíco, pra iniciar junto com o boot do SO

Link para o comentário
Compartilhar em outros sites

  • 0
10 horas atrás, Beraldo disse:

Não importa o número de máquinas, sempre é possível ter acesso a elas. Imagine isto:

Sua máquina -> servidor intermediário -> servidor final

Supondo que "servidor final" só seja acessível a partir de "servidor intermediário", você precisa acessar remotamente o "servidor intermediário" e, deste servidor, acessar "servidor final". A possibilidade sempre existe. Basta ter as ferramentas certas e a permissão necessária (usuário/senha ou chave/senha)

É possível fazer o que você quer, sim. Se não fosse, eu teria dito desde o início. O problema é que está tudo muito confuso. Você não explicou até agora onde o Linux entra nessa história, pois, como eu disse, um .exe só será executável em Windows.

E, apesar de possível, parece-me totalmente desnecessário um script PHP só para executar um comando. Seria melhor fazer isso direto no servidor, ou configurar como servíco, pra iniciar junto com o boot do SO

Então, vou explicar melhor.
Eu comprei um host para sites (linux).
E pensei em usar ele pra outros fins alem de sites, como abrir um servidor de um game nele (MTA_SERVER.exe).
Mas como você disse, linux não abre exe, porem vi no google que é possível sim executar, mas teria usar alguns programas para isso, ai que entra o problema, pra eu poder configurar esse servidor linux para poder rodar o exe, eu teria que acessar ele, mas para acessar ele, eu preciso de uma configuração la no linux mesmo, certo? tipo colocar ele apto a conexão remota e tals, pegar a senha, login e tal...
Mas eu não tenho esse tipo de acesso a maquina, pra poder configurar ela e tal, até porque eu não aluguei ela toda, eu simplesmente aluguei o host de sites dela, imagino que na mesma maquina devem ter vários sites hospedados, então por motivos óbvios, o dono do host não me liberaria um acesso a ela pra eu poder 'ajusta-la' da maneira que preciso para rodar meu .exe.
Entendeu o problema?
Por isso recorri a um método de executar esse .exe, por meio de um php, achei que era possível...
Lembrando, é um host para sites, com acesso ftp, eu não tenho um acesso remoto livre ao computador, bom, pelo menos não que eu saiba...

Acha que ainda á a possibilidade de rodar esse MTA_SERVER.exe nesse host?

E muito obrigado por tentar resolver meu problema, você foi o único de vários forums que se dispôs a tentar me ajudar :D

Link para o comentário
Compartilhar em outros sites

  • 0

Acesso remoto você deve ter, pois no CPanel tem o Acesso SSH. É só configurar ali as chaves e fazer o acesso pelo terminal (ou via Putty, se seu computador for Windows)

Linux não executa arquivos .exe e ponto final. O Wine SIMULA a execução desse tipo de arquivo. Mas repito: SIMULA. Não é uma execução real, não é 100% garantido e nem é 100% possível executar qualquer .exe. O Wine apenas faz uma interface entre systemcalls do Windows (sys32) e systemcalls do Linux. Ou seja, nem toda systemcall de um sistema possui equivalente no outro.

O PHP não executa .exe também. Ele apenas chama um programa via linha de comando. E considerando que a linha de comando é do Linux, ela também não executará o .exe

E você tem outro problema: se o host é compartilhado, você não tem permissão para instalar programas, seja o Wine ou qualquer outro simulador de Windows.

No seu cenário, é impossível executar corretamente o arquivo. O melhor a fazer é contratar um servidor Windows e assim não terá problemas.

Link para o comentário
Compartilhar em outros sites

  • 0
6 horas atrás, Beraldo disse:

Acesso remoto você deve ter, pois no CPanel tem o Acesso SSH. É só configurar ali as chaves e fazer o acesso pelo terminal (ou via Putty, se seu computador for Windows)

Linux não executa arquivos .exe e ponto final. O Wine SIMULA a execução desse tipo de arquivo. Mas repito: SIMULA. Não é uma execução real, não é 100% garantido e nem é 100% possível executar qualquer .exe. O Wine apenas faz uma interface entre systemcalls do Windows (sys32) e systemcalls do Linux. Ou seja, nem toda systemcall de um sistema possui equivalente no outro.

O PHP não executa .exe também. Ele apenas chama um programa via linha de comando. E considerando que a linha de comando é do Linux, ela também não executará o .exe

E você tem outro problema: se o host é compartilhado, você não tem permissão para instalar programas, seja o Wine ou qualquer outro simulador de Windows.

No seu cenário, é impossível executar corretamente o arquivo. O melhor a fazer é contratar um servidor Windows e assim não terá problemas.

Entendi, muito obrigado pela atenção ;)

 

Link para o comentário
Compartilhar em outros sites

  • 0

Beraldo

Seguindo a dificuldade do nosso amigo Maycon Buzzola, eu também tenho interesse neste assunto.

Só que eu tenho um servidor Linux na minha empresa. Este servidor é utilizado para armazenar meus bancos de dados Firebird e MariaDB, com isso, eu tenho meu sistema de Administração da minha empresa. O que eu gostaria de fazer é poder abrir meu Delphi.EXE quando eu estiver fora da minha empresa. Atualmente eu até acesso meus banco de dados de fora da empresa porém eu tenho que ter o Delphi.EXE no meu notebook e no Delphi.INI do meu EXE eu aponto o caminho do banco de dados. O que eu gostaria é de não precisar ter o delphi.exe no notebook e simplesmente digitar o endereço externo da minha internet apontando o local onde se encontra o delphi.EXE no servidor linux e o mesmo fosse executado no meu notebook entendeu ? Sem ter que fazer um download do delphi.EXE para o notebook.

Se puder dar umas dicas sobre essa possibilidade agradeço muito, só lembrando, eu tenho todos os acessos e senhas deste servidor pois está no meu escritório.

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...