New in version 2.2
สิ่งที่เพิ่มเติมและใหม่ ในเวอร์ชั่น 2.2
15 September 2008

Readme for SUT-MOTS 2.1(1 May 2008 )



1. Ported to Ubuntu server base
    SUT-MOTS 2.1 is on Fedora core 6 and it is quite old. We decide to port it to Ubuntu server base.
    SUT-MOTS 2.2 is now on Ubuntu server 8.04 updated 15 September 2008.
    ทำการย้ายระบบสอบออนไลน์มาอยู่บนปฏิบัติการใหม่ที่เป็นที่นิยม นั่นคือได้ย้ายจาก ระบบปฏิบัติการ Fedora core 6 มาเป็น Ubuntu 8.04
    ที่ทำการอัพเดทล่าสุดเมื่อวันที่ 15 กันยายน 2551

2. Now, client web browser can be IE version 6 and newer.
   (Previous version only allows Firefox or Mozilla web browser.)
   ผู้ใช้สามารถใช้โปรแกรม IE เวอร์ชั่น 6 หรือใหม่กว่า ต่อเข้ามาทำสอบได้ และอาจารย์อาจใช้ต่อเข้ามาสำหรับจัดการการสอบจากทางไกลได้
   (เวอร์ชั่นก่อนหน้านี้ ต้องใช้ Firefox หรือ Mozilla เท่านั้น)


3. Multimedia manual links will not be shown during any test.
   คู่มือการใช้งานที่เป็นวิดิทัศน์จะไม่แสดงที่จอ ถ้ามีวิชาใดกำลังสอบอยู่



4. Performance Note

   You may have to change configure data for the web server in file /etc/apache2/apache2.conf

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers       10
    MaxClients            40
    MaxRequestsPerChild   0
</IfModule>

### Note by sompan
#The above setting for
#MaxClients            40
#is under the assumption that your system has RAM 512 MB.
#You should increase this number to suit your system.
#For example,
#RAM 1GB uses MaxClients            80
#RAM 2GB uses MaxClients            160
#################

    Then in the terminal run command: sudo /etc/init.d/apache2 restart
    If you don't know how to do that just reboot the system.


   เพื่อความเหมาะสมต่อระบบของท่าน ท่านอาจจะต้องปรับค่าให้กับ web server ซึ่งอยู่ในไฟล์ /etc/apache2/apache2.conf ซึ่งมีส่วนของข้อมูล ที่เกี่ยวข้องดังนี้


<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers       10
    MaxClients            40
    MaxRequestsPerChild   0
</IfModule>

### Note by sompan
#The above setting for
#MaxClients            40
#is under the assumption that your system has RAM 512 MB.
#You should increase this number to suit your system.
#For example,
#RAM 1GB uses MaxClients            80
#RAM 2GB uses MaxClients            160
#################

    จะเห็นว่า ค่าที่กำหนดไว้ให้นั้น เหมาะสำหรับเครื่องที่มีหน่วยความจำ 512 MB ถ้าเครื่องมีหน่วยความจำ 1 GB ให้ท่านเปลี่ยน
    บรรทัดที่เกี่ยวข้องเป็น MaxClients            80
    แต่ถ้าเครื่องมีหน่วยความจำ 2 GB ให้ท่านเปลี่ยน
    บรรทัดที่เกี่ยวข้องเป็น MaxClients            160
    แล้วจึงรันใน terminal ด้วยคำสั่ง: sudo /etc/init.d/apache2 restart
    แต่ถ้าใช้คำสั่งไม่เป็น ให้บูตเครื่องใหม่




