มาทำ Self-hosted cloud storage ด้วย ownCloud ใน PSU กันเถอะ

เมื่ือช่วงต้นเดือนพฤษภาคม ผมได้รับอีเมลเกี่ยวกับรายชื่อ cloud storage ที่มีให้บริการ เช่น dropbox เป็นต้น แล้วมีพูดถึงว่านอกจากบริการบนอินเทอร์เน็ต ยังมี open source software ชื่อ owncloud อีกตัวนึงที่มีคนทำไว้ใช้งานเองและใช้ได้จริง และเป็นที่นิยมกันมากมาย ผมเลยตามไปดูที่ owncloud.org และก็จุดประกายความคิดขึ้นมาต่อยอดจากที่งาน WUNCA26 ว่ามีอาจารย์ท่านนึงบรรยายเกี่ยวกับ cloud ว่าอยากให้มหาวิทยาลัยมี private cloud ใช้งาน อันนี้ก็เป็นอันหนึ่งคือ self-hosted cloud storage หมายถึง ตั้งเซิร์ฟเวอร์เองไว้เก็บไฟล์ owncloud ทำอะไรได้บ้าง ผมจินตนาการอย่างนี้นะครับ ผมจะมี directory เก็บไฟล์ทำงาน ซึ่งแน่นอนอาจต้องการอีกสักหนึ่งเพื่อไว้กิจกรรมอะไรก็ได้ และนำไฟล์เหล่านี้ไปเก็บบน server ทำให้ผมจะมีข้อมูลเก็บอยู่สองแห่ง (เครื่องผมและserver)  เมื่อผมแก้ไข เพิ่ม หรือ ลบไฟล์ แล้วจะมี sync client สักตัวทำการ sync ให้เท่ากัน เมื่อผมไม่ได้ใช้เครื่องคอมฯของตนเอง ผมก็สามารถเข้าเว็บเบราว์เซอร์แล้วเข้าไปที่ URL ที่กำหนดไว้ เช่น [ http://cloud.in.psu.ac.th ] เป็นต้น ผมก็สามารถ login เข้าทำงานกับไฟล์ของผมได้แล้ว จากนั้นก็คิดต่อไปว่าแล้วผมมี Android smart phone จะต้องใช้ได้ด้วย คือเปิดดูพวกไฟล์ pdf ได้เลย รวมถึงเมื่อถ่ายรูป ไฟล์รูปภาพก็จะอัพโหลดไปเก็บอยู่บน server ของผม และเมื่อผมกลับมาเปิดเครื่องคอมฯของตนเองอีกครั้ง โปรแกรม sync client ก็จะทำการ sync ไฟล์รูปภาพจาก server ลงมาเก็บไว้ใน directory ที่กำหนดไว้ เป็นไงครับอ่านมาถึงตรงนี้ นึกออกแล้วใช่ไม๊ครับ ไม่เห็นภาพ ลองดูตัวอย่างจาก presentation เรื่อง คู่มือสำหรับผู้ใช้งาน ownCloud ครับ ตามนี้ [ https://sharedrive.psu.ac.th/public.php?service=files&t=494382205a552cc52f07e6855c991162 ] สองสัปดาห์ที่ผ่านมา ผมจึงลงมือทำการทดสอบ ติดตั้งง่ายครับใช้ ubuntu server 12.04.2 มีเรื่องที่ต้องสนใจ 2-3 เรื่อง เรื่องแรกคือจะใช้ฐานข้อมูลอะไร มีให้เลือก sqlite, MySQL, PostGresSQL เรื่องที่สองคือจะใช้ user name อะไรในการ login เข้าใช้งาน เรื่องที่สามคือจะกำหนดพื้นที่ดิสก์รวมอยู่กับ system หรือแยก partition ต่างหากสำหรับเก็บ data นอกจากนี้ก็เป็นการคอนฟิกเพิ่มเติมโปรแกรม (owncloud จะเรียกว่า Apps) เช่น Bookmark, News Feed, Web mail client เป็นต้น และสุดท้ายคือตั้งค่า disk quota สำหรับผู้ใช้แต่ละคน เริ่มต้นด้วยแบบง่ายๆก็ใช้ local user ของโปรแกรม owncloud เองเลย ซึ่งเก็บอยู่บนฐานข้อมูล sqlite ในขั้นตอนติดตั้ง แบบยากขึ้นมานิด จะใช้ External user support ได้อย่างไร ก็พบว่าทำได้จาก LDAP, IMAP, FTP server ผมเลือกใช้ FTP server เพราะว่าเราสามารถผสมใช้ linux user name พร้อมๆไปกับ PSU Passport ของมหาวิทยาลัยได้ด้วย ผ่านทาง FTP server และอนุญาตเฉพาะ user name ที่เป็นสมาชิกเท่านั้น ซึ่งเป็นความรู้ที่ได้รับจากหลวงพี่วิภัทรสั่งสอนไว้นั่นเอง คือ PSU-radius + vsftpd + pam_radius_auth ถัดมาก็ทดสอบเปลี่ยนไปใช้ MySQL database ก็ไม่ยุ่งยากอะไร คือ ต้องเตรียม database name, database user, database password

Read More »

How to install apache,php,mysql instead xampp on ubuntu (for newbie)

แรกเริ่มเดินทีวันนี้ก็ไม่ได้จะเขียน Post นี้หรอกครับ เพียงแต่ว่ามี บุคลากรในที่ทำงานเจอปัญหาในการติดตั้งโปรแกรม ห้องสมุด ULIB  โดยใช้ Ubuntu 12.04.1 LTS  เป็น server แล้วติดตั้ง xampp เพื่อให้ได้ครบทุก package ในการใช้งาน แต่ไม่สามารถทำการติดตั้งโปรแกรม ULIB ได้เนื่องจากโปรแกรมฟ้องเรื่อง permission  ในการติดตั้งโปรแกรมดังข้างล่าง   มีปัญหาเกี่ยวกับการเปลี่ยนโหมดไฟล์/File permission problem – ไม่อนุญาตให้ติดตั้ง [../inc/config.inc.sv.php] Notice: Undefined variable: dcrs in /opt/lampp/htdocs/ULIB/install/index.php on line 239 มีปัญหาเกี่ยวกับการเปลี่ยนโหมดไฟล์/File permission problem – ไม่อนุญาตให้ติดตั้ง [../inc/config.inc.php] Notice: Undefined variable: dcrs in /opt/lampp/htdocs/ULIB/install/index.php on line 239 มีปัญหาเกี่ยวกับการเปลี่ยนโหมดไฟล์/File permission problem – ไม่อนุญาตให้ติดตั้ง [../inc/c.inc.php] Notice: Undefined variable: dcrs in /opt/lampp/htdocs/ULIB/install/index.php on line 239 มีปัญหาเกี่ยวกับการเปลี่ยนโหมดไฟล์/File permission problem – ไม่อนุญาตให้ติดตั้ง [../webboard/c.inc.php] Notice: Undefined variable: dcrs in /opt/lampp/htdocs/ULIB/install/index.php on line 239 มีปัญหาเกี่ยวกับการเปลี่ยนโหมดไฟล์/File permission problem – ไม่อนุญาตให้ติดตั้ง [../web/c.inc.php] Notice: Undefined variable: dcrs in /opt/lampp/htdocs/ULIB/install/index.php on line 239 หากคุณเป็นผู้ดูแลระบบเซิร์ฟเวอร์บนระบบปฏิบัติการ Linux/If you are server administrator (Linux) Execute in command line chown apache:apache ‘/opt/lampp/htdocs/ULIB/inc/config.inc.sv.php’ ; chown apache:apache ‘/opt/lampp/htdocs/ULIB/inc/config.inc.php’ ; chown apache:apache ‘/opt/lampp/htdocs/ULIB/inc/c.inc.php’ ; chown apache:apache ‘/opt/lampp/htdocs/ULIB/webboard/c.inc.php’ ; chown apache:apache ‘/opt/lampp/htdocs/ULIB/web/c.inc.php’ ; * apache:apache คือชื่อ User และ Group ของโปรแกรม Apache หากเซิร์ฟเวอร์ของคุณมีการปรับแต่งเป็นอย่างอื่น ก็ต้องแก้ apache:apache ตามด้วย   ผมจึงลองเปลี่ยน user และ group เป็น www-data:www-data  แล้วแต่มันก็ยังไม่สามารถติดตั้งระบบได้อยู่ดี จึงลองลบ xampp ออกจากเครื่องเลย วิธีการลบตอนแรกก็งงๆเหมือนกัน เพราะผมดันไปใช้คำสั่ง apt-get install opt  และก็ dpkg -P opt  ซึ่งมันก็ไม่สามารถลบได้ เพราะเหมือนว่าไอ่เจ้าถูก opt มองเห็นเป็นเพียง directory หนึ่งเท่านั้น ดังนั้นวิธีการลบจึงแค่ใช้คำสั่ง rm -rf /opt แทน ครับ [1] จากนั้นเมื่อลบแล้วจึงลองติดตั้งแบบแยกทีบะตัวดูครับโดยเริ่มจาก 1.ติดตั้ง MySQL  ก่อนเป็นอันดับแรกเลยก็ได้ครับโดยใช้คำสั่ง   sudo  apt-get install mysql-server mysql-client   ระบบจะให้เราใส่รหัสผ่านของ root และก็ยืนยันอีกครั้ง [2] 2.ติดตั้ง apache2  โดยใช้คำสั่ง    sudo    apt-get install apache2 apache2-doc      [3] 3.ติดตั้ง php  โดยคำสั่ง                  sudo  apt-get install php5 libapache2-mod-php5    โดยตอนที่ระบบมันถามว่าจะเลือก

Read More »

วิธีตั้งค่า PSU Email สำหรับ Outlook Express

การตั้งค่า Outlook Express ให้ใช้งานกับ PSU Email โดย สมมุติว่า 1. ผู้ใช้ชื่อ Username Surname ใช้ email address เป็น username.s@psu.ac.th 2. Incoming Server : mail.psu.ac.th และใช้งานผ่าน IMAP 3. ตั้งค่า Outgoing Server: smtp2.psu.ac.th Port: 587 และมีการเข้ารหัสข้อมูลในการส่ง (STARTTLS ) รวมถึงมีการยืนยันตัวตนก่อน (SMTP Authentication) ทำให้สามารถใช้งานได้จากทั่วโลก   วิธีการตั้งค่า มีดังนี้ 1) ใส่ชื่อและนามสกุล 2. ใส่ email address 3. ตั้งค่าการเชื่อมต่อเป็น IMAP Incoming mail: mail.psu.ac.th Outgoning mail: smtp2.psu.ac.th 4. ใส่ username และ password ของ PSU Email   5. เสร็จการเริ่มต้นตั้งค่า 6.  ต่อไป เป็นการตั้งค่าความปลอดภัยอื่นๆ ไปที่ Tools > Accounts … 7. คลิกที่ Mail > mail.psu.ac.th > Properties จากนั้นคลิก Tab “Servers” , ในส่วนของ Outgoing Mail Server ให้ติ๊กที่ My Server requires authentication คลิกที่ปุ่ม Setting คลิกที่ Use same setting as my incoming mail server แล้วคลิก OK   8. ไป Tab “Advanced” ตั้งค่า Server Port Numbers ของ Outgoing  Mail Server เป็น 587 และติ๊ก This server requires a secure connection (SSL)         เป็นอันเรียบร้อย

Read More »

วิธีเอา index.php ของ Codeigniter ออกไป (Ubuntu/Linux Mint)

1.สร้างไฟล์ .htaccess ในโปรเจกของท่าน ดำเนินใส่โค๊ดดังนี้ (สมมุติว่าเป็น /var/www/ci/) RewriteEngine on RewriteBase /ci/ RewriteCond $1 !^(index\.php|assets|uploads|robots\.txt) RewriteRule ^(.*)$ index.php/$1 [L]   2.เปิด  terminal และพิมพ์คำสั่ง เพื่อเปิด mod_rewrite sudo a2enmod rewrite   3.เพิ่ม virtual host ใน /etc/apache2/sites-available/default sudo gedit /etc/apache2/sites-available/default   4.เพิ่มโค้ดดังนี้ <Directory /var/www/ci> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>   5. Restart Apache sudo /etc/init.d/apache2 restart   6.ไปที่โปรเจก codeigniter แก้ไขไฟล์  application/config/config.php เอา index.php ออก จาก $config[‘index_page’] = ‘index.php’; เป็น $config[‘index_page’] = ”;

Read More »

การตรวจสอบหา User ที่โดนหลอกเอา Password บน เว็บเมล์

วันก่อนได้รับจดหมายแจ้งเตือนว่า กำลังจะทำการปรับปรุงฐานข้อมูล email และจะทำการลบบัญชีที่ไม่ได้ใช้งาน เพื่อขยายพื้นที่ให้กับผู้ใช้รายใหม่ เพื่อเป็นการยืนยันว่าท่านยังมีการใช้งานอยู่โปรดกรอกข้อมูลตาม url ด้านล่าง มิเช่นนั้นบัญชีของท่านจะถูกลบ เมื่อคลิกเข้าไปดูตาม url ก็พบว่ามีช่องให้กรอกข้อมูล ชื่อผู้ใช้ และรหัสผ่าน แหมเจอแบบนี้ถ้าเป็นคนในวงการก็จะรู้ว่าหลอกลวงแน่นอน แต่ก็ยังมีผู้ใช้ที่รู้เท่าไม่ถึงการณ์หลงเชื่อ (จากประสบการณ์จะพบว่าผู้ใช้ทีหลงเชื่อโดยส่วนใหญ่จะเก่งภาษาอังกฤษหรือเป็นชาวต่างชาติครับ) เมื่อลองตรวจดูที่ header ทั้งหมดของจดหมายดังกล่าวเพื่อหาว่าต้นตอของจดหมายถูกส่งมาจากที่ใด ก็พบว่าถูกส่งมาจาก 199.83.103.141 ซึ่งเมือตรวจสอบต่อไปก็พบว่าเป็น ip address ที่อยู่ในประเทศสหรัฐอเมริกา  ก็เลยชักสงสัยแล้วว่าผู้ใช้รายใดกันที่ส่งอีเมล์ฉบับนี้มากจากอเมริกา ก็เลยตรวจสอบจาก log ของเว็บเมล์เพื่อหาดูกิจกรรมของหมายเลข ip ดังกล่าว ก็พบว่า มีผู้ใช้รายหนึ่ง (จากรูปด้าล่างคื sophita.t) ได้ทำการ login โดยใช้ ip ดังกล่าวครับ ดังรูป ตรวจสอบใน log ต่อไปก็พบว่า ip นี้มีการส่งจดหมายดังกล่าวจริง เมือตรวจสอบไปยังผู้ใช้เจ้าของบัญชีดังกล่าวว่าช่วงเวลาที่มีการส่งจดหมายหลอกลวงดังกล่าว ได้อยู่ที่อเมริกาหรือเปล่า ก็ได้คำตอบว่าอยุ่เมืองไทยตลอดจะมีไป ตปท. บ้างก็คงไปจีนแต่ไม่ใช่ช่วงดงกล่าว จึงเป็นที่แน่ชัดว่าถูกขโมยรหัสผ่านแน่นอน แถมยังใช้ในการส่ง SPAM เพื่อหวังหลอกเอารหัสผ่านผู้ใช้รายอื่นๆ อีก ขั้นแรกจึงได้ทำการปิดกั้นการเข้าถึงไปยังเว็บไซต์ที่หลอกลวงให้กรอกข้อมูลผู้ใช้ก่อน จากนั้นจึงได้ทำการแจ้งเตือนผู้ใช้อื่นๆ แล้วจึงทำการ reset รหัสผ่านผู้ใช้ที่โดนขโมยรหัสผ่าน

Read More »