Apache Web Server - mrolarik/simple-iot GitHub Wiki
ติดตั้งโปรแกรม Web Server
สำหรับ Linux นั้นโปรแกรมที่จำลองเว็บเซิร์ฟเวอร์มีหลายตัว เช่น SimpleHTTPServer, BaseHTTPServer, CherryPy และ Flask อ่านเพิ่มเติมได้ที่
-
https://opensource.com/business/16/8/top-5-open-source-web-servers
-
ในกรณีนี้จะยกตัวอย่างการติดตั้ง Apache Web Server Apache ซึ่งเป็น free open source software ที่มีคนนิยมใช้กันมากในปัจจุบัน การติดตั้ง Apache Web Server มีขั้นตอนไม่ยุ่งยาก ทำได้ดังนี้
- อัพเดทระบบ Linux - Update
$ sudo apt-get update
- ติดตั้ง Apache - Install
$ sudo apt-get install apache2
ตรวจสอบสถานะการทำงาน Apache Web Server
- เมื่อติดตั้งเสร็จเรียบร้อยสามารถดูสถานะการทำงานของ 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.
- หากต้องการให้ Apache ทำการรีสตาร์ท ขณะที่กำลังทำงานอยู่ สามารถใช้คำสั่ง
$ sudo service apache2 restart
- หากต้องการใช้ Apache หยุดการทำงาน ใช้คำสั่ง
$ sudo service apache2 stop
- หากต้องการใช้ Apache เริ่มทำงาน สามารถใช้คำสั่ง
$ sudo service apache2 start
- นอกจากคำสั่ง
service
ยังสามารถใช้คำสั่งsystemctl
ดังนี้
$ sudo systemctl start apache2
- ในกรณีที่มีการเปลี่ยนแปลงไฟล์ หรือแก้ไข Configuration ไฟล์ระบบของ Apache จะต้องทำการ reload ระบบใหม่ สามารถทำได้ดังนี้
$ sudo systemctl reload apache2
- โดยพื้นฐานแล้ว Apache Web Server จะทำงานโดยอัตโนมัติ (start automatically) หลังจากเปิดเครื่อง Server ดังนั้นหากไม่ต้องการให้ Apache ทำงานโดยอัตโนมัติสามารถใช้คำสั่งนี้
$ sudo systemctl disable apache2
- แต่หากต้องการใช้ 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
- หากโปรแกรมทำงานจะปรากฎหน้าจอดังต่อไปนี้
ทดสอบการทำงานของภาษา PHP บน Web Server
สามารถทดสอบการทำงานได้โดย
- สร้างไฟล์นามสกุล php โดยพิมพ์คำสั่งดังต่อไปนี้บน Terminal
$ sudo nana /var/www/php_info.php
- จากนั้นพิมพ์คำสั่งต่อไปนี้ลงไป
<?php
phpinfo();
?>
- กดปุ่ม
ctrl+x
เพื่อบันทึกไฟล์และออกจากโปรแกรมnana
- เพื่อให้แน่ใจว่า Apache Web Server ทำงานอยู่ สามารถพิมพ์คำสั่งดังนี้
$ sudo service apache2 restart
- จากนั้นเปิดเว็บบราวเซอร์และพิมพ์ url ดังนี้
http://your_server_ip/php_info.php
จากนั้นเว็บบราวเซอร์จะเปิดไฟล์และทำงาน ผลลัพธ์ที่ได้
- จากตัวอย่าง server_ip คือ
12.34.56.789
ดังนั้นจึงพิมพ์http://12.34.56.789/php_info.php
ลงไปในช่อง url
รายละเอียดสำหรับการ Configuration สามารถอ่านเพิ่มเติมได้จาก
- https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu
- https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04
- https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-16-04