5. There are two versions of SUT-MOTS 2.2

  1. SUT-MOTS 2.2 for Ext3. It will install by formatting destination harddisk partition to Ext3. This version is good for real online test.
  2. SUT-MOTS 2.2 install on Windows Drive. It will install on a harddisk partition either FAT or NTFS expecting Windows XP has installed because it will use Windows XP boot loader but it will not change any data.  This version is good for trying, testing and trainning. I think it can be used for a real online test if the server is fast enough, having RAM 1GB or more, and about 50-60 examinees. However, it must be tested before using for real test. 
  1. SUT-MOTS 2.2 for Ext3 ซึ่งเป็นเวอร์ชั่นที่ต้องลงในฮาร์ดดิสก์ด้วยการ format ให้เป็น Ext3 รุ่นนี้เหมาะต่อการนำไปใช้สอบจริง
  2. SUT-MOTS 2.2 install on Windows Drive ซึ่งเป็นเวอร์ชั่นที่ต้องลงในฮาร์ดดิสก์คู่กับ Windows XP เพราะต้องใช้บูตโหลดเดอร์ของ XP ด้วยการติดตั้งเข้าไปเป็นไดเร็กเทอรี่หนึ่ง โดยไม่มีผลต่อ Windows XP และข้อมูลอื่นๆ รุ่นนี้เหมาะต่อการนำศึกษาเรียนรู้ รวมไปถึงการฝึกอบรม แต่รุ่นนี้ก็น่าจะนำไปใช้สอบจริงได้ ถ้าเครื่องคอมพิวเตอร์แรงหน่อย มีแรมสัก 1GB และจำนวนผู้เข้าสอบสัก 50-60 คน ทั้งนี้ผู้ใช้ควรทดลองดูก่อน



6. Grub boot loader will have two lines to boot to the system.  One is to boot GUI mode and the second is to boot to text mode. Booting text mode will use RAm about 200MB less than GUI mode.
 
ตัวบูตระบบ grub จะปรากฏตัวเลือก 2 บรรทัด คือ บรรทัดแรกจะบูตเข้า GUI โหมด ส่วนบรรทัดที่สองจะบูตเข้าสู่ text โหมด ถ้าเข้า text โหมดจะใช้ RAM น้อยกว่าโหมด GUI ประมาณ 200 MB.



7. This is to serve more users on the test, during the installation, user is allowed to choose size of swap file. It can be either 2 or 4 GB. 
   เพื่อรองรับผู้เข้าสอบได้มากขึ้น ในระหว่างการติดตั้ง ผู้ใช้สามารถเลือกขนาดของไฟล์ swap ว่าจะให้มีขนาด 2 หรือ 4 GB.


8. Importance security concern
   As Ubuntu server nature, firewall will be disable when NIC or network setup has changed. Therefore, admin should execute
   comand in the terminal:
       sudo ufw enable
   each time ip was changed.
   If you want to see whether firewall is working, in terminal run command:
       sudo iptables -nL
   if the result displayed as below, it means firewall is not working
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 
 
  if the result displayed as below, it means firewall is working
Chain INPUT (policy DROP)
target     prot opt source               destination        
ufw-before-input  all  --  0.0.0.0/0            0.0.0.0/0          
ufw-after-input  all  --  0.0.0.0/0            0.0.0.0/0          

