เรียนรู้ด้วยตนเอง Linux System Administration I และ II

ขอแนะนำแหล่งความรู้สำหรับทุกท่านที่ต้องการเรียนรู้ Linux ซึ่งผมและอาจารย์ฉัตรชัย จันทร์พริ้ม ได้รวบรวมเขียนไว้และจัดอบรมไปแล้ว 1 รุ่น ใน Workshop I สอนด้วย Ubuntu 12.04 และใน Workshop II Ubuntu 14.04 ออกมาพอทันให้ได้ใช้กันครับ Workshop Linux System Administration I (http://opensource.cc.psu.ac.th/WS-LSA1) เนื้อหา เป็นการให้ความรู้ในการทำหน้าที่ system administrator เพื่อดูแลระบบปฏิบัติการ Linux โดยจะใช้ Ubuntu ซึ่งปัจจุบันมีผู้ใช้งานกันมาก โดยจัดเนื้อหาเป็น 2 ตอน ในตอนแรกนี้จะเป็นความรู้จำเป็นที่จะเป็นพื้นฐานไปสู่การเป็นมืออาชีพที่สามารถดูแล server ด้วยตนเองต่อไปได้อย่างมั่นใจ โดยใช้เวลา 2 วัน Workshop Linux System Administration II (http://opensource.cc.psu.ac.th/WS-LSA2) เนื้อหา เป็นการให้ความรู้ในการทำหน้าที่ system administrator เพื่อดูแลระบบปฏิบัติการ Linux โดยจะใช้ Ubuntu ในตอนที่ 2 นี้จะเป็นความรู้ในการติดตั้ง server การดูแล server การป้องกันและตรวจสอบความปลอดภัย server และ web application ที่ติดตั้งในเครื่อง โดยใช้เวลา 2 วัน วิธีการเรียนใน workshop ผู้เรียนจะได้ฝึกปฏิบัติด้วย Ubuntu server ที่ติดตั้งใน Oracle VM Virtualbox ซึ่งเป็นโปรแกรมในการจำลองเครื่องเสมือนจริง สำหรับเพื่อนๆที่ไม่ได้เข้า workshop ลองเข้าไปอ่านกันได้นะครับ และเพื่อนๆที่เข้า workshop ก็ทบทวนได้เมื่อต้องการเรียนรู้ด้วยตนเองเกี่ยวกับ Linux System Administration I และ II

Read More »

วิธีตั้งค่า Apache web server 2.4.x แตกต่างจาก 2.2.x

เก็บตกจากวันวานเปิดอบรม Workshop Linux System Administration II (WS-LSA2) ที่ศูนย์คอมฯ 2 วัน ผมเตรียมเอกสาร workshop วิธีตั้งค่าหลายๆเรื่องบน ubuntu 12.04 แต่พอดีกับที่ ubuntu 14.04 ออกมาแล้ว จึงนำ ubuntu 14.04 มาให้ผู้เรียนใช้ติดตั้ง มันก็ไม่มีอะไรแตกต่างไปจาก ubuntu 12.04 ตั้งแต่เริ่มต้น installation จนกระทั่งมาถึงเรื่องที่เราจะตั้งค่าเกี่ยวกับ Apache web server ซึ่งทำให้ต้องแก้ไขเอกสารประกอบการสอนกันสดๆตอนนั้นเลย (ฮา) เพราะว่า Apache Web Server ที่อยู่ในแผ่น ubuntu 14.04 นั้นเป็นเวอร์ชั่น 2.4.7 ซึ่งมี Default Document Root อยู่ที่ /var/www/html ต่างจาก Apache Web Server เวอร์ชั่นก่อนหน้านี้ (2.2.x) ที่มี Default Document Root อยู่ที่ /var/www เป็นต้น พอจะสรุปได้ดังนี้ Apache Web Server 2.2.x ทำแบบนี้ 1.พื้นที่ default ของ Apache Web Server คือไดเรกทอรี /var/www หากจะติดตั้ง Joomla CMS เราจะเตรียมพื้นที่สำหรับติดตั้ง joomla ไว้ที่ไดเรกทอรี /var/www/testjoomla ด้วยคำสั่ง sudo mkdir -p /var/www/testjoomla 2.website config file จะอยู่ที่ไดเรกทอรี /etc/apache2/sites-available จะมีไฟล์ชื่อ default และ default-ssl มาให้ และหากจะสร้าง VirtualHost pma.example.com เราก็สร้าง config file ที่มีชื่อไฟล์อย่างไรก็ได้ เช่น /etc/apache2/sites-available/pma หลังจากนั้นเราก็ enable VirtualHost นี้ จาก config ที่เราสร้างขึ้นใหม่ โดยการใช้คำสั่ง sudo a2ensite pma แล้วก็สั่ง restart apache 3.เมื่อเข้าไปดูในไฟล์ default DocumentRoot จะอยู่ที่ /var/www 4.Apache2 config file จะอยู่ที่ /etc/apache2/conf.d สมมติว่าต้องการเพิ่มการป้องกัน joomla web server ด้วย config file ชื่อ jce จะต้องทำดังนี้ สร้างไฟล์ที่จะมีชื่ออย่างไรก็ได้ เช่น /etc/apache2/conf.d/jce แค่นี้ก็ได้แล้ว แล้วก็สั่ง restart apache และเมื่อจะไม่ใช้ config file jce นี้แล้ว ก็แค่ลบไฟล์นี้ทิ้ง แต่สำหรับ Apache Web Server 2.4.x วิธีการจะแตกต่างไป ดังนี้ 1.พื้นที่ default ของ Apache Web Server คือไดเรกทอรี /var/www/html หากจะติดตั้ง Joomla CMS เราจะต้องเตรียมพื้นที่สำหรับติดตั้ง joomla ไว้ที่ไดเรกทอรี /var/www/html/testjoomla ด้วยคำสั่ง sudo mkdir -p /var/www/html/testjoomla 2.website config file จะอยู่ที่ไดเรกทอรี /etc/apache2/sites-available จะมีไฟล์ชื่อ 000-default และ default-ssl มาให้ (ต่างจาก 2.2.x) และหากจะสร้าง VirtualHost pma.example.com เราก็ต้องสร้าง config file ที่มี

Read More »

เทคนิคการใช้งานคำสั่ง screen บน Linux

ในกรณีที่อยู่ภายนอกระบบเครือข่ายมหาวิทยาลัย การจะเข้าถึง Linux Server ของตนเองนั้น อาจจะทำได้โดย VPN เข้ามา แล้ว จึงใช้ SSH Client ต่างๆ เพื่อเข้าถึง SSH มายัง Server ที่ เปิดให้ Secure Shell ได้จากภายนอก แล้วจึง ssh จากเครื่องดังกล่าว ไปยัง Server ที่ต้องการ ปัญหาคือ การใช้งาน VPN ทำให้ ได้ IP เป็น Private ภายในมหาวิทยาลัย อาจจะไม่สะดวกในบางประการ ครั้นจะต้อง ssh ไปยังเครื่องที่เปิดให้ แล้วค่อยไปต่อก็ไม่สะดวกนัก เพราะ ถ้าต้องทำงานกับหลายๆเครื่อง ก็ต้อง ssh กันหลายรอบ บทความนี้ ขอยกตัวอย่างว่า มีเครื่อง xxx.psu.ac.th เปิดให้ ssh จากภายนอกเข้ามาได้ และมีเครื่อง aaa.psu.ac.th, bbb.psu.ac.th, ccc.psu.ac.th และ ddd.psu.ac.th เป็นเครื่องที่ต้องการจะเข้าไปจัดการ ด้วย SSH Client และสมมุติให้เครื่องต่างๆ เปิด Firewall ให้ xxx.psu.ac.th สามารถ ssh ไปได้ วิธีการหนึ่งที่สะดวกกว่าการ ssh หลายๆรอบ คือ การใช้คำสั่ง screen ขั้นตอนคือ ssh ไปยังเครื่อง xxx.psu.ac.th ใช้คำสั่ง screen จากนี้ไป เป็นการติดต่อไปยัง Server ต่างๆ … ที่ Shell ของ screen บนเครื่อง xxx.psu.ac.th ใช้คำสั่ง ssh username@aaa.psu.ac.th ก็จะได้เข้าถึง aaa.psu.ac.th ได้ เมื่อต้องการ ติดต่อไปยัง bbb.psu.ac.th ก็ กดปุ่ม Ctrl + a แล้วกดตัว c (c ตัวพิมพ์เล็ก) จากนั้นจะได้ Prompt ใหม่ของ xxx.psu.ac.th แล้วใช้คำสั่ง ssh username@bbb.psu.ac.th เมื่อต้องการ ติดต่อไปยัง ccc.psu.ac.th ก็ กดปุ่ม Ctrl + a แล้วกดตัว c (c ตัวพิมพ์เล็ก) จากนั้นจะได้ Prompt ใหม่ของ xxx.psu.ac.th แล้วใช้คำสั่ง ssh username@ccc.psu.ac.th เมื่อต้องการ ติดต่อไปยัง ddd.psu.ac.th ก็ กดปุ่ม Ctrl + a แล้วกดตัว c (c ตัวพิมพ์เล็ก) จากนั้นจะได้ Prompt ใหม่ของ xxx.psu.ac.th แล้วใช้คำสั่ง ssh username@ddd.psu.ac.th ต่อไป หากต้องการดูว่า มีการเชื่อมต่อไปยัง Server ใดไว้บ้าง ใช้คำสั่ง Ctrl + a แล้ว กด ” (Double Quote) ก็จะแสดง รายการของ Server ที่ติดต่อไป โดยนำหน้าด้วย ตัวเลข เริ่มจาก 0, 1, 2 และตามด้วยชื่อ โดยเริ่มต้น จะเป็นชื่อ Shell เช่น bash ทำให้จำได้ยาก แต่สามารถ ใช้ปุ่ม ลูกศร บนคีย์บอร์ด เพื่อเลื่อนขึ้นลงได้ ให้ เลื่อนไปที่อันแรก แล้วกด Enter (ซึ่งก็คือเครื่อง aaa.psu.ac.th)

Read More »

วิธีการ Charge iPhone ที่ถูกต้อง

สรุป Battery ของ iPhone 1. ใช้ Lithium-ion Batteries ซึ่งแตกต่างกับ Nickle-Base Batteries ซึ่งจะมีปัญหา memory effect ดังนั้น สามารถ Recharge ได้ ทุกครั้ง เมื่อมีโอกาส โดยไม่ต้องรอให้หมดแล้วค่อย Charge 2. Battery ของ iPhone จะมี Charge Cycle ที่ 500 Cycles, โดยแต่ละ cycle คือ จำนวน % ที่ Charge เข้าไป เช่น ถ้าเราใช้ Battery จาก 100% เหลือ 75% หรือ หมายความว่า ใช้ไป 25% แล้ว จะ Charge ทุกครั้ง …. 1 Cycle จะเท่ากับการทำอย่างนี้ 4 รอบ … เมื่อครบ 500 Cycles แล้ว … ฺBattery ก็จะเสื่อม คือเก็บไฟล์ได้แค่ 80% และลดลงเรื่อยๆ 3. แต่ เพื่อให้ได้ Exercise ควรใช้ให้ Battery “ใกล้” หมด เดือนละครั้ง แต่ …. ห้ามใช้จนหมด 4. ข้อเสียของ Lithium-ion คือ พอผลิตเสร็จ ออกจากโรงงาน … มันจะเริ่มเสื่อมทันทีไม่ว่าจะใช้หรือไม่ … ดังนั้น ถ้า iPhone4 ออกมา 2 ปี แล้วไปซื้อ แม้ว่าจะเป็นมือ 1 เลย ตัว Battery ก็จะเสื่อมไปบ้างแล้ว T.T 5. ดังนั้น การใช้ App ที่เปลือง Battery ทำให้ ต้องมีการใช้พลังงานเยอะ ตามมาด้วยการต้อง Charge บ่อยๆ ก็ยิ่งทำให้ Charge Cycle ครบ 500 cycles เร็วขึ้น และการ Charge ไป ใช้ไป อาจทำให้ Battery ร้อน แล้วระเบิดได้ เท่าที่อ่านมา ประมาณนี้ครับ Reference http://www.apple.com/batteries/iphone.html http://www.apple.com/batteries/ http://electronics.howstuffworks.com/everyday-tech/lithium-ion-battery.htm http://boards.straightdope.com/sdmb/showthread.php?t=475998

Read More »

Shorewall Blacklist

ใช้ได้กับ Shorewall 4.4.12 ขึ้นมา แก้แฟ้ม /etc/shorewall/interfaces โดยเพิ่มความว่า blacklist ต่อท้ายของเดิม เป็น net eth0 detect tcpflags,logmartians,nosmurfs,blacklist เพิ่มลิสต์ที่ต้องการบล็อคลงไปในแฟ้ม /etc/shorewall/blacklist ตัวอย่างค้นหาเครื่องที่ต้องการบล็อคการเข้าถึงพอร์ต 80 และ 443 grep -R phpmyadmin/scripts/setup.php /var/log/apache2|cut -d: -f2|awk ‘{ print $1 }’|sort -t’.’ -n -k1,1 -k2,2 -k3,3 -k4,4|uniq จากตัวอย่างในเครื่องเราไม่มี phpmyadmin แต่มีคนพยายามเข้าถึงตัวติดตั้ง phpmyadmin ฉะนั้นบล็อค IP พวกนี้ไว้ก่อน (บล็อคถาวรกรั่กๆ…) เอา IP จากข้อที่แล้วมาใส่ในแฟ้ม /etc/shorewall/blacklist รูปแบบ #ADDRESS/SUBNET PROTOCOL PORT เช่น 93.115.210.90 tcp 80,443 93.174.93.153 tcp 80,443 94.23.58.185 tcp 80,443 94.102.51.155 tcp 80,443 103.247.21.60 tcp 80,443 107.6.88.155 tcp 80,443 109.163.232.218 tcp 80,443 110.170.34.220 tcp 80,443 111.90.168.5 tcp 80,443 115.84.101.78 tcp 80,443 115.238.101.45 tcp 80,443 115.239.253.11 tcp 80,443 116.93.105.112 tcp 80,443 117.35.96.146 tcp 80,443 118.140.120.26 tcp 80,443 119.52.254.20 tcp 80,443 119.57.51.154 tcp 80,443 122.49.0.220 tcp 80,443 123.125.148.79 tcp 80,443 125.210.204.242 tcp 80,443 restart shorewall sudo shorewall restart IP ที่ถูกแบล็คลิสต์ อาจหายไปจากสารบบ ทำให้ shorewall start ไม่ขึ้น ต้องลบไอพีดังกล่าวออกไปก่อนจึงจะ start ได้ Compiling /etc/shorewall/blacklist… ERROR: Unknown Host (93.x4.93.153) : /etc/shorewall/blacklist (line 23) จบ… ขอให้สนุกครับ ที่มา http://shorewall.net/manpages/shorewall-blacklist.html คีย์เวิร์ดสำหรับแบน /CFIDE/administrator/enter.cfm /MyAdmin/scripts/setup.php /myadmin/scripts/setup.php /phpMyAdmin/scripts/setup.php /pma/scripts/setup.php /w00tw00t.at.blackhats.romanian.anti-sec:) เป็นต้น

Read More »