szymhal | 2017-09-16 16:32:52 UTC | #1
Cześć,
posiadam aplikację bota na serwerze TeamSpeak. Chciałbym, abym z poziomu przeglądarki mógł restartować/włączać/wyłączać tego bota. W tym celu stworzyłem w katalogu root 3 pliki: ./botstart.sh ./botstop.sh ./botrestart.sh.
Potem przystąpiłem do tworzenia strony www i w sumie to tyle, bo dalej nie wiem co i jak :smiley:
Pomoże mi ktoś zrobić prostą, bo nie zależy mi na wyglądzie, tylko na funkcjonalności strony.
Klikam w guzik start, wykonuje komendę ./botstart.sh. w guzik stop komendę ./botstop.sh etc..
Ktoś wie jak to zrobić? Mam drobny styl przycisku, można zastosować.
button { background-color: #4CAF50; color: white; padding: 14px 20px; margin: 8px 0; border: none; cursor: pointer; width: 100%; } button:hover { opacity: 0.8; }
Z góry dzięki za pomoc.
Hank | 2017-09-16 17:44:21 UTC | #2
Moższ do tego użyć SSH2, załączam link do dokumentacji:
http://php.net/manual/en/book.ssh2.php
Miłej zabawy :slight_smile:
szymhal | 2017-09-16 18:48:05 UTC | #3
https://hastebin.com/ijapipokug.xml
Tak wygląda mój kod, lecz komendy nadal nie są wykonywane, ale łączenie się działa.
szymhal | 2017-09-17 08:35:06 UTC | #4
Any suggestions?
Nieznajomy11 | 2017-09-17 08:39:02 UTC | #5
Podaj absolutny path
szymhal | 2017-09-17 08:45:31 UTC | #6
$stream = ssh2_exec($connection, '/root/./botstart.sh');
W ten sposób?
To również nie działa, chociaż, że w konsoli putty normalnie się wykonuje.
Nieznajomy11 | 2017-09-17 08:55:06 UTC | #7
a od kiedy użytkownik apache czy tez www-data ma dostep do /root? :>
a dobra, tam jest laczenie, ale w kazdym razie to tez wazne
ja bym umiescil to poza /root w jakims innym folderze i sprawdzil podajac absolutny path bez jakichs dziwnych kropek :P
szymhal | 2017-09-17 09:02:36 UTC | #8
W katalogu /home/user/
są utworzone trzy pliki o których już pisałem (start, stop, restart).
https://hastebin.com/zigabicoqu.xml <- tak wygląda plik index.php
Komendy nadal się nie wykonują, a pliki mają odpowiednie uprawnienia.
Gdy loguję się na konto usera, normalnie mogę wykonywać w/w komendy.
Nieznajomy11 | 2017-09-17 09:03:25 UTC | #9
czemu ta kropke tak dziwnie stawiasz? :thinking:
probowales wstawic /bin/bash /home/user/botstop.sh
?
szymhal | 2017-09-17 09:08:18 UTC | #10
Wstawiając nawet taką komendę - nie jest ona wykonywana.
function queryConnOn(){
$connection = ssh2connect(‘adres ip’, 22);
ssh2authpassword($connection, ‘user, ‘password’);
$stream = ssh2exec($connection, ‘/bin/bash /home/user/botstart.sh’);
}
function queryConnOff(){
$connection = ssh2connect(‘adres ip’, 22);
ssh2authpassword($connection, ‘user, ‘password’);
$stream = ssh2exec($connection, ‘/bin/bash /home/user/botstart.sh’);
}
function queryConnRestart(){
$connection = ssh2connect(‘adres ip’, 22);
ssh2authpassword($connection, ‘user, ‘password’);
$stream = ssh2exec($connection, ‘/bin/bash /home/user/botstart.sh’);
}
Aylin | 2018-07-06 11:27:36 UTC | #11