Dialog cannot open tty-output

dialog บน Oracle Enterprise Linux และ Ubuntu ไม่เหมือนกัน (ทำไมล่ะ…ไม่ทราบครับ) สร้างสคริปต์ชื่อ file.sh มีข้อความว่า #!/bin/bash FILE=$(dialog –ascii-lines –title “Delete a file” –stdout \ –title “Please choose a file to delete” –fselect /tmp/ 14 48) echo $FILE บน Ubuntu รันได้ผลลัพธ์ แต่บน Oracle Enterprise Linux ต้องเปลี่ยนสคริปต์มีสองแบบ แบบแรก #!/bin/sh dialog –ascii-lines –title “Delete a file” –stdout \ –title “Please choose a file to delete” –fselect /tmp/ 14 48 2>/tmp/file.tmp echo $(cat /tmp/file.tmp) แบบที่สอง #!/bin/bash FILE=$(dialog –ascii-lines –title “Delete a file” –stdout \ –title “Please choose a file to delete” –fselect /tmp/ 14 48 2>&1>/dev/tty) echo $FILE ผลลัพธ์ของทั้งสองแบบให้ผลเหมือนกันคือ จบ..วันนี้ห้วนไปหน่อย ขอให้สนุกครับ

Read More »

Mozilla Thunderbird & Google Calendar

1. ติดตั้ง extension 2 ตัวใน Thunderbird ได้แก่ Lightning และ Provider for Google Calendar ดังรูป 2. รีสตาร์ท Thunderbird จะพบปุ่ม อยู่ทางมุมบนขวา 3. เข้า gmail.psu.ac.th ล็อคอินให้เรียบร้อย คลิก  แล้วเลือก Calendar 4. ที่หน้า Calendar คลิก เลือก Setting 5. คลิก Calenders ทีี่มุมซ้ายบน 6. เลือกปฏิทินที่ต้องการ 7. ตรวจสอบว่าใช่ปฏิทินที่ต้องการหรือไม่ดูที่ ช่อง Calender Owner ว่าเป็นอันเดียวกับ Username ที่ล็อคอินเข้า gmail 8. เลื่อนดูด้านล่างในส่วนของ Private Address: 9. คลิกขวาที่ ICAL เลือก Copy Link Location 10. กลับมาที่ Thunderbird กดปุ่ม เพื่อเปิดปฏิทิน 11. คลิกขวาที่ช่องว่างฝั่งซ้ายมือใต้คำว่า Calendar เลือก New Calendar 12. ได้หน้าต่าง Create New Calendar เลือก Google Calendar กด Next 13. กด Ctrl-v เพื่อ paste URL ของปฏิทินที่ Copy มาในข้อก่อนหน้า 14. กด back 1 ครั้งแล้วกด Next ใหม่ (อันนี้น่าจะเป็นบักของ Ubuntu 14.10) 15. กด Next 16. จะมีหน้าต่างเพื่อยืนยันตัวตนของ Google ปรากฎขึ้นมา 17.  กด Sign in จะได้อีกหน้าต่างดังรูป กดยอมรับ 18. จะมีหน้าให้เลือกปฏิทินที่ต้องการอีกครั้งกด Next 19. จะมีหน้าให้ ยืนยันตัวตน และหน้าเพื่อขอสิทธิ์การเข้าถึง อีกรอบกดให้ Sign in และยอมรับ 20. กด Finish 21. ก็จะได้ปฏิทินเพิ่มมาตามต้องการ 22. ทั้งหมดนี้ทำบน Ubuntu 14.10 บน Windows ก็น่าจะทำเหมือนกัน 23. สามารถเพิ่มลบเหตุการณ์ผ่าน Thunderbird ได้เลยไม่ต้องเข้าเว็บอีก … 24. จากที่ทดสอบหนึ่ง Profile ของ Thunderbird สามารถมี Google Calendar ได้เพียง account เดียว 25. ขอให้สนุกครับ

Read More »

ติดตั้ง ownCloud เลือกใช้ user PSU Passport หรือ ftp server หรือ RADIUS Server

เหมาะสำหรับหน่วยงานที่ต้องการทำ private cloud storage ของตนเอง โดยใช้ open source software ชื่อ ownCloud สภาพแวดล้อม     ติดตั้ง ownCloud ลงบน ubuntu server 14.04     ติดตั้ง ownCloud เวอร์ชั่น ownCloud 7.0.4 (stable) แบบ apt-get install     ติดตั้ง ownCloud เลือกใช้กับ MySQL/MariaDB Database     ติดตั้ง ownCloud เลือกใช้ user PSU Passport หรือ เลือกใช้ user เดียวกับ ftp server หรือ RADIUS Server (โดยเลือกใช้ user name ผ่าน Apps ชื่อ External user support) ขั้นตอนเตรียม User Account 1. ติดตั้ง ubuntu server 14.04.x ในขั้นตอน Install ให้เลือกแพ็กเกจ OpenSSH และ LAMP 2. ติดตั้ง FreeRADIUS 3. ติดตั้ง vsftpd 4. ติดตั้ง lib-pam-radius 5. แก้ไขไฟล์ที่เกี่ยวข้องกับ freeradius เพื่อเลือก database จบขั้นตอนนี้ เราได้ user ของ ftp server ซึ่งอาจจะเป็น local linux account หรือ ldaps user (PSU Passport) ผ่าน RADIUS server (ขั้นตอน 1-5 อ่านได้ที่นี่ ติดตั้ง ftp server + lib-pam-radius + authen psu-passport และ ldaps) ขั้นตอนถัดไปติดตั้ง ownCloud 6. อ่านคำแนะนำวิธีติดตั้งผ่าน repository และ apt-get install owncloud 7. สร้าง Datbase user, name, password 8. ตั้งค่า ownCloud ครั้งแรกผ่านเบราว์เซอร์ เพื่อเลือก MySQL/MariaDB Server และ เลือกใช้ user name ผ่าน Apps ชื่อ External user support 9. ติดตั้ง https ตามวิธีของท่าน (โปรดหาวิธีทำเองนะครับ) 10. ที่เบราว์เซอร์เข้าใช้งานด้วย user ที่ใช้งานกับ ftp server ที่เราติดตั้งได้สำเร็จ จบขั้นตอนนี้ เรามี ownCloud ที่สามารถเข้าใช้งานด้วย user ที่เราเลือกไว้ในขั้นตอนที่ 5 (ขั้นตอนที่ 6-10 อ่านได้ที่นี่ ติดตั้ง ownCloud และใช้ user เดียวกับของ ftp server)  

