วันศุกร์ที่ 2 กันยายน พ.ศ. 2559

How to allow port on windows 10

ห่างหายจากการเขียน blog ไปนานมาก วันนี้เริ่มด้วยการเปิด port ที่ติด firewall บน windows 10 ละกัน

เกริ่นนิดนึง เผอิญได้ใช้ windows 10 pro เป็น server เพื่อรัน oracle บน docker เราก็เลยเลือก docker for windows มาเล่นทันที https://docs.docker.com/docker-for-windows/

เมื่อติดตั้งเรียบร้อยก็จัดการ pull images มาจาก https://github.com/wnameless/docker-oracle-xe-11g (ไม่ขอพูดขั้นตอนนะครับ) เมื่อ pull เสร็จก็ run ตามระเบียบโดยใส่ option -p 15211:1521 เพื่อ bind port ออกมา



ปรากฏว่าใช้เครื่อง client (คนละเครื่องกับ windows) connect ไปไม่ได้เลยคิดว่าต้องเป็น firewall แน่ๆ เลยหาวิธี set ได้เรื่องดังนี้

  1. เปิด Windows Firewall with Advanced Security ขึ้นมา (หาไม่เจอพิมพ์เอาโลด) จากนั้นไปที่ Inbound Rules > New Rule...
  2. เลือก Rule Type เป็น Port จากนั้นกด Next
  3. เลือก TCP ใส่ Port ที่ต้องการซะ ของผมเป็น 15211
  4. เลือก Allow the connection
  5. เลือก Network Profile ที่เราใช้งาน ถ้านึกไม่ออกก็เลือกให้หมด
  6. ตั้งชื่อ เป็นอันจบพิธี
จากนั้นลอง connect ดูจะเห็นว่า connect ได้แล้ว
Continue Reading...

วันจันทร์ที่ 13 มิถุนายน พ.ศ. 2559

How to route specific IP to specific gateway

บังเอิญเจอ Case ที่ต้องต่อ LAN ซึ่ง LAN เป็นวงภายในออก Internet ไม่ได้ แต่เราต้องรัน Script บางอย่างที่ต้องไป Fetch data จาก Internet มา

ดังนั้นก็เลย Share Wifi ให้ออก Internet ได้ ปัญหาคือ OS มันดัน Prefer Gateway ของ LAN เฉยเบย ทำให้ Request ออกไปทาง Gateway LAN แล้วก็ตายกลางอากาศ

ดังนั้นก็เลยต้องบังคับให้ Default gateway มันเป็น Gateway ของ Wifi ซะและให้บาง Destination IP เป็น Gateway ของ LAN ซึ่ง Step มีดังนี้

  1. เปลี่ยน LAN เป็น Manual Configure IP ซะ จากนั้นเอา Gateway (Router) ออก
  2. ไปที่ Terminal จากนั้นรันคำสั่ง sudo route add -host <<destination>> <<gateway>>
Step แรกำหนดให้ Default gateway เป็น ของ Wifi โดยลบ Gateway (Router) บน LAN ออก จากนั้น Step 2 กำหนดให้ IP 192.168.1.123 ออกไปที่ Gateway 192.168.1.1 เป็นอันเสร็จ

ปล. สมมติว่า Gateway ของ LAN คือ 192.168.1.1 นะ
Continue Reading...

วันพุธที่ 25 กุมภาพันธ์ พ.ศ. 2558

Fix LibreOffice Transformer on Alfresco 5.0.c community

By default fresh install of Alfresco 5.0.c does not pack require libraries for LibreOffice in the installer. You should install it manually by this instruction http://docs.alfresco.com/5.0/concepts/install-lolibfiles.html

After install all libraries, When you test run LibreOffice with command

/opt/alfresco-5.0.c/libreoffice/program/soffice.bin --nofirststartwizard --nologo --headless --accept=socket,host=localhost,port=8100

It will show some library is missing (libdbus-glib-1-2). Install it.

Then after you install all libraries and restart your alfresco if you still found transformer exception "connection failed: socket,host=localhost,port=8100,tcpNoDelay=1; com.sun.star.lang.IllegalArgumentException". So change your start up script of LibreOffice at

/opt/alfresco-5.0.c/libreoffice/scripts/libreoffice_ctl.sh

From

SOFFICE="$SOFFICEWRAPPER --nofirststartwizard --nologo --headless --accept=socket,host=127.0.0.1,port=$SOFFICE_PORT\;urp\;StarOffice.ServiceManager"

To