Chain FORWARD (policy DROP)
target     prot opt source               destination        
ufw-before-forward  all  --  0.0.0.0/0            0.0.0.0/0          
ufw-after-forward  all  --  0.0.0.0/0            0.0.0.0/0          

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
ufw-before-output  all  --  0.0.0.0/0            0.0.0.0/0          
ufw-after-output  all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-after-forward (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-after-input (1 references)
target     prot opt source               destination        
RETURN     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:137
RETURN     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:138
RETURN     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:139
RETURN     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:445
RETURN     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:67
RETURN     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:68
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-after-output (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-before-forward (1 references)
target     prot opt source               destination        
ufw-user-forward  all  --  0.0.0.0/0            0.0.0.0/0          
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-before-input (1 references)
target     prot opt source               destination        
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED
DROP       all  --  0.0.0.0/0            0.0.0.0/0           ctstate INVALID
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 3
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 4
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 11
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 12
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 8
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:67 dpt:68
ufw-not-local  all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     all  --  224.0.0.0/4          0.0.0.0/0          
ACCEPT     all  --  0.0.0.0/0            224.0.0.0/4        
ufw-user-input  all  --  0.0.0.0/0            0.0.0.0/0          
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-before-output (1 references)
target     prot opt source               destination        
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW,RELATED,ESTABLISHED
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW,RELATED,ESTABLISHED
ufw-user-output  all  --  0.0.0.0/0            0.0.0.0/0          
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-not-local (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           ADDRTYPE match dst-type LOCAL
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           ADDRTYPE match dst-type MULTICAST
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           ADDRTYPE match dst-type BROADCAST
DROP       all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-user-forward (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-user-input (1 references)
target     prot opt source               destination        
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-user-output (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0  

   ด้วยธรรมชาติของ Ubuntu server , firewall จะไม่ทำงานเมื่อมีการเปลี่ยนแปลง IP ใหม่. ดังนั้นหลังจากการกำหนด IP ใหม่แล้ว ผู้ดูแลระบบ
   ควรใช้คำสั่งในเทอร์มินัล:
       sudo ufw enable
   ถ้าท่านต้องการทราบว่า firewall ทำงานหรือไม่ ให้ใช้คำสั่งในเทอร์มินัล ดังนี้
       sudo iptables -nL
   และถ้าผลปรากฏที่หน้าจอดังด้านล่าง แสดงว่า firewall ยังไม่ทำงาน
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 
 
  แต่ถ้าผลปรากฏที่หน้าจอดังด้านล่าง แสดงว่า firewall ทำงานแล้ว
Chain INPUT (policy DROP)
target     prot opt source               destination        
ufw-before-input  all  --  0.0.0.0/0            0.0.0.0/0          
ufw-after-input  all  --  0.0.0.0/0            0.0.0.0/0          

Chain FORWARD (policy DROP)
target     prot opt source               destination        
ufw-before-forward  all  --  0.0.0.0/0            0.0.0.0/0          
ufw-after-forward  all  --  0.0.0.0/0            0.0.0.0/0          

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
ufw-before-output  all  --  0.0.0.0/0            0.0.0.0/0          
ufw-after-output  all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-after-forward (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-after-input (1 references)
target     prot opt source               destination        
RETURN     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:137
RETURN     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:138
RETURN     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:139
RETURN     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:445
RETURN     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:67
RETURN     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:68
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-after-output (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-before-forward (1 references)
target     prot opt source               destination        
ufw-user-forward  all  --  0.0.0.0/0            0.0.0.0/0          
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-before-input (1 references)
target     prot opt source               destination        
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED
DROP       all  --  0.0.0.0/0            0.0.0.0/0           ctstate INVALID
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 3
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 4
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 11
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 12
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 8
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:67 dpt:68
ufw-not-local  all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     all  --  224.0.0.0/4          0.0.0.0/0          
ACCEPT     all  --  0.0.0.0/0            224.0.0.0/4        
ufw-user-input  all  --  0.0.0.0/0            0.0.0.0/0          
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-before-output (1 references)
target     prot opt source               destination        
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW,RELATED,ESTABLISHED
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW,RELATED,ESTABLISHED
ufw-user-output  all  --  0.0.0.0/0            0.0.0.0/0          
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-not-local (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           ADDRTYPE match dst-type LOCAL
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           ADDRTYPE match dst-type MULTICAST
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           ADDRTYPE match dst-type BROADCAST
DROP       all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-user-forward (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-user-input (1 references)
target     prot opt source               destination        
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53
RETURN     all  --  0.0.0.0/0            0.0.0.0/0          

Chain ufw-user-output (1 references)
target     prot opt source               destination        
RETURN     all  --  0.0.0.0/0            0.0.0.0/0  



--- End ---