[참고] WebUI에서 닫기(보안 제외)

6288 단어 RaspberryPi

개요

  • shutdown이나reboot, 타자는 매우 번거롭다.
    버튼을 눌러 재부팅 또는 종료
    => php에서 system 함수라고 하는 웹 서버를 만듭니다...

  • 안전성을 고려하지 않았기 때문에 외부에서 연결하지 않기 위해 집안의 LAN이나 라스파만 와이파이-AP 같은 것으로 바꾸자.
  • 참조: Basic way to shutdown via web
  • 환경

  • Raspberry Pi 2/3
  • Raspbian: 2017-04-10-raspbian-jessie
  • lighttpd
  • 사용
  • 모르는 사람이 들어오지 못하게 하는 인터넷 환경.
  • 단계


  • 보통이었어
  • Raspbian 구이
  • 적절히 초기 설정
  • 패키지 업데이트: sudo apt-get update && sudo apt-get upgrade -y

  • 네트워크 서버 배치, php 활성화
    # パッケージ取得
    sudo apt-get update && sudo apt-get install lighttpd php5-cgi
    # モジュールを有効化
    sudo lighty-enable-mod fastcgi fastcgi-php
    # サービス再起動
    sudo systemctl restart lighttpd.service
    
  • /var/www/html html의 루트 디렉터리
  • 브라우저에서 http://<없는 IP 주소>/
  • 에 첨부

  • sudores 설정
    껍질에 작은 가죽이 있다
    # www-dataユーザが、sudo shutdownを呼べるようにする.
    # ファイル:/etc/sudoers.d/www-data_shutdown
    echo 'www-data ALL= NOPASSWD: /sbin/shutdown' | sudo tee /etc/sudoers.d/www-data_shutdown
    

  • html,php 파일 준비
    껍질에 작은 가죽이 있다
    # ファイル:/var/www/html/shutdown.php
    cat <<EOF | sudo tee /var/www/html/shutdown.php
    <script>setTimeout(function(){ history.go(-1); }, 1000);</script>
    <?php system('sudo /sbin/shutdown -h now > /dev/null &'); ?>
    Shutting down
    EOF
    #
    # ファイル: /var/www/html/reboot.php
    cat <<EOF | sudo tee /var/www/html/reboot.php
    <script>setTimeout(function(){ history.go(-1); }, 1000);</script>
    <?php system('sudo /sbin/shutdown -r now > /dev/null &'); ?>
    Rebooting
    EOF
    #
    # ファイル: /var/www/html/index.html
    cat <<EOF | sudo tee /var/www/html/index.html
    <html>
    <form action="reboot.php ">    <input type="submit" value="Reboot" style="height: 240px; width: 50% ;font-size: 50px;" /></form>
    <br><br><br><br><br><br>
    <form action="shutdown.php ">    <input type="submit" value="Shutdown" style="height: 240px; width: 50% ;font-size: 50px;" /></form>
    </html>
    EOF
    

  • /var/www/html/이하

  • 버튼누르면 php 파일로 이동
    index.html
    <html>
    <form action="reboot.php ">    <input type="submit" value="Reboot" style="height: 240px; width: 50% ;font-size: 50px;" /></form>
    <br><br><br><br><br><br>
    <form action="shutdown.php ">    <input type="submit" value="Shutdown" style="height: 240px; width: 50% ;font-size: 50px;" /></form>
    </html>
    

  • 닫다
    shutdown.php
    <script>setTimeout(function(){ history.go(-1); }, 1000);</script>
    <?php system('sudo /sbin/shutdown -h now > /dev/null &'); ?>
    Shutting down
    

  • 재부팅
    reboot.php
    <script>setTimeout(function(){ history.go(-1); }, 1000);</script>
    <?php system('sudo /sbin/shutdown -r now > /dev/null &'); ?>
    Rebooting
    
  • 브라우저에서 http://< IP 주소 없음>/에 액세스합니다.
    디자인이 별로면 쓰고 싶은데...
  • 좋은 웹페이지 즐겨찾기