SOFFICE="$SOFFICEWRAPPER --nofirststartwizard --nologo --headless "--accept=socket,host=127.0.0.1,port=$SOFFICE_PORT\;urp\;StarOffice.ServiceManager""

(Adding double quote before --accept and end of line). Then restart alfresco again. The transformer exception will fix.

 reference -- https://forums.alfresco.com/forum/installation-upgrades-configuration-integration/configuration/document-preview-problem-was
Continue Reading...

วันเสาร์ที่ 6 กันยายน พ.ศ. 2557

Fix SunCertPathBuilderException: Unable To Find Valid Certification Path To Requested Target in Alfresco

การที่จะให้ Tomcat คุยกับ Server ต่างๆ ผ่าน SSL Protocol นั้นเราต้องทำการ Install Certificate ให้กับตัว Tomcat เสียก่อน (Java) ไม่เว้นแม้แต่กรณีที่เป็น Untrust Certificate ก็จำเป็นต้อง add Certificate ก่อนเพื่อที่จะให้ Tomcat สามารถเชื่อมต่อไปยัง Server ที่ต้องการผ่าน Protocol SSL ได้อย่างสมบูรณ์

โดยหากไม่ทำการ Add Certificate ก่อนจะทำให้เวลา Tomcat คุยไปยัง Server ผ่าน SSL แล้วจะเกิด Exception ขึ้น (SSLHandshakeException) หรือคุยกันไม่รู้เรื่องนั่นเอง

ยกตัวอย่างเช่นบน Alfresco เมื่อเรา config smtps ไปยัง google mail แล้วเราไม่ได้ใส่ Certificate ก็จะเกิด Error SunCertPathBuilderException ขึ้นซึ่งสามารถแก้ไขได้โดย

  1. Request ไปยัง SMTP Server ของ Google ด้วยคำสั่ง openssl s_client -connect smtp.gmail.com:465
  2. Save Certificate เป็นนามสกุล .cert หรือ .pem เช่น gmail.cert โดยให้ใช้ Content ตั้งแต่ ---BEGIN CERTIFICATE--- จนถึง ---END CERTIFICATE---
  3. สั่ง Import Certificate ลงไปใน keystore ที่ใช้รัน Tomcat ของตัว Alfresco โดยใช้คำสั่ง
    sudo keytool -import -alias smtp.gmail.com -keystore /path/to/keystore -file /path/to/gmail.cert
    เช่น
    sudo /opt/alfresco-4.2.c/java/bin/keytool -import -alias smtp.gmail.com -keystore /opt/alfresco-4.2.c/java/jre/lib/security/cacerts -file /home/admins/gmail.cert
  4. ตรวจสอบว่า Certificate ที่เรา add เข้าไปนั้นอยู่ใน keystore แล้วหรือยังด้วยคำสั่ง
    keytool -list -v -keystore /path/to/keystore เช่น /opt/alfresco-4.2.c/java/bin/keytool -list -v -keystore /opt/alfresco-4.2.c/java/jre/lib/security/cacerts
โดยเมื่อ Import สำเร็จแล้ว สั่ง Restart Tomcat ก็จะไม่ Error SunCertPathBuilderException อีกต่อไป
Continue Reading...

วันพฤหัสบดีที่ 6 มีนาคม พ.ศ. 2557

How to login to Alfresco 4 with IE 11

เริ่มที่ IE11 ไม่สามารถ Login เข้า Alfresco ผ่าน Alfresco Share ได้ https://forums.alfresco.com/forum/end-user-discussions/alfresco-share/alfresco-share-login-doesnt-work-internet-explorer-11

โดยมีผู้ให้คำตอบว่า IE11 นั้นมันเปลี่ยน User Agent จึงทำให้มัน Login ไม่ได้ รายละเอียดอ่านได้จาก link ด้านบน ซึ่งส่วนนั้นเราคงไม่สนใจมันมากกว่า "แล้วจะทำอย่างไรล่ะ" ดังนั้นวันนี้เราจะทำให้ IE11 Login Alfresco ได้กัน

ก่อนอื่นให้เปิด IE11 ก่อนแล้วเข้าไปที่ Alfresco จากนั้นกดปุ่ม F12 เพื่อเปิด Developer Tools ขึ้นมา จากนั้น Scroll แถบเครื่องมือลงไปด้านล่างเพื่อเปิด Emulator ขึ้นมา


ที่ Document mode ให้เปลี่ยนจาก Edge (Default) ไปเป็น 10


จากนั้นให้ Login ตามปกติ จะสามารถ Login ได้แล้ว
Continue Reading...

Blogroll

About