Read More »

เปลี่ยน Certificate!?

เนื่อง Certificate *.psu.ac.th จาก Comodo เดิมซึ่งกลายเป็น Cert. ที่จัดว่า WEAK แล้ว ทางเจ้าหน้าที่เครือข่ายจึงได้ขอ Cert. ใหม่มา ที่ Strong ขึ้น 🙂 ก็ต้องมานั่งเปลี่ยน Cert. ในเครื่องที่ให้บริการขั้นตอนดังนี้ Download Cert. ใหม่มาซึ่งต้องติดต่อขอไปที่ Net@dmin โดยผ่านช่องทางของ help.psu.ac.th ไฟล์ที่จะโหลดมาใช้งานมีทั้งหมด 3 ไฟล์ได้แก่ STAR_psu_ac_th.ca-bundle, STAR_psu_ac_th.crt และ STAR_psu_ac_th_key.key เมื่อดาวน์โหลดมาเสร็จแล้วให้เอาไปแทนที่เก่าได้เลย ในตัวอย่างนี้จะเก็บไว้ที่ /etc/ssl/private ทีนี้ มาดู config เก่าของ apache2 <IfModule mod_ssl.c> <VirtualHost *:443> ServerName bahamut.psu.ac.th ServerAdmin cc-server-admin@group.psu.ac.th DocumentRoot “/var/www/html” ErrorLog ${APACHE_LOG_DIR}/bahamut.ssl_error_log TransferLog ${APACHE_LOG_DIR}/bahamut.ssl_access_log LogLevel warn SSLEngine on SSLCertificateFile /etc/ssl/private/STAR_psu_ac_th.crt SSLCertificateKeyFile /etc/ssl/private/STAR_psu_ac_th.key SSLCertificateChainFile /etc/ssl/private/STAR_psu_ac_th.ca-bundle RewriteEngine On RewriteRule /avl https://licensing.psu.ac.th <Directory /var/www/licensing> AllowOverride All Order deny,allow Deny from all Allow from 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 </Directory> </VirtualHost> </IfModule> จะเห็นว่าไฟล์ชื่อไม่ตรงอยู่ไฟล์หนึ่งคือ STAR_psu_ac_th.key ก็เปลี่ยนชื่อให้ตรง เป็นอันเสร็จ แต่ … เนื่องจากเป็น Cert. ใหม่ เพื่อเพิ่มความแข็งแรง เจ้าหน้าที่เครือข่ายจึงได้กำหนด Passphrase ไว้ด้วย ต้องแก้ไขแฟ้ม /etc/apache2/mods-enabled/ssl.conf ในบรรทัดที่เขียนว่า SSLPassPhraseDialog exec:/usr/share/apache2/ask-for-passphrase ให้แก้ /usr/share/apache2/ask-for-passphrase เป็น /etc/ssl/private/passphrase-script แล้วสร้างแฟ้ม /etc/ssl/private/passphrase-script มีข้อความว่า #!/bin/sh echo “passphrase ที่ได้รับแจ้งจาก Net@dmin” chmod +x /etc/ssl/private/passphrase-script และทดสอบ script ด้วยว่าผลลัพธ์ที่ได้ตรงกับ passphrase ที่ Net@dmin แจ้งมา restart apache2 ด้วยคำสั่ง sudo service apache2 restart ถ้า passphrase ที่ใส่ไว้ในแฟ้ม passphrase-script ถูกต้องจะ restart สำเร็จ เป็นอันเสร็จ สิ่งที่ต้องแก้เพื่อให้ได้ A+ ในการทดสอบกับเว็บ https://www.ssllabs.com/ssltest/analyze.html แก้ไขแฟ้ม /etc/apache2/mods-enabled/ssl.conf โดยแก้ไข/เพิ่ม ข้อความดังต่อไปนี้ SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES: RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS SSLHonorCipherOrder on SSLProtocol all -SSLv3 -SSLv2 SSLCompression off sudo a2enmod headers เพื่อให้ module headers ของ apache2 ทำงาน แก้ไขแฟ้มของไซต์ที่เปิด ssl ไว้ จากตัวอย่างนี้คือ /etc/apache2/sites-enabled/licensing-ssl.conf โดยเพิ่มข้อความว่า Header add Strict-Transport-Security “max-age=15768000;includeSubDomains” ตัวอย่าง <IfModule mod_ssl.c> <VirtualHost *:443> ServerName licensing.psu.ac.th ServerAdmin cc-server-admin@group.psu.ac.th DocumentRoot “/var/www/html/avl” ErrorLog ${APACHE_LOG_DIR}/licensing.ssl_error_log TransferLog ${APACHE_LOG_DIR}/licensing.ssl_access_log LogLevel warn SSLEngine on Header

Read More »