วิธีทำ Screen Mirror จาก Android ขึ้นมาแสดงบน PC (Ubuntu)

เนื่องจากเครื่อง Notebook ที่ใช้ ลง Ubuntu 17.04 Desktop จึงนำเสนอวิธีนี้ก่อน ใน Android ต้องเปิด Developer Options เปิด USB Debuging เสียบ Android กับ USB ที่เครื่อง Ubuntu Desktop ติดตั้งดังนี้ sudo apt install adb android-tools-adb ffmpeg ใช้คำสั่งต่อไปนี้ เพื่อดูว่า มี Android มาต่อทาง USB หรือไม่ lsusb ผลที่ได้ ต่อไป ใช้คำสั่งต่อไปนี้ เพื่อดูว่า ADB เห็น Android หรือไม่ adb shell screenrecord –output-format=h264 – | ffplay ผลที่ได้คือ หน้าจอ Android จะปรากฏบน PC (Ubuntu) Reference: https://askubuntu.com/questions/213874/how-to-configure-adb-access-for-android-devices

Read More »

เปลี่ยน ubuntu sources.list ก่อนสร้าง image ด้วย dockerfile

การใช้งาน docker นั้นเราสามารถใช้ image จาก docker hub หรือเราจะสร้าง image ของเราเอง ซึ่งมีหลายวิธีในการสร้าง image แบบของเราเอง (custom) วิธีหนึ่งคือการใช้ dockerfile อย่างคร่าว ๆ คือ mkdir ~/mydocker cd ~/mydocker touch dockerfile docker built -t test_app:20170713 . docker images ในไฟล์ชื่อ dockerfile นี้จะมีไวยกรณ์ประมาณนี้ # Image tag: test_app:20170713 <– บรรทัดนี้คือ comment FROM ubuntu:16.04 <– บรรทัดนี้คือ ไปเอา image ชื่อ ubuntu:16.04 จาก docker hub RUN apt-get update <– บรรทัดนี้คือ คำสั่งบอกว่าจะติดตั้ง หลังคำว่า RUN นั่นเอง RUN apt-get dist-upgrade -y RUN apt-get install -y apache2 libapache2-mod-php7.0 php7.0 COPY … ADD … EXPOSE … CMD … และยังมี command อื่น ๆ อีก ทีนี้จากการที่ต้องลองผิดลองถูกบ่อย ๆ จึงพบว่า หากเราเพิ่มคำสั่ง 2 บรรทัดนี้เข้าไปก่อนบรรทัด RUN apt-get update ก็จะทำให้เราได้ใช้ ubuntu repository ที่ต้องการแทนค่า default ที่ archive.ubuntu.com เช่นต้องการให้มาใช้ th.archive.ubuntu.com ก็เขียนคำสั่งดังนี้ RUN sed -i ‘s/\/us.archive/\/th.archive/g’ /etc/apt/sources.list RUN sed -i ‘s/\/archive/\/th.archive/g’ /etc/apt/sources.list ผลลัพธ์คือ หลังจากทำคำสั่ง docker built -t test_app:20170713 . จะเห็นว่าในขั้นตอนการ build นั้นจะดาวน์โหลดไฟล์ได้รวดเร็วกว่าเดิมมาก จึงนำความรู้มาบอกกันครับ อ้อลืมบอกว่าบทความที่เขียนนี้ ผมทดสอบกับ docker version 17.06.0-ce ครับ อยากแนะนำความรู้เกี่ยวกับ docker ที่อ่านมา พบว่าน่าสนใจ ลองอ่านดูครับ อ่านง่าย   บทความในต่างประเทศ How To Install and Use Docker on Ubuntu 16.04 (https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04) How to Build an Image with the Dockerfile (https://www.sitepoint.com/how-to-build-an-image-with-the-dockerfile/) Dockerfile reference (https://docs.docker.com/engine/reference/builder/) Best practices for writing Dockerfiles (https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/) How to update Docker image to maintain your containers secure  (https://bobcares.com/blog/update-docker-image/2/) How to upgrade docker container after its image changed (https://stackoverflow.com/questions/26734402/how-to-upgrade-docker-container-after-its-image-changed) Manage data in containers (https://docs.docker.com/engine/tutorials/dockervolumes/)  

Read More »

การตั้งค่า IPV6 ให้กับ Apache Web Server สำหรับ Ubuntu Linux

