How to list linux file permissions in Octal Notation

วันนี้เนื่องจากทีมผู้ดูแล  Web Hosting ต้องการดูว่ามีไฟล์ไหนบ้างที่มี permission เป็น 777 ก็เลยนั่งหาดูพบว่า สามารถใช้คำสั่ง stat ในการดูได้ เช่น $stat -c “%a %n” /var/www ผลลัพธ์ หรือ $stat -c “%A (%a) %8s %.19y %n” /var/www ผลลัพธ์ ทั้งนี้เนื่องจากไม่สามารถทำให้มัน recursive ได้ ก็ต้องหาไปทีละโฟลเดอร์ …. จนกระทั่งเจออีกคำสั่ง คือ สร้าง alias ชื่อ lso ดังนี้ $alias lso=”ls -alG | awk ‘{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\” %0o \”,k);print}'” เมื่อจะใช้งาน ก็เพียงสั่ง lso ที่คอมมานด์ไลน์ ผลลัพธ์ สามารถปรับ option … Read more

How to create PSU VPN (L2TP/IPSec) connection Ubuntu 13.04?

* ติดตั้งโปรแกรมชื่อ l2tp-ipsec-vpn ด้วยคำสั่ง $sudo apt-get install l2tp-ipsec-vpn ดังภาพ * ตอบ y * ตอบ No * กด OK * สั่ง reboot เครื่อง * เมื่อบูทเสร็จจะพบว่ามีไอคอนเพิ่มมาบนพาเนล * คลิกซ้ายเลือก Edit Connection * หน้าจอจะมืดลงและมีช่องให้ใส่พาสเวิร์ดของผู้ใช้ลงไปแล้วกด OK * จะได้หน้าจอดังรูป * คลิก Add จะได้หน้าจอดังรูป ใส่ vpn.psu.ac.th ลงไปในช่อง Connection name กด OK * ได้ดังรูป * คลิก Edit กรอกข้อความตามรูป * คลิก PPP เลือกตามรูป ในช่อง … Read more

elvisnox: text is invisible in black background xterm

*Ubuntu 13.04 แก้ปัญหานี้แล้วครับ หลังจากเข้าร่วม ติว “VirtualBox Networking + vi + Shell Scripts” ก็ติดใจใช้แต่ elvis (elvis เป็น vi editor ชนิดหนึ่ง http://fivedots.coe.psu.ac.th/~cj/LUG/vi.pdf สามารถติดตั้งเพิ่มโดยใช้คำสั่ง $sudo apt-get install elvis ซึ่งเมื่อติดตั้งแล้ว elvis จะกลายเป็น default editor ทันที ดูได้จากคำสั่ง $sudo update-alternative –config editor ดังรูป ) มาโดยตลอด ติดอยู่อย่างเดียวคือ เมื่อติดตั้งแล้ว เมื่อเปิด vi ขึ้นมาพบว่าหน้าจอเป็นสีดำทั้งหมด ก็ต้องมาเปลี่ยนสีของ terminal เพื่อให้อ่านออกเป็นแบบนี้ อีกวิธีไม่ต้องแก้สีของโปรไฟล์ คือ แก้ค่าในแฟ้ม /etc/elvis/elvis.clr $sudo vi /etc/elvis/elvis.clr ให้มองหาข้อความ … Read more

How to install LibreOffice 4.0 in Ubuntu & Mint

  1. Uninstall LibreOffice รุ่นเก่าออกให้หมด
    $sudo apt-get remove --purge libreoffice*
  2. Download Libreoffice for Ubuntu ที่ LibreOffice โดยเลือกรุ่นให้ถูกต้องว่า 64 บิตหรือ 32บิต (x86 หรือ x86_64) ดูได้จากคำสั่ง
    $uname -a
    หากได้ผลลัพธ์ว่า
    Linux Enterprise 3.5.0-23-generic #35-Ubuntu SMP Thu Jan 24 13:15:40 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    แปลว่า 64บิต สังเกตุว่ามี x86_64 ต่อท้าย ส่วนรุ่น 32บิตจะได้ว่า
    Linux ubuntu 2.6.32-34-generic-pae #77-Ubuntu SMP Tue Sep 13 21:16:18 UTC 2011 i686 GNU/Linux
    สังเกตว่ามี i686 เครื่องรุ่นเก่ากว่านี้อาจจะเป็นเลขอื่นๆ

Read more

วิธีย้ายบล็อก wordpress ไปเครื่องใหม่ชื่อโดเมนเนมใหม่

บันทึกขั้นตอน (ตัวอย่าง) ในการย้ายบล็อก wordpress จากเครื่องเดิม sysadmin.in.psu.ac.th ไปยังเครื่องใหม่ โดเมนเนมใหม่ sysadmin.psu.ac.th เนื่องจากเครื่องเดิมจะมี resources ไม่เพียงพอ และต้องการเปลี่ยนชื่อโดเมนเนมอันใหม่ที่หลายคนว่าดูเหมาะสมและชื่อสั้นกว่า งานนี้บอกได้เลยว่าเล่นเอาเหงื่อตกเลย เพราะคิดว่าย้ายแบบ Joomla! ก็น่าจะได้ ซึ่งเป็นวิธีที่ใช้ไม่ได้ครับ สุดท้ายสำเร็จกับการติดตั้ง Duplicator Plugin ไว้ที่เครื่องเดิมก่อน แล้วสร้าง backup ไว้นำมา restore ลงในเครื่องใหม่

เนื้อหาค่อนข้างยาวสักนิด ผมมีเจตนาอยากให้เห็นว่าการทำเว็บไซต์ขึ้นมาหนึ่งอัน เราต้องใช้ความรู้พอสมควร และที่ทำส่วนใหญ่ก็อ่านจากเว็บไซต์ของพี่วิภัทร นั่นคือ opensource.psu.ac.th นี่แหล่ะครับ

  1. เริ่มต้นจากกำหนดจำนวน resources ที่จำเป็นใช้ เพราะว่าจะไปขอใช้ Virtual Machine ของศูนย์คอมพิวเตอร์ ที่ขอไว้คือ RAM 2 GB, Hard disk 40 GB, OS Ubuntu 12.04.1, TCP Port 80,443
    แล้วกรอกในแบบฟอร์ม
  2. งานบริการเซิร์ฟเวอร์ก็สร้าง VM ให้ที่ทำการอัปเดต OS ให้แล้ว แจ้ง username ให้เข้าใช้งานผ่าน ssh
  3. เมื่อ ssh เข้าได้แล้ว เข้าทำงานในสิทธิ root ด้วยคำสั่ง
    sudo su –
  4. ทำการติดตั้ง Apps ที่จำเป็น ผมเลือก LAMP คือชุดรวมของ Linux, Apache, MySQL และ PHP ที่จำเป็นต้องใช้กับ wordpress ด้วยคำสั่ง
    tasksel
    เลือก LAMP
    จะมีคำถาม รหัสผ่านของ MySQL root ให้ตั้งที่จะจำได้
  5. ติดตั้งส่วนเพิ่มเติมของ php เพิ่มด้วยคำสั่ง
    apt-get install php5-gd php5-imap php5-ldap php5-radius
  6. ติดตั้ง unzip เพิ่มด้วยคำสั่ง
    apt-get install unzip
  7. ปรับแต่ง apache2 ให้ใช้งานแบบ module rewrite
    sudo a2enmod rewrite
  8. ต่อไปก็มาถึงเรื่องการปรับแต่ง apache2 ให้มี Virtual host แบบเปิด port สำหรับ http และ redirect http โดยแก้ไขไฟล์ /etc/apache2/sites-available/default
    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName sysadmin.psu.ac.th           <==== เพิ่มบรรทัดนี้
    DocumentRoot /var/www/wordpress

    <Directory /var/www/wordpress>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All             <==== แก้ไขบรรทัดนี้จาก None เป็น All
    Order allow,deny
    allow from all
    </Directory>
    …     ที่เหลือเหมือนเดิม
    </VirtualHost>
    เพิ่มบรรทัดข้างล่างนี้ เพื่อให้ยังคงมีการ redirect ไปยังที่ใหม่หากใช้ชื่อเก่า
    <VirtualHost *:80>
    ServerName sysadmin.in.psu.ac.th
    Redirect / http://sysadmin.psu.ac.th/
    </VirtualHost>
  9. ต่อไปมาถึงเรื่องการปรับแต่ง apache2 ให้มี Virtual host แบบเปิด port สำหรับ https
    สั่งเปิด module ssl ด้วยคำสั่ง
    a2enmod ssl
    คัดลอกแฟ้ม PSU SSL certificates (file_a.crt, file_b.key และ file_c.ca-bundle) มาเก็บไว้ในไดเรกทอรีที่สร้างนี้
    mkdir -p /etc/apache2/ssl
    mv /home/username/file_* /etc/apache2/ssl/
    แล้วปรับเปลี่ยนสิทธิของแฟ้มด้วยคำสั่ง
    chown -R root:root /etc/apache2/ssl/file_*.*
    chmod 600 /etc/apache2/ssl/file_*.*
    แล้วแก้ไขไฟล์ /etc/apache2/sites-available/default เพื่อจัดการเกี่ยวกับ https และ Certificates
    เพิ่มบรรทัดต่อท้ายไฟล์
    NameVirtualHost *:443
    <VirtualHost *:443>
    DocumentRoot /var/www/wordpress
    ServerName sysadmin.psu.ac.th
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/file_a.crt
    SSLCertificateKeyFile /etc/apache2/ssl/file_b.key
    SSLCertificateChainFile /etc/apache2/ssl/file_c.ca-bundle
    </VirtualHost>
  10. ต้องสั่งรีสตาร์ท apache2 ดังนี้
    service apache2 restart

    Read more