Stänga av server via webbsida [LÖST]
Postat: 21 maj 2009, 19:54
Hej!
Har en "hemmaserver" med Ubuntu Server Edition 9.04, och skulle vilja ha möjligheten att stänga av servern via en webbsida (så att man kan stänga av den från vilken dator på nätverket som helst). Har Apache2, PHP5, php5-cli, mysql etc installerat.
Har försökt experiementera lite med shell_exec i PHP, och försökt med följande (som tyvärr inte fungerar... ingenting händer helt enkelt...):
Vet inte om jag har tänkt helt fel med det här skriptet, eller är inne på fel bana, men det är något motsvarande jag tänkt mig. Jag gissar att problemet här har att göra med att man måste vara sudo för att kunna stänga av och reboota, men vet inte om det är möjligt att göra med php.
Tanken är helt enkelt att man via en knapp på webbsidan (som är lösenordsskyddad och bara kan nås från LAN) ska kunna slå av servern och reboota den. I dagsläget styr jag den via SSH, men alla datorer har inte SSH, och dessutom skulle det var enklare för resten av familjen om de bara behövde klicka på en knapp, ange ett lösenord, och sedan är är den avstängd
Tack på förhand!
/Christoffer
Edit: Förtydligade lite vad jag menade...
Har en "hemmaserver" med Ubuntu Server Edition 9.04, och skulle vilja ha möjligheten att stänga av servern via en webbsida (så att man kan stänga av den från vilken dator på nätverket som helst). Har Apache2, PHP5, php5-cli, mysql etc installerat.
Har försökt experiementera lite med shell_exec i PHP, och försökt med följande (som tyvärr inte fungerar... ingenting händer helt enkelt...):
Kod: Markera allt
<?php
if ( $_POST['SubmitShutdown'] )
{
if ( shell_exec ( 'shutdown -h now' ) )
{
header ( "location: index.php?action=shutdown_server&s=1&msg=Server%20is%20now%20shutting%20down" ) ;
}
else
{
header ( "location: index.php?action=shutdown_server&s=0&msg=Error,%20could%20not%20shut%20down%20server" ) ;
}
}
elseif ( $_POST['SubmitReboot'] )
{
if ( shell_exec ( 'reboot' ) )
{
header ( "location: index.php?action=reboot_server&s=1&msg=Server%20is%20now%20rebooting" ) ;
}
else
{
header ( "location: index.php?action=reboot_server&s=0&msg=Error,%20could%20not%20reboot%20server" ) ;
}
}
else
{
###Do nothing :-)
}
?>
Tanken är helt enkelt att man via en knapp på webbsidan (som är lösenordsskyddad och bara kan nås från LAN) ska kunna slå av servern och reboota den. I dagsläget styr jag den via SSH, men alla datorer har inte SSH, och dessutom skulle det var enklare för resten av familjen om de bara behövde klicka på en knapp, ange ett lösenord, och sedan är är den avstängd

Tack på förhand!
/Christoffer
Edit: Förtydligade lite vad jag menade...