How to install mathtex.cgi ubuntu 12.04

ติดตั้ง texlive-full , dvipng,  imagemagick $sudo apt-get install -y texlive-full dvipng imagemagick ดาวน์โหลด mathtex.zip $wget http://www.forkosh.com/mathtex.zip สร้างไดเร็คทอรี่ mathtex $mkdir mathtex cd mathtex unzip ../mathtex.zip compile mathtex.c ด้วยคำสั่ง $cc mathtex.c -DLATEX=\”$(which latex)\” -DDVIPNG=\”$(which dvipng)\”  -o mathtex.cgi sudo mv mathtex.cgi /usr/lib/cgi-bin sudo chown :www-data /usr/lib/cgi-bin sudo chmod g+w /usr/lib/cgi-bin เพิ่มข้อความต่อไปนี้ในแฟ้ม /etc/apache2/sites-enabled/000-default ภายใน Directive VirtualHost ถ้าใส่ตามนี้คืออนุญาติเครือข่ายภายในมหาวิทยาลัยเท่านั้นเข้าถึงได้ ScriptAlias /cgi-bin/ … Read more

WordPress file owner and permission

ตอนนี้เราควรให้ความสำคัญกับความปลอดภัยของเว็บไซต์ wordpress โดยการตั้งค่าสิทธิของไดเรกทอรีและไฟล์มากขึ้นเพราะมีข่าวที่เว็บไซต์มีช่องโหว่แล้วถูกฝังโค้ด เช่น แต่เดิมเราติดตั้ง wordpress ไว้ในไดเรกทอรี /var/www/wordpress แล้วเพื่อให้ทำงานติดตั้ง plugins เพิ่ม ปรับแต่งหน้าเว็บด้วย themes ใหม่ๆ หรือการอัปโหลดรูปภาพและสื่อ รวมทั้งการ upgrade เวอร์ชั่นของ wordpress ทำได้สะดวกง่ายๆ ด้วยการกำหนดสิทธิอย่างง่ายคือ sudo chown -R www-data.www-data /var/www/wordpress ก็ใช้งานได้แล้ว แต่ดูเหมือนว่าสักวันหนึ่งเราอาจจะเป็นเหยื่อได้ ผมได้คุยกับน้องใหญ่ แล้วก็ลงความเห็นกันว่า เราควรตั้งค่า file owner และ file permission ให้มันเข้มขึ้นแต่ยังสะดวกในการทำงานติดตั้งอะไรๆได้ด้วย ก็เป็นที่มาของคำสั่งข้างล่างนี้ อันดับแรกก็จะต้องกำหนด file owner กันก่อน ถ้า ubuntu server ของเรา ใช้ username คือ mama และมี group ชื่อ adm ซึ่งเป็นชื่อ … Read more

ตั้งค่าการเผยแพร่บทความให้อ่านได้เฉพาะสมาชิกที่ login

ใน wordpress เราสามารถตั้งค่าการเผยแพร่บทความให้อ่านได้เฉพาะสมาชิกที่ login ทำได้โดยการติดตั้ง plugin เพิ่ม ผมได้ติดตั้ง plugin ชื่อ member access (member-access.1.1.6.zip) เพิ่มตามคำแนะนำของทีมงาน (ใหญ่และน้อง ศูนย์คอมฯ ขอบคุณครับ) วิธีใช้งานคือ เมื่อท่านเขียนบทความเสร็จ ตัดสินใจแล้วว่าจะเผยแพร่แบบให้สมาชิกที่ login เข้าสู่ระบบแล้วจะดูได้เท่านั้น (เพราะจำเป็นจริงๆ อาจมีความลับบางอย่างไม่อยากให้พี่ google ไปบอกต่อ) ให้ท่านดูที่ด้านขวามือ จะเห็นเป็น Status: Published Edit Visibility: Public Edit ซึ่งถูกต้องแล้ว จากนั้นให้เลือกตัวเลือกของ Member Access ด้านล่าง ตั้งค่าตัวเลือก Ignore the default settings and make this post visible only to members ผลลัพธ์จากการตั้งค่าครั้งนี้ ทำให้บทความไม่แสดงในหน้าเว็บไซต์ ถ้าไม่ login เข้าสู่ระบบก็จะไม่เห็นบทความ เมื่อคัดลอก link … 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

KM เรื่อง การใช้งานสำหรับผู้เขียน wordpress

KM เรื่อง การใช้งานสำหรับผู้เขียน wordpress ในวันนี้จะเล่าให้ฟังถึงเรื่องต่างๆดังนี้ การเขียนเนื้อเรื่อง หลังจากมีเรื่องที่จะเขียน ให้ login เข้า โดยไปที่เมนูด้านบน “เขียนเล่าเรื่อง” คลิก Add New ที่ช่องตั้งชื่อเรื่อง ให้ตั้งเป็นภาษาอังกฤษก่อน แล้วค่อยเปลี่ยนเป็นภาษาไทย เช่น เรื่องที่เขียนนี้คือ “KM เรื่อง การใช้งานสำหรับผู้เขียน wordpress” ผมก็ตั้งเป็นว่า “KM How to authoring in wordpress” แล้วสังเกตที่บรรทัด Permalink มันตั้งให้เสร็จ สวยด้วย แล้วกลับไปแก้ไขเป็นชื่อภาษาไทย ตัวเอดิเตอร์ที่ใช้งานสามารถทำฟังก์ชันนี้ได้ คือ หากข้อความที่เขียนยาวมากๆ แนะนำให้ใช้เครื่องมือ Insert More Tag เพื่อแทรกแบ่งไปหน้าถัดไป อย่าลืมเพิ่ม Categories ของเรื่อง อยู่ทางด้านขวามือนะครับ รวมถึงเพิ่ม Tags ด้วยเพื่อใช้เป็นคำค้นนั่นเอง แล้วคลิก Add ด้วย โปรแกรม … Read more