Ir para conteúdo

Featured Replies

Postado

Fala Galera,

Hoje eu venho trazer um tutorial a vocês de um Painel de Controle Online para gerenciamento de seu OT. Com este exemplo, creio que vai inspirar muita gente a criar novas ferramentas. Minha intenção era vincular ao Gesior, porém, deixo por conta da imaginação de vocês.

Pré-requisitos:
Liberar a função "shell_exec" no seu PHP.
Instalar os comandos sudo e screen.
 
Vamos Começar...
Faça login no seu servidor com o root.
 
Entre com o comando em negrito:

pico /etc/init.d/theforgottenserver e adicione isso:
 

#!/bin/sh
#
# Startup and signals management script for TheForgottenServer
#

case "$1" in
  start)
        echo -n "Starting theforgottenserver: "
        cd $2 && screen -AdmS ./theforgottenserver &
        echo "done."
        ;;
  stop)
        echo -n "Shutting down theforgottenserver: "
        killall -TERM theforgottenserver
        echo "done."
        ;;
  kill)
        echo -n "Killing theforgottenserver: "
        killall -KILL theforgottenserver
        echo "done."
        ;;
  quit)
        echo -n "Quitting theforgottenserver: "
        killall -QUIT theforgottenserver
        echo "done."
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  reload)
        echo -n "Reloading theforgottenserver: "
        killall -CONT theforgottenserver
        echo "done."
        ;;
  save)
        echo -n "Saving theforgottenserver data: "
        killall -HUP theforgottenserver
        echo "done."
        ;;
  clean)
        echo -n "Cleaning theforgottenserver map: "
        killall -TRAP theforgottenserver
        echo "done."
        ;;
  refresh)
        echo -n "Refreshing theforgottenserver map: "
        killall -CHLD theforgottenserver
        echo "done."
        ;;
  close)
        echo -n "Setting theforgottenserver gamestate to closed: "
        killall -USR1 theforgottenserver
        echo "done."
        ;;
  open)
        echo -n "Setting theforgottenserver gamestate to normal: "
        killall -USR2 theforgottenserver
        echo "done."
        ;;
  *)
        echo "Usage: $0 {start path|stop|kill|quit|restart|reload|save|clean|refresh|close|open}"
        exit 1
esac

exit 0

Pressione F2 e salve o arquivo.

Agora entre com os seguintes comandos:
 

chmod 777 /etc/init.d/theforgottenserver
chown -R www-data.www-data /etc/init.d/theforgottenserver

 
Em seguida, entre com o comando em negrito abaixo:

visudo e adicione a linha abaixo no fim do arquivo:
 

www-data ALL= NOPASSWD: /etc/init.d/theforgottenserver

Pressione F2 e salve o arquivo.

Bom, agora vamos configurar o site...
Navegue até o diretório www (cd /var/www?) e crie um novo diretório chamado "controle" (mkdir controle && cd controle).

Entre com o comando em negrito abaixo:
pico index.php e cole:
 

<?php

$path = "/home/otserv"; //Altere para o diretório do seu servidor aqui

$options = array("start" => true, "stop" => true, "kill" => true, "quit" => false, "restart" => true, "reload" => true, "save" => true, "clean" => true, "refresh" => false, "close" => true, "open" => true);

echo "<html>
    <head>
        <meta content=\"text/html; charset=UTF-8\" http-equiv=\"content-type\">
        <title>TheForgottenServer WWW Control</title>
    </head>
    <body style=\"color: rgb(0, 0, 0); background-color: rgb(204, 204, 255);\" alink=\"#000099\" link=\"#000099\" vlink=\"#990099\">\n";
if(isset($_GET['do']) && in_array($_GET['do'], $options) && $options[$_GET['do']])
{
    $output = shell_exec("/usr/bin/sudo /etc/init.d/theforgottenserver ".$_GET['do'].($_GET['do'] == "start" ? " ".$path : ""));
    echo nl2br($output)."\n<br />\n<a href=\"".$_SERVER['HTTP_REFERER']."\">&raquo Back</a>\n";
}
else
{
    echo "\t\tAvailable options:<br />\n";
    foreach($options as $option => $enabled)
    {
        if($enabled)
            echo "\t\t<br />\n\t\t&raquo; <a href=\"".$_SERVER['PHP_SELF']."?do=".$option."\">".ucfirst($option)."</a>\n";
    }
}
    echo "\t</body>
</html>";
?>

Pressione F2 e salve o arquivo.
 
Bom galera, agora basta acessar http://seuip/controle e fazer o teste.
 
Lembrando que dessa forma, qualquer um pode acessar, procure proteger com um arquivo .htacess ou integre ao seu website.
 
OBS: Neste tutorial, foi usado o editor pico, porém isso fica a critério de vocês.
 
Créditos:
elf (tutorial em inglês)
Bruno Minervino (redigir tutorial e fazer algumas alterações)

Atenciosamente,

Bruno Minervino

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo