How to install PSU SSL VPN Client ubuntu 18.04

เปิด terminal เริ่มด้วยการติดตั้งโปรแกรมที่จำเป็น sudo apt install -y openfortivpn สร้างแฟ้ม /home/username/fortivpn.config มีข้อความว่า host = vpn2.psu.ac.th port = 443 username = PSU Passport Username password = PSU Passport Password trusted-cert = 34df1a6bd3705782fd17152de0c4fe0b3e7f31302cbdcf737b113c17a5b9ff09 สั่งรันคำสั่ง sudo openfortivpn -c fortivpn.config ได้ข้อความประมาณว่า แปลว่าเชื่อมต่อได้แล้ว หากต้องการยกเลิกการเชื่อมต่อให้กด ctrl-c จะได้ข้อความประมาณว่า แปลว่ายกเลิกการเชื่อมต่อแล้ว ต้องเปิด terminal ที่รันคำสั่ง openfortivpn ไว้ตลอดเวลาที่เชื่อมต่อห้ามปิด จบสไตล์คอมมานไลน์ …. หากอยากได้ง่ายกว่านี้ ติดตั้งโปรแกรม OpenFortiGUI โหลดที่ https://hadler.me/linux/openfortigui/ โดยเลือกโปรแกรมสำหรับ Ubuntu 18.04 โหลดมาแล้วติดตั้งด้วยคำสั่ง sudo dpkg -i openfortigui_0.6.2-1_bionic_amd64.deb จะมี error message มากมาย ให้ต่อด้วยคำสั่ง sudo apt -f -y install เริ่มใช้งานเปิดโปรแกรม openFortiGUI โดยกดที่ปุ่ม Show Applications เลือก openFortiGUI จะได้หน้าต่าง คลิกปุ่ม Add เลือก VPN จะได้ กรอกข้อความตามรูป ช่อง username และ password ก็ใส่ PSU Passport ลงไปเสร็จแล้วกด Save ได้ดังรูป เลือก PSU แล้วคลิก Connect ได้ผลดังรูป คลิก x เพื่อปิดหน้าต่างสังเกตว่าจะมีรูป  ที่มุมบนขวา หากจะยกเลิกการเชื่อมต่อ คลิกขวาที่  เลือก PSU เพื่อ dissconnect จบขอให้สนุก… ***  จากที่ลองทดสอบพบว่า เมื่อเชื่อมต่อ AIS 4G จะไม่สามารถใช้วิธี OpenFortiGUI ได้ แต่ใช้วิธีคอมมานไลน์ได้ครับ

Read More »

Configuration of TCP/IP with SSL and TLS for Database Connections

สิ่งที่ต้องเตรียม Oracle Database Server ในตัวอย่างนี้ใช้ Oracle database บน Oracle Enterprise Linux 7 Oracle Database Client  ในตัวอย่างใช้ Windows Server 2008 R2 เริ่ม ฝั่ง Server เข้าระบบด้วยบัญชีผู้ใช้ oracle หรือบัญชีที่เป็นเจ้าของ Oracle Database เปิด terminal สร้าง Oracle Wallet ด้วยคำสั่ง mkdir -p /u01/app/oracle/wallet ต่อด้วย orapki wallet create -wallet “/u01/app/oracle/wallet” -pwd WalletPasswd123 -auto_login_local โดย -pwd WalletPasswd123 ตัว WalletPasswd123 คือรหัสผ่านที่ใช้ป้องกันการเข้าถึงข้อมูลต่างๆ ใน wallet กฎการตั้งมีอยู่คือ ยาวอย่างน้อย 8 ตัวอักษร ไม่จำกัดความยาว จำเป็นต้องตั้งให้ตัวเลขผสมตัวอักษร สร้าง Certificate และใส่เข้าไปใน wallet ด้วยคำสั่ง orapki wallet add -wallet “/u01/app/oracle/wallet” -pwd WalletPasswd123 \ -dn “CN=`hostname`” -keysize 1024 -self_signed -validity 3650 ตรวจสอบด้วยคำสั่ง orapki wallet display -wallet “/u01/app/oracle/wallet” -pwd WalletPasswd123 ได้ผลลัพธ์ประมาณ Oracle PKI Tool : Version 12.1.0.2 Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=reis.psu.ac.th Trusted Certificates: Subject: CN=reis.psu.ac.th Export Certificate เพื่อนำไปใช้กับเครื่อง Oracle Client ด้วยคำสั่ง orapki wallet export -wallet “/u01/app/oracle/wallet” -pwd WalletPasswd123 \ -dn “CN=`hostname`” -cert /tmp/server-certificate.crt ตรวจสอบแฟ้มที่ export ไปด้วยคำสั่ง cat /tmp/server-certificate.crt ได้ผลลัพธ์ประมาณว่า —–BEGIN CERTIFICATE—– MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcmVpcy5wc3UuYWMudGgwHhcN MTgwMTA5MDcyNTA2WhcNMjgwMTA3MDcyNTA2WjAZMRcwFQYDVQQDEw5yZWlzLnBzdS5hYy50aDCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAj4x2/NviDaTlXuEJt0kZARY5fHiT2SiVX+a18hai I0stoUhKKefjOCgB85iuqjIk0rvcGXI0KXkbenTy2t40A+qGxB04mBhCLKaKeIe67BZKR6Zyw1dd oaesoaWChC01b+IW1X5WWtC53UxpIZQ4Zktj41sLGUnarIr9+9HFwncCAwEAATANBgkqhkiG9w0B AQQFAAOBgQAqSCF2Y8uyM4rSQHUC8MKEl3Ia3NJKnigMOUzDc2fP7grSaoeuQ4NvIntTD+s+IT5Y EpLVND4kSHFTwGRq0Py/ig8ybXZCXfHtvNZh7ZGziL/sYt5/8xYi/tOBKwVanBTUaseKIMovtmd7 UyoOKrX8YBoFsB3UPRLudmFsksXRXw== —–END CERTIFICATE—– ฝั่ง Client เข้าระบบด้วยบัญชีผู้ใช้ administrator เปิด cmd แล้วสร้าง wallet ด้วยคำสั่ง mkdir c:\app\oracle\wallet สร้าง Certificate ด้วยคำสั่ง orapki wallet add -wallet “c:\app\oracle\wallet” -pwd WalletPasswd123 -dn “CN=%computername%” -keysize 1024 -self_signed -validity 3650 โดย WalletPasswd123 คือพาสเวิร์ดที่ใช้ล็อค wallet ไม่จำเป็นต้องเหมือนกับของ Server ตรวจสอบด้วยคำสั่ง orapki wallet display -wallet “c:\app\oracle\wallet” -pwd WalletPasswd123 ได้ผลลัพธ์ประมาณว่า Oracle PKI Tool : Version

Read More »

เทคนิคการใช้ Word ในการทำบรรณานุกรม

ในการทำเอกสารงานวิชาการ/งานวิจัย เมื่อเราอ่านเอกสารจากบทความหรือหนังสือต่าง ๆ แล้วมาเขียนในงานของเราจะต้องมีการอ้างอิงที่มาของเนื้อหาดังกล่าว โดยไปที่ References คลิก Insert Citation  คลิก Add New Source จะแสดง Dialog ดังรูป Type of Source ให้เลือกประเภทของแหล่งข้อมูลเนื้อหาตามต้องการ ไม่ว่าจะเป็นหนังสือ, เอกสารวิชาการ, Conference Proceeding, รายงาน, เอกสารอิเล็กทรอนิกส์, จาก Website ต่าง ๆ ก็สามารถทำอ้างอิงได้ ในที่นี้ขอเลือก Book Author ระบุชื่อผู้แต่ง Title ระบุชื่อหนังสือ Year ระบุปีที่พิมพ์ City ระบุชื่อเมืองที่พิมพ์ Publisher ระบุสำนักพิมพ์ จากนั้นคลิก OK ก็จะได้อ้างอิง ดังรูป พอเราทำเอกสารเสร็จทั้งหมดไปถึงหน้าสุดท้ายแล้ว ถึงเวลาที่เราต้องทำบรรณานุกรมแล้ว ไปที่ References ที่ Style เราสามารถเลือกได้ว่าจะใช้มาตรฐานการอ้างอิงแบบไหน ส่วนใหญ่ก็จะเป็น APA จากนั้นคลิกที่ Bibliography คลิกเลือก Bibliography ก็จะได้บรรณานุกรม ดังรูปโดยที่เราสามารถปรับแต่งขนาดตัวอักษร จัดรูปแบบ และยังสามารถอัพเดตอ้างอิงและบรรณานุกรมได้ด้วยค่ะ อาจจะเป็นเทคนิคเล็ก ๆ น้อย ๆ แต่คิดว่าคงมีประโยชน์กับผู้ที่ทำเอกสารงานวิชาการ/งานวิจัยนะคะ   

Read More »

Windows CRLF to Unix LF Issues in Cygwin Shell Script

เมื่อเรารัน shell script ของโปรแกรม Cygwin for Windows ซึ่งมีการเขียนคำสั่งไปตัดเอาข้อความผ่านคำสั่ง (Command Line) ของ Windows มาใส่ในตัวแปรของ shell script เช่น ในตัวอย่างนี้คือคำสั่ง ipconfig เมื่อได้ข้อความที่ต้องการมาเราจะได้ \r แถมมาให้ด้วยต่อท้าย เพราะ Windows style line ending จะมี CRLF (\r\n)  ในขณะที่ Linux style line ending จะมี LF (\n) เท่านั้น น่าแปลกใจมากว่า เราเคยรัน shell script นี้ใน Windows 7 ใช้งานได้ แต่พอเป็น Windows 10 build 1709 มันรันไม่ได้   ปัญหา เมื่อเปิด Cygwin Terminal ขึ้นมา จะได้เป็น bash shell ในไฟล์ test.sh ดังตัวอย่างข้างล่างนี้ เมื่อสั่งรัน จะพบว่าพบข้อผิดพลาด ตัวแปร ZONEX จะไม่มีค่า ซึ่งจริง ๆ จะต้องได้คำว่า zone1 $ cat test.sh #!/bin/bash DHCPSERVER=$(ipconfig /all | grep -i “DHCP Server” | cut -d: -f2 | xargs) MAC=$(ipconfig /all | grep -A4 -i “^Ethernet Adapter Ethernet” | tail -1 | cut -d\: -f2 | tr – : | xargs) ZONEX=$(curl -s http://${DHCPSERVER}/dhcpd.txt | grep -i ${MAC} | awk ‘{print $2}’ | cut -d’_’ -f1) echo “DHCP SERVER is ${DHCPSERVER}” echo “MAC is ${MAC}” echo “Zone is ${ZONEX}” สั่งรันดูผลลัพธ์ด้วยคำสั่ง bash test.sh $ bash test.sh DHCP SERVER is 192.168.6.150 MAC is 50:7B:9D:30:2E:4B Zone is ผมก็ตรวจสอบด้วยวิธีการ debug คือ เพิ่ม -x ดังตัวอย่างนี้ $ bash -x test.sh ++ ipconfig /all ++ grep -i ‘DHCP Server’ ++ cut -d: -f2 ++ xargs + DHCPSERVER=$’192.168.6.150\r’ ++ ipconfig /all ++ grep -A4 -i ‘^Ethernet Adapter Ethernet’ ++ tail -1 ++ cut -d: -f2 ++ tr

Read More »

วิธี upgrade Node.js ใน Bash ของ Windows 10 ให้เป็นรุ่นปัจจุบัน

ปัญหาคือ บน Windows 10 เราสามารถใช้ Windows Subsystem for Linux (WSL) หรือ Bash Shell ได้ ซึ่งจริงๆมันก็คือ Ubuntu 16.04.3 แต่ว่า เวลาจะใช้งาน Node.js ติดตั้งพวก Firebase, Angular อะไรพวกนี้ จะทำไม่ได้ เพราะรุ่นที่ให้มามันเก่ามาก วิธีการคือ (Reference: https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions) ใช้คำสั่งต่อไปนี้ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash – apt-get install -y nodejs ก็เรียบร้อย

Read More »