PDA

View Full Version : Creare pagina web per spegnere o riavviare il pc


z3n0
13-03-2008, 10:58
Salve a tutti,
come da oggetto, avrei bisogno di creare una semplicissima pagina web, con 2 pulsanti..

uno per riavviare la macchina e l'altro per spegnerla..

questo mi permetterà di non avere mouse, tastiera e monitor alla macchina..

qualcuno sa cme si fa? in rete non sono riuscito a trovare niente..

ps: la macchina è ubuntu, ovviamente con apache2 e php5 ;)

VICIUS
13-03-2008, 11:26
In php puoi lanciare comandi normali usando `comando`. Probabilmente però avrai problemi di permessi o di path visto che sono comandi un po' pericolosi da usare via web :)

Devil!
13-03-2008, 11:42
Per non essere costretto a usare monitor, tastiera e mouse basta che installi un server SSH, così puoi impartire qualsiasi comando da remoto.

greeneye
13-03-2008, 11:42
Salve a tutti,
come da oggetto, avrei bisogno di creare una semplicissima pagina web, con 2 pulsanti..

uno per riavviare la macchina e l'altro per spegnerla..

questo mi permetterà di non avere mouse, tastiera e monitor alla macchina..

qualcuno sa cme si fa? in rete non sono riuscito a trovare niente..

ps: la macchina è ubuntu, ovviamente con apache2 e php5 ;)

Una domanda: la se la macchina è spenta come fa a mostrarti la pagina? :doh:


Per lo spegnimento è facile: basta che in un qualche modo si invochi il comando 'shutdown'

Disporso diverso è l'accensione che per ovvie ragioni coinvolge diverse componenti, è chiamata WOL dalle iniziali di Wake On Lan (esistono diverse guide sull'argomento)


1) Prima di tutto, l'hardware della macchina deve supportare il WOL.
La macchina deve essere atx (ovvio) e sia la scheda madre che la scheda di rete supportare il wol.
Alcune schede richiedono che si colleghi la scheda di rete alla scheda madre con un cavetto a 2 o 3 fili.
Certe schede di rete dichiarano la compatibilità con il wol ma poi alla resa dei conti non funziona con linux (p.e. la mia 3com)

2) Poi il wol deve essere abilitato nel bios della macchina da accendere.

3) da una seconda macchina bisogna mandare un pacchetto ip, chiamato "pacchetto magico", che sveglia la macchina dormiente e la mette in funzione

z3n0
13-03-2008, 12:06
innanzitutto vi ringrazio per le risposte..

nel mio caso, la pagina web serve solo per permettermi di spegnere o riavviarla..
per accenderla non è un problema..

ho cmq bisogno di interfaccia grafica, per facilitare gli altri componenti della famiglia nello spegnimento..

qualcuno ha informazioni piu dettagliate su questo invocare i comandi in php?

BlSabbatH
13-03-2008, 13:32
per accenderla non è un problema..

ho cmq bisogno di interfaccia grafica, per facilitare gli altri componenti della famiglia nello spegnimento..

e allora perchè non installi VNC ? giusto per capire cos'è.. (http://www.itopen.it/2005/08/12/un-desktop-virtuale-con-vnc-2/)

z3n0
13-03-2008, 14:02
come dicevo prima, io non ho problemi a spegnerla, sono gli altri utenti ad averli!
l'ho scritto piu sù (intendo papà, fratello ecc)..

avere un sito con il pulsante è molto semplice per tutti..

khelidan1980
13-03-2008, 14:08
come dicevo prima, io non ho problemi a spegnerla, sono gli altri utenti ad averli!
l'ho scritto piu sù (intendo papà, fratello ecc)..

avere un sito con il pulsante è molto semplice per tutti..

si ma con vnc puoi fare in modo di collegarti anche alla sessione X corrente sulla macchina,quindi poi puoi spegnere come se stessi usando localmente il pc

l'alternativa è approfondire il discorso di VICIUS,credo appunto poi il problema sarà il tuning del web server

greeneye
13-03-2008, 14:14
Basta usare l'istruzione exec per impartire il comando shutdown

http://us3.php.net/manual/it/function.exec.php

quindi il codice sarà del tipo:

<?php
exec("/sbin/shutdown -r now")
?>

Ora il problema è che l'utente che esegue il programma non ha i permessi per eseguire shutdown

<?php
exec("/sbin/sudo /sbin/shutdown -r now")
?>

Per questo usiamo sudo: va aggiunta una riga nel file di configurazione (sudoers)

apache ALL = (root) NOPASSWD: /sbin/shutdown

Nota: non sono per niente un esperto di sudo, probabilmente la regola va scritta meglio

z3n0
13-03-2008, 17:07
ooooooook ci son riuscito :P

la funzione giusta è exec come mi avevate consigliato, ma non riuscito ad eseguire i comandi..

controllando i log ho notato che richiedeva la pass, quindi i settaggi di sudoers non andavano bene (ho messo sia l'utente, che apache)..

poi ho scoperto, che bisogna settare dare i permessi al gruppo www-data in sudoers ed è andato :P

sperando che questo post possa essere d'aiuto a tanti altri niubbi come me ;)

dennyv
14-03-2008, 12:13
Piano ancora più "estremo" per chi non sa neppure cos'è php c'è Webmin (http://www.webmin.com) con il quale può creare un utente ad hoc per accedere solo alle funzioni di shutdown oppure lasciarla senza neppure la password ma limitando l'accesso solo ad alcuni IP. il tutto a portata di click!

Ciao!

z3n0
14-03-2008, 22:25
dennyv grande segnalazione!

ho dimenticato di segnalarlo anche io...l'ho provato ed è fantastico!

sylvaticus
15-03-2008, 18:04
Salve a tutti,
come da oggetto, avrei bisogno di creare una semplicissima pagina web, con 2 pulsanti..

uno per riavviare la macchina e l'altro per spegnerla..

questo mi permetterà di non avere mouse, tastiera e monitor alla macchina..

qualcuno sa cme si fa? in rete non sono riuscito a trovare niente..

Installa Webmin, che fa anche questo....

z3n0
15-03-2008, 18:31
Installa Webmin, che fa anche questo....

è stato segnalato 2 post sopra ;)

grazie cmq..

sylvaticus
15-03-2008, 19:09
hai ragione, scusa.. ammetto che non avevo letto tutto il thread ;-)

z3n0
16-03-2008, 13:24
:cool:

M_82
16-03-2008, 15:54
perchè non imposti al tasto di accensione tale funzione? quando lo premi esce il menu da cui decidi di spegnere, riavviare, ibernare...

z3n0
17-03-2008, 21:58
perchè dovresti spiegare a tutti il vnc, poi devono premere il pulsante ecc..

invece con la pagina che ho fatto, gli metti il link sul desktop, click su "spegni" e tac :P