Apache Web Server - mrolarik/simple-iot GitHub Wiki

ติดตั้งโปรแกรม Web Server

สำหรับ Linux นั้นโปรแกรมที่จำลองเว็บเซิร์ฟเวอร์มีหลายตัว เช่น SimpleHTTPServer, BaseHTTPServer, CherryPy และ Flask อ่านเพิ่มเติมได้ที่

  1. อัพเดทระบบ Linux - Update
$ sudo apt-get update
  1. ติดตั้ง Apache - Install $ sudo apt-get install apache2

ตรวจสอบสถานะการทำงาน Apache Web Server

  1. เมื่อติดตั้งเสร็จเรียบร้อยสามารถดูสถานะการทำงานของ Apache ได้ดังนี้
$ sudo service apache2 status

ผลลัพธ์ที่ได้

apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Fri 2017-05-19 18:30:10 UTC; 1h 5min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4336 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 4359 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 55
   Memory: 2.3M
      CPU: 4.094s
   CGroup: /system.slice/apache2.service
           ├─4374 /usr/sbin/apache2 -k start
           ├─4377 /usr/sbin/apache2 -k start
           └─4378 /usr/sbin/apache2 -k start

May 19 18:30:09 ubuntu-512mb-nyc3-01 systemd[1]: Stopped LSB: Apache2 web server.
May 19 18:30:09 ubuntu-512mb-nyc3-01 systemd[1]: Starting LSB: Apache2 web server...
May 19 18:30:09 ubuntu-512mb-nyc3-01 apache2[4359]:  * Starting Apache httpd web server apache2
May 19 18:30:09 ubuntu-512mb-nyc3-01 apache2[4359]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
May 19 18:30:10 ubuntu-512mb-nyc3-01 apache2[4359]:  *
May 19 18:30:10 ubuntu-512mb-nyc3-01 systemd[1]: Started LSB: Apache2 web server.
  1. หากต้องการให้ Apache ทำการรีสตาร์ท ขณะที่กำลังทำงานอยู่ สามารถใช้คำสั่ง
$ sudo service apache2 restart
  1. หากต้องการใช้ Apache หยุดการทำงาน ใช้คำสั่ง
$ sudo service apache2 stop
  1. หากต้องการใช้ Apache เริ่มทำงาน สามารถใช้คำสั่ง
$ sudo service apache2 start
  1. นอกจากคำสั่ง service ยังสามารถใช้คำสั่ง systemctl ดังนี้
$ sudo systemctl start apache2
  1. ในกรณีที่มีการเปลี่ยนแปลงไฟล์ หรือแก้ไข Configuration ไฟล์ระบบของ Apache จะต้องทำการ reload ระบบใหม่ สามารถทำได้ดังนี้
$ sudo systemctl reload apache2
  1. โดยพื้นฐานแล้ว Apache Web Server จะทำงานโดยอัตโนมัติ (start automatically) หลังจากเปิดเครื่อง Server ดังนั้นหากไม่ต้องการให้ Apache ทำงานโดยอัตโนมัติสามารถใช้คำสั่งนี้
$ sudo systemctl disable apache2
  1. แต่หากต้องการใช้ Apache Web Server กลับมาทำงานโดยอัตโนมัติอีกครั้ง สามารถใช้คำสั่งต่อไปนี้ในการทำงาน
$ sudo systemctl enable apache2

ที่อยู่ที่ใช้จัดเก็บข้อมูลที่ต้องการแสดงบนเว็บ - Web Content

  • เมื่อติดตั้ง Apache Web Server และกำหนดค่าต่าง ๆ เรียบร้อยแล้ว โดยทั่วไป Web Content จะถูกเก็บไว้ที่ /var/www/html
  • ดังนั้นการเข้าถึง Web Content สามารถทำได้โดย
$ cd /var/www/html
  • แต่หากต้องการที่จะเปลี่ยนที่จัดเก็บ Web Content จะต้องปรับเปลี่ยนที่ Configuration File

การใช้งาน Web Server

  • เพื่อตรวจสอบการทำงานของ Apache Web Server สามารถเปิดโปรกรม Web Browser และพิมพ์ url ดังนี้
http://your_server_ip
  • หากโปรแกรมทำงานจะปรากฎหน้าจอดังต่อไปนี้ web browser

ทดสอบการทำงานของภาษา PHP บน Web Server

สามารถทดสอบการทำงานได้โดย

  1. สร้างไฟล์นามสกุล php โดยพิมพ์คำสั่งดังต่อไปนี้บน Terminal
$ sudo nana /var/www/php_info.php
  1. จากนั้นพิมพ์คำสั่งต่อไปนี้ลงไป
<?php
phpinfo();
?>
  1. กดปุ่ม ctrl+x เพื่อบันทึกไฟล์และออกจากโปรแกรม nana
  2. เพื่อให้แน่ใจว่า Apache Web Server ทำงานอยู่ สามารถพิมพ์คำสั่งดังนี้
$ sudo service apache2 restart
  1. จากนั้นเปิดเว็บบราวเซอร์และพิมพ์ url ดังนี้
http://your_server_ip/php_info.php

จากนั้นเว็บบราวเซอร์จะเปิดไฟล์และทำงาน ผลลัพธ์ที่ได้ php info

  • จากตัวอย่าง server_ip คือ 12.34.56.789 ดังนั้นจึงพิมพ์ http://12.34.56.789/php_info.php ลงไปในช่อง url

รายละเอียดสำหรับการ Configuration สามารถอ่านเพิ่มเติมได้จาก