jensej 2 Zgłoś post Napisano Marzec 28, 2013 (edytowany) Wita. Próbuję wdrożyć na swój serwer panel dzięki któremu będe mógł odpalać serwer gry przez WWW. zrobiłem tak: pico /etc/init.d/theforgottenserver #!/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 visudo www-data ALL= NOPASSWD: ALL no i oczywiście w /var/www/control <?php $path = "/home/ots"; $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']."\">» Back</a>\n"; } else { echo "\t\tAvailable options:<br />\n"; foreach($options as $option => $enabled) { if($enabled) echo "\t\t<br />\n\t\t» <a href=\"".$_SERVER['PHP_SELF']."?do=".$option."\">".ucfirst($option)."</a>\n"; } } echo "\t</body> </html>"; ?> jednak po wybraniu komendy start z panelu nie ma reakcji. Widnieje jedynie button <<back. Poproszę o jakieś porady. Edytowano Marzec 28, 2013 przez jensej (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Marzec 28, 2013 (edytowany) Logi? chmod +x /etc/init.d/theforgottenserver Edit: A sudo masz zainstalowane? Bo z tego co widzę to masz wymagane a podejrzewam że nie instalowałeś Edytowano Marzec 28, 2013 przez Kamikadze (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
jensej 2 Zgłoś post Napisano Marzec 28, 2013 sudo is already the newest version. sudo jest. chmod: cannot access `/etc/init.d/theforgottenserver': No such file or directory zapomniałem napisać o tych chmodach Udostępnij ten post Link to postu Udostępnij na innych stronach
Syndrom 95 Zgłoś post Napisano Marzec 28, 2013 Jest w ogóle ten plik w tej lokalizacji: /etc/init.d/theforgottenserver Pozatym, jeśli ktoś umieści skrypt php na serwerze to będzie mógł zrobić wszystko skoro dajesz uprawnienia dla usera www-data na sudo. Jeśli już to ustaw sudo dla tego usera bez hasła tylko dla tej komendy a nie dla wszystkich. Udostępnij ten post Link to postu Udostępnij na innych stronach
jensej 2 Zgłoś post Napisano Marzec 28, 2013 (edytowany) była spacja. już poprawiłem, jednak nadal bez reakcji. może coś związanego z shell_exec ? Edytowano Marzec 28, 2013 przez jensej (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Marzec 28, 2013 spróbuj z palca wpisać komendę rozruchu jak się uda to zobacz czy nie masz zablokowanej funkcji shell_exec w php.ini Udostępnij ten post Link to postu Udostępnij na innych stronach