“อยากตั้งค่า Apache Web Server ให้เปิดใช้ IPv6 ต้องทำอย่างไร” สำหรับวิธีเปิดใช้งาน IPv6 บน Apache จะขอยกตัวอย่างบน Ubuntu ซึ่งจริง ๆ แล้วสามารถตั้งเป็น IPv6 only ก็ได้ แต่ในที่นี่จะตั้งให้สามารถใช้ได้ทั้ง IPv4 และ IPv6 เปิดไฟล์ /etc/apache2/ports.conf sudo vim /etc/apache2/ports.conf ทำการแก้ไขโดยเพิ่มในส่วนของ IPv6 Config ดังนี้ (xxx yyy ไปหามาใส่เอาเองนะครับ เป็นแค่ค่าสมมุติ) Listen 192.168.xxx.yyy:80 Listen [2001:xxxxxx:101]:80 สั่ง Restart Web Service เป็นอันเรียบร้อยครับ sudo /etc/init.d/apache2 restart สามารถตรวจสอบผ่านคำสั่ง netstat ได้ดังนี้ครับ netstat -na | grep “:80” การทดสอบในกรณียังไม่ได้จด DNS6 เราไม่สามารถพิมพ์ URL เป็น IPv6 ตรง ๆ บน Browser ได้ ถ้าจดแล้วสามารถทดสอบผ่าน http://ipv6-test.com/validate.php ดูได้ครับ สามารถดูบทความเพิ่มเติมได้ที่ http://sysadmin.psu.ac.th/2015/12/08/howto-ipv6

Read More »

การตั้งค่า IPV6 ให้กับ Nginx Web Server สำหรับ Ubuntu Linux

“อยากตั้งค่า Nginx Web Server ให้เปิดใช้ IPv6 ต้องทำอย่างไร” สำหรับวิธีเปิดใช้งาน IPv6 บน Nginx จะขอยกตัวอย่างบน Ubuntu ซึ่งจริง ๆ แล้วสามารถตั้งเป็น IPv6 only ก็ได้ แต่ในที่นี่จะตั้งให้สามารถใช้ได้ทั้ง IPv4 และ IPv6 เปิดไฟล์ /etc/nginx/site-available/[site-file] sudo vim /etc/nginx/site-available/psu-v6 ทำการแก้ไขโดยเพิ่มในส่วนของ IPv6 Config ดังนี้ (เพิ่มเฉพาะตัวสีแดงนะครับ) server { listen [::]:80; … } สั่ง Restart Web Service เป็นอันเรียบร้อยครับ sudo /etc/init.d/nginx restart สามารถตรวจสอบผ่านคำสั่ง netstat ได้ดังนี้ครับ netstat -na | grep “:80” การทดสอบในกรณียังไม่ได้จด DNS6 เราไม่สามารถพิมพ์ URL เป็น IPv6 ตรง ๆ บน Browser ได้ ถ้าจดแล้วสามารถทดสอบผ่าน http://ipv6-test.com/validate.php ดูได้ครับ สามารถดูบทความเพิ่มเติมได้ที่ http://sysadmin.psu.ac.th/2015/12/08/howto-ipv6

Read More »

การตั้งค่า Interface IPv6 สำหรับเครื่อง Ubuntu Server

“อยากให้ Ubuntu Server เปิดใช้ IPv6 ต้องทำอย่างไร” สำหรับวิธีเปิดใช้งาน IPv6 บน Ubuntu จะขอยกตัวอย่าง Ubuntu 14.04 โดยทำการตั้งค่า Interface ในส่วนของ IPv6 ดังนี้ เปิดไฟล์ /etc/network/interfaces sudo vim /etc/network/interfaces ทำการแก้ไขโดยเพิ่มในส่วนของ IPv6 Config ดังนี้ (xxx คือ censor นะครับ) iface eth0 inet6 static pre-up modprobe ipv6 address 2001:xxxxxxxx:101 netmask 64 gateway 2001:xxxxxxxx::1 สั่ง Restart เครื่องเป็นอันเรียบร้อยครับ sudo reboot สามารถตรวจสอบผ่านคำสั่ง ifconfig ได้ดังนี้ครับ ifconfig อย่าลืมตรวจสอบ Firewall ด้วยนะครับ แต่โดยปกติ Ubuntu จะไม่มี Firewall ตั้งแต่เริ่มติดตั้ง อาจจะต้องระวังในกรณีที่ Gateway ของหน่วยงานยังไม่ได้ตั้งค่า IPv6 Firewall อาจโดน ssh จากข้างนอกได้ครับ (ลองศึกษาเพิ่มเติมเกี่ยวกับ Shorewall IPv6 หรือ ip6tables ดูครับ) ซึ่งจะมีผลกับเครื่องที่จดชื่อแล้วซะมากกว่า เพราะจะให้ Scan หา IPv6 เยอะ ๆ เพื่อจะเข้าผ่าน IPv6 ตรง ๆ น่าจะลำบากอยู่ สามารถดูบทความเพิ่มเติมได้ที่ http://sysadmin.psu.ac.th/2015/12/08/howto-ipv6

Read More »