วันศุกร์ที่ 8 เมษายน พ.ศ. 2554

การติดตั้ง Samba Standlone บน Ubuntu 10.04

     ขอพูดถึงเรื่องของ samba คืออะไรก่อนน่ะครับ สำหรับการติดตั้งตัว samba นั้น samba คือ การที่เราทำการใช้งานทรัพยากรร่วมกันเช่นการใช้ printer , handdisk , file และอื่นๆอีกแล้วแต่เราจะใช้งาน
     ระบบที่ทำงานอยู่บนเครื่อง Linux แล้วทำให้มันเสมือนเป็นเครื่อง Windows NT ทำไมเราจะต้องทำให้เครื่อง Linux เป็นเสมือนเครื่อง Windows NT ล่ะ ก็เพราะว่าระบบ Network ส่วนใหญ่แล้วมีเครื่องลูกข่ายเป็น Microsoft Windows หากมีเครื่อง Linux เพิ่มเข้ามาในระบบ แต่ไม่สามารถใช้ หรือ ให้ใช้ทรัพยากรต่างๆได้ ก็เท่ากับว่า เราไม่ได้ใช้ประโยชน์จากมันอย่างเต็มที่

การติดตั้ง Samba Standlone บน Ubuntu 10.04
หลังจากทำการ Login เข้าสู่ระบบทำการ Update และ Upgrade เรียบร้อยแล้วต่อไปทำการติดตั้ง Samba ด้วยการใช้คำสั่ง

apt-get install samba smbclient -y




ทำการตรวจสอบว่า Samba ที่เราทำการติดตั้งทำงานหรือป่าวด้วยการใช้คำสั่ง

ps -ef |grep smb

หรือติดตั้งโปรแกรม nmap ด้วยคำสั่ง

apt-get install nmap -y



แล้วใช้คำสั่ง แสกนพอร์ตด้วยคำสั่ง

nmap localhost

Samba จะใช้พอร์ต 139 และ 445 เพื่อเปิดทางให้โปรโตคอลสำหรับแชร์ไฟล์

เดี่ยวมาต่อให้


วันอังคารที่ 5 เมษายน พ.ศ. 2554

การติดตั้ง SSL ให้ทำงานบน Web Server ใน Ubuntu Server 10.04

การติดตั้ง SSL ให้ทำงานบน Web Server

ทำการสร้าง folder ชื่อ ssl-cert ด้วยคำสั่ง mkdir ssl-cert จากนั้นทำการเข้าไปใน folder ด้วยคำสั่ง cd ssl-cert

ทำการติดตั้งโปรแกรม Openssl ด้วยคำสั่ง apt-get install openssl  แล้วทำการกด Enter

ทำการแก้ไขไฟล์ Config ด้วยการเข้าไปที่ nano /etc/ssl/openssl.cnf แล้วกด Enter จะปรากฏหน้าต่างนี้



ให้ทำการค้นหาด้วยการใช้กด Ctrl+w เพื่อให้คำสั่งค้นหา แล้วพิมพ์ข้อความที่ต้องการ countryName_default แล้วกด Enter พอเจอแล้วทำการแก้ไขให้เป็น TH  แล้ว


ทำการค้นหา stateOrprovinceName เพื่อทำการแก้ไขเป็นค่าว่าง เมื่อแก้ไขเสร็จแล้วทำการ กด Ctrl+O เพื่อทำการบันทึก แล้วกด Enter แล้วทำการกด Ctrl+X เพื่อเป็นการออกจากการแก้ไข
  
ทำการสร้าง ไฟล์ Certificate โดยใช้คำสั่ง

Openssl genrsa –out server.key 1024

Certificate Signing Request โดยใช้คำสั่ง
openssl req -config /etc/ssl/openssl.cnf -new -key server.key -out newcsr.csr




ให้กรอกข้อมูลตามนี้
 Country Name (2 letter cord) : TH
State or Province Name (Full name)[]:
Locality Name (eg, city)[]:Bangkok
Organization Unit Name(eg,  company) [Internet Widgits Pty Lid]:cfsb
Organizational Unit Name (eg, section)[]:cfsb
Common Name (eg, YOUR name) [] : www.cfsb.com
Email Address [] : admin@cfsb.com

สร้างแฟ้มข้อมูล server certificate โดยใช้คำสั่ง

openssl x509 -req -days 365 -in newcsr.csr -signkey server.key -out server.crt


เปิดการใช้งาน Module SSL


เปลี่ยนชื่อFolder   โดยใช้คำสั่ง
cp /etc/apache2/sites-available/default  /etc/apache2/sites-available/sslsite


ทำการแก้ไขไฟล์ sslsite ดังนี้โดยใช้คำสั่ง
 nano /etc/apache2/sites-available/sslsite


NameVirtualHost *:443
<VirtualHost *:443>
ServerName www.cfsb.com:443
ServerAlias www.cfsb.com:443
ServerAdmin admin@cfsb.com
SSLEngine On
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /ssl-cert/server.crt
SSLCertificateKeyFile /ssl-cert/server.key

เมื่อแก้ไขเสร็จแล้วทำการบันทึกด้วยการกด  Ctrl+O แล้วกด Enter แล้วกด Ctrl+X เพื่อออกจากการแก้ไข จากนั้นทำการเปิดการทำงานของ SSLSite ด้วยคำสั่ง a2ensite sslsite

ทำการแก้ไขไฟล์ /etc/apache2/apache2.conf โดยใช้คำสั่ง
nano /etc/apache2/apache2.conf
ทำการเพิ่มชื่อ Server Name เข้าไปที่บรรทัดสุดท้ายของไฟล์ apache2.conf ServerName www.cfsb.com เมื่อเพิ่มเสร็จแล้วทำการบันทึกแล้วก็ออก


แก้ไขไฟล์ /etc/hosts เพื่อให้เครื่องรู้จักชื่อ domain name ที่สมมติขึ้น โดยใช้คาสั่ง
nano /etc/hosts
แก้ไขข้อความดังนี้
127.0.0.1 localhost localhost.localdomain www.cfsb.com cfsb.com



ทำการบันทึกแล้วก็ออก แล้วทำการแก้ไขไฟล์ hostname ด้วยการใช้คำสั่ง
nano /etc/hostname
แก้ใขข้อความดังนี้ด้วยการลบข้อความเก่าออก
www.cfsb.com


แก้ไขข้อความเสร็จแล้วทำการบันทึกแล้วก็ออก
ทำการเพิ่ม Hostname โดยใช้คำสั่ง
Hostname www.cfsb.com


สั่งรีสตาร์ท Network และ Apache โดยใช้คำสั่ง
/etc/init.d/networking restart
/etc/init.d/apache2 restart



ตรวจสอบการทำงานของ port 443 ว่าทำงานหรือไม่โดยการใช้คำสั่ง
Netstat –tan


ทำการทดสอบการทำงานของ SSL โดยการเข้าไปตั้งค่าของเครื่อง Client เข้าไปที่
C:\Windown\System32\driver\etc\hosts
แล้วทำการแก้ไข


เสร็จแล้วทำการบันทึกแล้วทดสอบการเข้า web ด้วยการเรียกไปที่ URL ที่เราตั้งไว้




พอเสร็จสิ้นจากการทำ WebServer แล้วก็ไปต่อกับการติดตั้ง FTP ให้กับ Ubuntu Server



วันอาทิตย์ที่ 3 เมษายน พ.ศ. 2554

ติดตั้ง Fail2ban บน Ubuntu Server 10.04 LTS

ติดตั้ง Fail2ban บน Ubuntu Server 10.04 LTS
Fail2ban เป็นโปรแกรมตรวจสอบ log files และแบน IP ที่ล็อกอินผิดหลายๆครั้ง โดยสนับสนุน Service หลายตัวเช่น apache, vsftpd, proftpd, postfix, couriersmtp, named (DNS),ssl เป็นต้น
มีหลักการทำงานดังนี้ โปรแกรม Fail2ban จะตรวจสอบ Log Files เป็นระยะ ว่ามี IP ที่ล๊อคอินเข้าระบบแล้ว Fail ติดๆกัน ครบตามจำนวนที่ตั้งไว้ในไฟล์คอนฟิก จะแบน IP หมายเลขนั้นโดยไปกำหนดที่ iptable ให้ Block IP Address   เมื่อแบน IP ครบตามกำหนดเวลาที่ตั้งไว้ในไฟล์คอนฟิก Fail2ban จะไปแก้ไข iptable  ให้ IP Address นั้นสามารถใช้งานได้ตามเดิม
ใช้คำสั่ง
Apt-get install fail2ban

ต่อไปทำการแก้ไขโดยใช้คำสั่ง
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

ต่อไปทำการแก้ไขข้อความภายใน
[ssh-ddos]
Enabled = true
Port = ssh
Filter = sshd-ddos
Logpath = /var/log/auth.log
Maxrety = 3
ได้ทำการแก้ไขให้กับ apache, vsftpd, proftpd, postfix เป็นต้น


ทำการบันทึกแล้วออกจากการแก้ไข

จากนั้นทำการ restart fail2ban
ตรวจสอบการทำงานของ fail2ban
tail /var/log/fail2ban.log

ตรวจสอบ IP ที่ถูกแบน
iptables  -n  -L
จากนั้นระบุ IP ที่ต้องการยกเลิกแบนไอพี โดยใช้คำสั่ง
iptables -D fail2ban-ssh -s “ใส่หมายเลข IP ที่ถูกแบน -j DROP

คำสั่ง Ubuntu Server

หลังจากที่ผมทดลองเขียนบทความบน Blog ก็มีผู้เข้าเยี่ยมชมต้องการอยากรู้คำสั่งที่ใช้ ผมเลยรวบรวมคำสั่งพื้นฐานที่ใช้งานใน Ubuntu คำสั่งใช้ได้ทั้ง Ubuntu Server และ Ubuntu Desktop เรามาดูคำสั่ง Ubuntu กันเลยดีกว่า

คำสั่ง Ubunut


ls
เป็นคำสั่งที่ใช้สำหรับแสดงแฟ้มข้อมูล (เช่นเดียวกับ dirของDOS) มากจากคำว่า list
รูปแบบคำสั่ง ls [option] [file]
option ที่มักใช้กันใน ls คือ
-l จะแสดงผลลัพธ์แบบ Long Format ซึ่งจะแสดง Permission ของแฟ้มด้วย
-a จะแสดงแฟ้มข้อมูลทั้งหมด
-F จะแสดง / หลัง Directory และ * หลังแฟ้มข้อมูลที่ execute ได้
ตัวอย่างการใช้งาน
ls -l
ls -al
ls -F

adduser
คำสั่งเพิ่ม User ให้กับระบบ Unix,Linux
รูบแบบการใช้งาน adduser -g (group) -d (Directory) (User)
ตัวอย่าง adduser -g root -d /home/user1 user สร้าง User ชื่อ Login คือ user1 เป็นสมาชิกในกลุ่ม root

useradd
คำสั่งเพิ่ม User ให้กับระบบ Unix,Linux (ใช้เหมือนกับคำสั่ง adduser)
รูบแบบการใช้งาน useradd -g (group) -d (Directory) (User)
ตัวอย่าง useradd -g root -d /home/user1 user สร้าง User ชื่อ Login คือ user1 เป็นสมาชิกในกลุ่ม root


userdel
คำสั่งลบ User ออกจากระบบ Unix,Linux
รูบแบบการใช้งาน userdel [option] (Username)
ตัวอย่าง userdel -r root user1 ลบ User ชื่อ Login คือ User1 และ -r คือให้ลบ Home Directoryของ User1 ด้วย

passwd
คำสั่งกำหนดและแก้ไขรหัสผ่านของ User ของระบบ Unix,Linux
รูบแบบการใช้งาน passwd [Username]
ตัวอย่าง passwd user1 (กำหนดรหัสผ่านให้ User1 ถ้าไม่พิมพ์ ชื่อ User ระบบUnixจะหมายความว่าแก้ไขรหัสผ่านของคนที่Loginเข้ามา)

alias
คำสั่งกำหนดคำสั่งย่อของระบบ Unix,Linux (คล้ายกับคำสั่ง SETในDOSแต่สามารถใช้เปฝ้นคำสั่ง RUNได้)
รูบแบบการใช้งาน alias [ชื่อใหม่=ข้อความ]
ตัวอย่าง alias copy=cp กำหนดให้พิมพ์ copy แทนคำสั่ง cpได้

bash
คำสั่งเรียกใช้ Bourne again shellของระบบ Unix,Linux
รูบแบบการใช้งาน bash
ตัวอย่าง bash [Enter] ( เรียกใช้ Bourne again shell)

bc
คำสั่งเรียกใช้โปรแกรมคำนวณเลขของระบบ Unix,Linux
รูบแบบการใช้งาน bc [-lwsqv] [option] [file]
ตัวอย่าง bc [Enter] 1+2 [Enter] 1^2 [Enter] a=3 [Enter] b=4 [Enter] a*b [Enter] x=2;y=5;x+y[Enter] [Ctrl-d] เพื่อออก
หมายเหตุ:คำสั่งนี้จะใช้ได้ต้องInstall Packet ลงไปก่อน

cp
เป็นคำสั่งที่ใช้สำหรับสำเนาแฟ้มข้อมูล (เช่นเดียวกับcopyของDOS) มาจากคำว่า copy
รูปแบบคำสั่ง cp source target
ตัวอย่างการใช้งาน #cp test.txt /home/user1

cal
คำสั่งแสดงปฏิทินของระบบ Unix,Linux
รูบแบบการใช้งาน cal
ตัวอย่าง cal [Enter](สั่งให้ระบบแสดง ปฏิทินเดือน ปัจจุบัน)
cal -y [Enter](สั่งให้ระบบแสดง ปฏิทินปี ปัจจุบัน)

cat
คำสั่งแสดงข้อความในFileของระบบ Unix,Linux (คล้ายกับคำสั่งTypeของDOS)
รูบแบบการใช้งาน cat
ตัวอย่าง cat /home/user1 | more อ่านข้อมูลจากไฟล์/home/user1ถ้ายาวเกินหน้าให้หยุดทีละหน้าจอ

C Compiler
คำสั่งCompile ภาษาCของระบบ Unix,Linux (คล้ายกับคำสั่งTypeของDOS)
รูบแบบการใช้งาน cc [filename]
ตัวอย่าง cc /home/user1/industry.c จะสั่งให้ระบบCompile ภาษาC ไฟล์ชื่อ industry.c ที่ Directory /home/user1

cd
คำสั่งChange Directoryของระบบ Unix,Linux (คล้ายกับคำสั่งCDของDOS)
รูบแบบการใช้งาน cd [directory]
ตัวอย่าง cd /etc [Enter]ไปDirectory etc
cd ..[Enter] ย้ายไปDirectoryอีก1ชั้น

chfin
คำสั่งChange your finger informationของระบบ Unix,Linux (เป็นการกำหนดข้อมูลของUser เช่น ชื่อเต็ม ที่อยู่ เบอร์โทรศัพท์)
รูบแบบการใช้งาน chfn [username]
ตัวอย่าง chfn User1 กำหนดรายละเอียดUser1

chgrp
คำสั่งChange Groupของระบบ Unix,Linux (เป็นการเปลี่ยนกลุ่มเจ้าของไฟล์)
รูบแบบการใช้งาน chgrp [-chfRv] (Group) (File)
ตัวอย่าง chgrp root /root/* เปลี่ยนGroupให้กับไฟล์ทุกไฟล์ในไดเรคทอรี่ /root ให้เป็น Group root

chmod
คำสั่งChange Modeของระบบ Unix,Linux (เป็นการเปลี่ยนสิทธิการเข้าถึงไฟล์)
รูบแบบการใช้งาน chmod [สิทธิ] (File)
ตัวอย่าง กำหนดสิทธิให้กับไฟล์ชื่อtest คือ chmod 754 test หรือ chmod go +r-w testให้กับไฟล์ทุกไฟล์ chmod o-r *
ตัวเลขMode rwx = 7 ; rw – =6 ; r-x =5 ; r- – = 4 ; – wx = 3 ; – w – = 2 ; – - x = 1 ; – - = 0
การกำหนดสิทธิกำหนดได้2ลักษณะคือ
1.กำหนดโดยใช้อักษรย่อกลุ่ม
2.ใช้รหัสเลขฐาน2แทนสิทธิ (1 คืออนุญาต)
กลุ่มผู้ใช้ User Group Other = ugo เช่น go-r-w+x คือกลุ่ม และคนอื่นไม่มีสิทธิอ่านเขียนแต่Runได้
สิทธิ์การใช้ -rwx rwx rwx = Read Write Execute
รหัสเลขฐาน 111 101 100 = 754 คือเจ้าของไฟล์ใช้ได้ครบ คน Group เดียวกันอ่านExecuteได้นอกนั้นอ่านได้อย่างเดียว

chown
คำสั่งChange Ownerของระบบ Unix,Linux (เป็นการเปลี่ยนเจ้าของไฟล์)
รูบแบบการใช้งาน chown [ซื่อเจ้าของไฟล์] (ชื่อFile)
ตัวอย่าง chown user1 filename คือเปลี่ยนเจ้าของไฟล์ชื่อ filename เป็นUser1
chown -R user1.root dirname คือเปลี่ยนทั้งเจ้าของไฟล์และกลุ่มไปพร้อมกันทุกไฟล์ใน Sub dirname.

chsh
คำสั่งchshของระบบ Unix,Linux (เป็นการเปลี่ยนShell ให้ User)
รูบแบบการใช้งาน chsh [Username]
ตัวอย่าง chsh user1 [Enter] /bin/bash [Enter]

clear
คำสั่งclearของระบบ Unix,Linux (เป็นการลบข้อความบนจอภาพ คล้ายกับคำสั่ง clsใน dos)
รูบแบบการใช้งาน clear
ตัวอย่าง clear [Enter]

cal
คำสั่งแสดงปฏิทินของระบบ Unix,Linux
รูบแบบการใช้งาน cal
ตัวอย่าง cal [Enter](สั่งให้ระบบแสดง ปฏิทินเดือน ปัจจุบัน)
cal -y [Enter](สั่งให้ระบบแสดง ปฏิทินปี ปัจจุบัน)
mesg
mesg ดู status การรับการติดต่อของ terminal
mesg y เปิดให้ terminal สามารถรับการติดต่อได้
mesg n ปิดไม่ให้ terminal สามารถรับการติดต่อได้

date
ใช้แสดง วันที่ และ เวลา
ตัวอย่าง date 17 May 2004

df
คำสั่งdf ของระบบ Unix,Linux (เป็นการตรวจสอบการใช้พื่นที่บนฮาร์ดดิสก์)
รูบแบบการใช้งานdf [option] [file]
ตัวอย่าง df [Enter]

dmesg
คำสั่งdmesgของระบบ Unix,Linux (เป็นการให้แสดงผลเหมือนตอน Boot)
รูบแบบการใช้งาน dmesg
ตัวอย่าง dmesg | more [Enter]
หมายเหตุ คำสั่งนี้ ใช้ตรวจสอบ เมื่อเกิดปัญหา เช่น Linux ไม่รู้จัก Driver CD-Rom หรือปัญหาอื่นๆ

echo
คำสั่งechoของระบบ Unix,Linux (เป็นการให้แสดงข้อความ เหมือนกับ ECHOของDOS)
รูบแบบการใช้งาน echo (ข้อความที่ต้องการให้แสดงผล)
ตัวอย่าง echo my name is user1
echo Hello > /dev/tty2 ส่งข้อความ Hello ไปออกจอเทอร์มินอลที่2

ed
คำสั่ง ed ของระบบ Unix,Linux (โปรแกรมแก้ไขข้อความใน Text file เหมือนกับคำสั่ง edlinของDOS)
รูบแบบการใช้งาน ed (fileName)
ตัวอย่าง ed /home/user/test (ออกกดq)
สำหรับคนที่ไม่ถนัดคำสั่งนี้แนะนำให้ใช้คำสั่ง picoหรือvi หรือemacsแทนได้เช่นกัน

emacs
คำสั่ง emacs ของระบบ Unix,Linux (โปรแกรมแก้ไขข้อความใน Text file )
รูบแบบการใช้งาน emacs (fileName)
ตัวอย่าง emacs /home/user/test (help กด Ctrl – h ; ออกกด Ctrl – x Ctrl – c)

exit
คำสั่ง exit ของระบบ Unix,Linux (ออกจากระบบยูนิกส์ )
รูบแบบการใช้งาน exit
ตัวอย่าง exit

finger
คำสั่ง finger ของระบบ Unix,Linux (แสดงชื่อUserที่กำลังLoginเข้ามาแต่คำสั่ง Whoจะให้รายละเอียดดีกว่า)
รูบแบบการใช้งาน finger [username]
ตัวอย่าง finger user1 แสดงชื่อและรายละเอียด user1

fsck
คำสั่ง fsck ของระบบ Unix,Linux (เป็นคำสั่ง ตรวจสอบและซ่อมแซม Linux file system เหมือนกับคำสั่งScandisk ของDos)
รูบแบบการใช้งาน fsck [option]
ตัวอย่าง /sbin/fsck -a /dev/hd1

ftp
คำสั่ง ftp ของระบบ Unix,Linux (เป็นโปรแกรมรับ-ส่งไฟล์ )
รูบแบบการใช้งาน ftp (IP or Name of FTP Server)
ตัวอย่าง ftp 132.209.1.2 [Enter]
Login:anonymous , Password: Username@YourDomain.com
คำสั่งที่เกี่ยวข้อง ls – ดูไฟล์ ; pwd -ดูdir. ที่อยู่ ;cd – เปลี่ยน dir ;lcd – เปลี่ยน local dir ;mput* -ส่งไฟล์ ;mget – รับไฟล์ ;bye – ออก

grep
คำสั่ง grep ของระบบ Unix,Linux (เป็นการสั่งให้ค้นหาตามเงื่อนไข )
รูบแบบการใช้งาน grep (option)
ตัวอย่าง grep -i ftp /etc/test ค้นหาบรรทัดที่มีคำว่า “ftp”ไม่สนใจพิมพ์เล็ก-ใหญ่ จาดไฟล์ /etc/test

groupadd
คำสั่ง groupadd ของระบบ Unix,Linux (เป็นการเพิ่มรายชื่อกลุ่มของ User)
รูบแบบการใช้งาน groupadd (GroupName )
ตัวอย่าง #groupadd staff สร้างกลุ่มของ User ชื่อ Staff เพิ่มให้ระบบ

groupdel
คำสั่ง groupdel ของระบบ Unix,Linux (เป็นการลบรายชื่อกลุ่มของ User)
รูบแบบการใช้งาน groupadd (GroupName )
ตัวอย่าง #groupdel staff ลบกลุ่มของ User ชื่อ Staffออกจากระบบ

gzip/gunzip
คำสั่งgzip/gunzipของระบบ Unix,Linux (เป็นการบีบอัดไฟล์หรือขยายบีบอัดไฟล์)
รูบแบบการใช้งาน gzipหรือgunzip (-cdfhlLnNrtv19 ) [file]
ตัวอย่าง #gzip -9vr /home/samba/* บีบอัดไฟล์ข้อมูลทุกไฟล์ ในSub /home/samba จะเปลี่ยนเป็นนามสุกล .gz
#gunzip -dvr /home/samba/* คลายการบีบอัดไฟล์ข้อมูลทุกไฟล์ที่สกุล .gz ในSub /home/samba

halt
คำสั่ง halt ของระบบ Unix,Linux (เป็นการสั่งให้เครื่องหยุดทำงาน)
รูบแบบการใช้งาน halt [-n] [-w] [-d] [-f] [-I] [-p]
ตัวอย่าง #halt
คำสั่งที่เกี่ยวข้อง คือ Shutdown ; init0 , reboot

history
คำสั่ง history ของระบบ Unix,Linux (เป็นการดูประวัติการใช้คำสั่งในCommand line คล้ายกับการกดF7ในDOSคือเรียกใช้คำสั่งDos key)
รูบแบบการใช้งานhistory [n] [-r wan [filename] ]
ตัวอย่าง #history 20 ดูคำสั่งที่เพิ่งใช้ไป20คำสั่งที่แล้ว

ifconfig
คำสั่ง history ของระบบ Unix,Linux (เป็นการตรวจสอบกำหนดค่าNetworkของLan Card)
รูบแบบการใช้งาน ifconfig [option]
ตัวอย่าง #ifconfig

ipchains
คำสั่ง ipchains ของระบบ Unix,Linux (เป็นคำสั่งสำหรับกำหนดควบคุม การรับส่งผ่านข้อมูลของ Firewall)
รูบแบบการใช้งาน ipchains [parameter] command [option]
ตัวอย่าง #ipchains -L ดูสถานะการ Set IPchainsในปัจจุบัน

jobs
คำสั่ง jobs ของระบบ Unix,Linux (เป็นคำสั่งสำหรับกำหนดควบคุม การรับส่งผ่านข้อมูลของ Firewall)
รูบแบบการใช้งาน jobs
ตัวอย่าง #sleep 20 & jobs

kill
คำสั่ง kill ของระบบ Unix,Linux (เป็นคำสั่งสำหรับยกเลิก Process)
รูบแบบการใช้งาน kill [option] (process ID)
ตัวอย่าง ps -A ดูหมายเลขที่ช่อง PIDของProcess ที่ต้องการลบ
Kill -9 nnn แทนnnnด้วยหมายเลขPID -9 คือบังคับฆ่าให้ตาย

login
คำสั่ง login ของระบบ Unix,Linux (เป็นคำสั่งการเข้าระบบหรือเปลี่ยน User Login) รูบแบบการใช้งาน login [fp] (UserName)
ตัวอย่าง #login:root

mkdir
เป็นคำสั่งที่ใช้สำหรับการสร้าง directory (ในทำนองเดียวกับ dos) มาจากคำว่า make directory
รูปแบบของคำสั่งmkdir mkdir [option] [file]
โดย option ที่มักใช้กันใน mkdir คือ
-m จะทำการกำหนด Permissioin (ให้ดูคำสั่ง chmod เพิ่มเติม)
-p จะทำการสร้าง Parent Directory ให้ด้วยกรณีที่ยังไม่มีการระบุ directory ในที่นี้อาจเป็น relative หรือ absolute path ก็ได้
ตัวอย่าง
mkdir /home
mkdir -p -m755 ~/้home/user1

mv
เป็นคำสั่งที่ใช้สำหรับการย้ายแฟ้มข้อมูลและ Directory รวมถึงการเปลี่ยนชื่อด้วย (ในทำนองเดียวกับ dos) มาจากคำว่า move
รูปแบบคำสั่ง
mv source target
ตัวอย่าง mv *.tar /backup
mv test.txt old.txt
mv bin oldbin

more
คล้ายกับคำสั่ง cat ไม่เหมาะกับการดูข้อมูลที่มีความยาวมากๆ ดังนั้น จึงได้มีการพัฒนา more ขึ้น เพื่อช่วยให้สามารถดูข้อมูลที่มีขนาดยาวได้เป็นช่วงๆ
รูปแบบคำสั่ง more file
ภายในโปรแกรม more จะมีคำสั่งเพื่อใช้งานคราวๆ ดังนี้
= แสดงเลขบรรทัด
q ออกจากโปรแกรม
เลื่อนไปยังหน้าถัดไป เลื่อนไปยังบรรทัดถัดไป
h แสดง help
ตัวอย่าง more test.txt

man
คำสั่ง man ของระบบ Unix,Linux (เป็นคำสั่งแสดงข้อความ อธิบายการใช้คำสั่ง)
รูบแบบการใช้งานman (Command)
ตัวอย่าง #man ls
หมายเหตุ เมื่อต้องการออก กด q ;ใช้[Spacebar] เลื่อนหน้าถัดไป ; ใช้ลูกศรขึ้นดูหน้าผ่านมา

mount
คำสั่ง mount ของระบบ Unix,Linux (เป็นคำสั่งเชื่อมต่ออุปกรณ์เข้ากับระบบ)
รูบแบบการใช้งาน mount (-t type) DeviceDriver MountPoint
ตัวอย่าง
# การ Mountแบบที่1 CdRom mount -t iso9660 /dev/cdrom /mnt/cdrom
หรือ
# mkdir /mnt/cdrom
# mount_cd9660 /dev/cd0a /mnt/cdrom
#การ Mount CdRom แบบที่2 mount /dev/cdrom (เมื่อmountแล้วCDจะอยู่ที่ /mnt/CdRom ยกเลิกดูคำสั่ง Unmount)

rmdir
เป็นคำสั่งที่ใช้สำหรับการลบ directory (ในทำนองเดียวกับ dos) มาจากคำว่า remove directory
โครงสร้างคำสั่ง
rmdir [option] [file]
โดย option ที่มักใช้กันใน mkdir คือ -p จะทำการลบ Child และ Parent Directory ตามลำดับ
directory ในที่นี้อาจเป็น relative หรือ absolute path ก็ได้ ตัวอย่าง rmdir /home

tar
เป็นคำสั่งเพื่อการ backup และ restore file ทั้งนี้การ tar จะเก็บทั้งโครง สร้าง directory และ file permission ด้วย (เหมาะสำหรับการเคลื่อนย้าย หรือแจกจ่ายโปรแกรมบนระบบ UNIX) มาจากคำว่า tape archive
รูปแบบคำสั่ง tar [option]… [file]…
โดย option ที่มักใช้กันใน echo คือ
-c ทำการสร้างใหม่ (backup)
-t แสดงรายชื่อแฟ้มข้อมูลในแฟ้มที่ backup ไว้
-v ตรวจสอบความถูกต้องของการประมวลผล
-f ผลลัพธ์ของมาที่ file
-x ทำการ restore
ตัวอย่าง tar -xvf data.tar

talk
คำสั่งที่ใช้สำหรับการพูดคุยระหว่างผู้ใช้ด้วยกันบนระบบ ซึ่งผู้ใช้ทั้งทั้ง 2 ฝ่ายจะต้องพิมพ์คำสั่ง Talk ถึงกันก่อน จึงจะเริ่มการสนทนาได้
รูปแบบคำสั่ง talk user[@host] [tty]
กรณีไม่ระบุ host โปรแกรมจะถือว่าหมายถึงเครื่องปัจจุบัน (นอกจากนี้ยังมีคำสั่ง ytalk ซึ่งสามารถพูดคุยได้พร้อมกันมากกว่า 2 คน) ซึงบางกรณีเราอาจจะต้องระบุ tty ด้วยหากมีผู้ใช้ Log in เข้าสู่ระบบด้วยชื่อเดียวกันมากกว่า 1 หน้าจอ
ตัวอย่าง talk m2k@nanastreet.com

write
คำสั่งใช้เพื่อการส่งข้อมูลทางเดียวจากผู้เขียนไปถึงผู้รับบนเครื่องเดียวกันเท่านั้น
รูปแบบคำสั่ง write user [tty]
เมื่อมีการพิมพ์คำสั่ง write ผู้ใช้จะเห็นข้อความซึ่งจะแสดงว่าข้อความดังกล่าวถูกส่งมาโดยใคร ซึ่งหากผู้รับต้องการตอบกลับ ก็จะต้องใช้คำสั่ง write เช่นกัน เมื่อพิมพ์เสร็จแล้วให้พิมพ์ตัวอักษร EOF หรือ กด CTRL+C เพื่อเป็นการ interrupt ทั้งนี้ข้อความที่พิมพ์หลังจาก write จะถูกส่งหลังจากการกด Enter เท่านั้น
ตัวอย่าง write m2k

who am i
คำสั่งใช้เพื่อแสดงว่าผู้ใช้ซึ่ง login เข้าสู่ระบบนั้น (ตัวเราเอง) login ด้วยชื่ออะไร
รูปแบบคำสั่ง/ตัวอย่าง whoami หรือ who am i (บน SUN OS หรือ UNIX บางตัวเท่านั้น)

file
คำสั่งfileบนระบบ DOS/Windows นั้น ประเภทของแฟ้มข้อมูลจะถูกระบุด้วยนามสกุล แต่ใน UNIX จะไม่มีนามสกุลเพื่อใช้ระบุประเภทของแฟ้มข้อมูล ดังนั้นการหาประเภทของแฟ้มข้อมูลจะดูจาก Context ภายในของแฟ้ม ซึ่งคำสั่ง file จะทำการอ่าน Content และบอกประเภทของแฟ้มข้อมูลนั้นๆ
รูปแบบคำสั่ง file [option]… file
ตัวอย่าง file /bin/sh
file report1.doc

free
แสดงหน่วยความจำที่เหลืออยู่บนระบบ
โครงสร้างคำสั่ง free [-b|-k|-m]
โดย option ที่มักใช้กันใน free คือ
-b แสดงผลลัพธ์เป็นหน่วย byte
-k แสดงผลลัพธ์เป็นหน่วย kilobyte
-m แสดงผลลัพธ์เป็นหน่วย megabyte
ตัวอย่าง free
free -b
free -k

pwd
เป็นคำสั่งที่ใช้สำหรับแสดง Directory ปัจจุบัน (ในทำนองเดียวกับการพิมพ์ cd บน DOS) มาจากคำว่า print work directory
รูปแบบคำสั่ง / ตัวอย่าง pwd

uname
คำสั่งแสดง ชื่อและรุ่นของ OS ชื่อและรุ่นของ cpu ชื่อเครื่อง
ตัวอย่าง uname -a

hostname
คำสั่งแสดงชื่อเครื่องที่ใช้อยู่
ตัวอย่าง hostname

tty
แสดงหมายเลข terminal ที่ใช้งานอยู่
ตัวอย่าง tty

id
ใช้แสดงชื่อและกลุ่มมของผู้ใช้งาน
ต้วอย่าง id

วันศุกร์ที่ 1 เมษายน พ.ศ. 2554

การติดตั้ง Web Server บน Ubuntu 10.04

การติดตั้ง Web Server บน Ubuntu 10.04 และการทำ SSL
ทำการ Login เข้าสู่ Ubuntu Server
ทำการ Update โดยใช้คำสั่ง  apt-get update แล้วกด Enter
เมื่อทำการ Update เสร็จการ Update ช้าหรือเร็วขึ้นอยู่กับความเร็วอินเตอร์เน็ตที่เราใช้งาน
หลังจากทำการ Update เสร็จเรียบร้อยแล้วมาทำการติดตั้ง apache php mysql และ phpmyadmin โดยใช้คำสั่ง แล้วกด Enter
apt-get install apache2 php5 php5-mysql mysql-server mysql-client phpmyadmin

ให้เลือกตอบ Y เพื่อทำการติดตั้งต่อไป
ระหว่างการติดตั้ง mysql จะปรากฏหน้าต่างให้ตั้งค่า Password ของ mysql ให้ใส่ Password แล้วทำการกด Enter
หน้าต่างการยืนยันรหัสผ่านของ mysql กรอกแล้วทำการกด Enter
หน้าต่างนี้ทำการเลื่อนลูกศรมาที่ตำแหน่งของ apache2 แล้วทำการกด spacebar แล้วทำการกด Enter หลังจากนั้นระบบจะทำการติดตั้งในส่วนอื่นๆต่อไป
หน้านี้ระบบถามเกี่ยวกับการตั้งค่า data base  ของ phpmyadmin ตอบ Yes แล้วกด Enter

ป้อน password แล้วทำการกด Enter
ใส่ password เดิมอีกครั้งเพื่อทำการยืนยัน แล้วทำการกด Enter
ใส่ password เพื่อทำการยืนยันอีกครั้ง แล้วทำการกด Enter
การติดตั้ง apache2 php mysql phpmyadmin เสร็จเรียบร้อยแล้ว ต่อไปเป็นการทดสอบการทำของโปรแกรมที่เราติดตั้งไป
ทดสอบการทำงานของ apache2 โดยใช่คำสั่ง netstat –lnt

จะแสดง port การทำงาน เป็น 80 สถานะเป็น LISTEN

ทดสอบการทำงานบนเครื่อง client ให้พิมพ์ IP เครื่อง Server ลงไปถ้าปรากฏ It works! แล้วว่า apache2 ทำงานแล้วต่อมาทำการทดสอบการทำงานของ PHP

ก่อนทำการทดสอบการทำงานของ PHP เราต้องสร้าง file ทดสอบขึ้นมาชื่อ testweb.php โดยการใช้คำสั่ง  แล้วทำการกด Enter
nano /var/www/testweb.php
หน้าต่างการสร้างไฟล์แล้วทำการพิมพ์คำสั้งตามรูปเพื่อการดูค่าต่างของระบบ กด Ctrl+O เพื่อทำการ save ค่าที่เราทำการเขียนลงไป แล้วกด Enter จากนั้นทำการกด Ctrl+x เพื่อออกจากคำสั่ง nano
พิมพ์คำสั่งให้ apache เปิดไฟล์นามสกุล php แล้วทำการ restart apache2 ด้วยคำสั่ง a2enmod php5  และ /etc/init.d/apache2 restart
ทำการทดสอบการทำงานของ php โดยการเข้ามาดูโดยพิมพ์ IP เครื่อง Server แล้วตามด้วยชื่อไฟล์ที่เราสร้างขึ้นมาเช่น

ทำการทดสอบการทำงาน ของ phpmyadmin ด้วยการพิมพ์ url http://192.168.242.128/phpmyadmin แล้วทำการกรอก usernane และ password ดู ในที่นี้ username จะเป็น root และ password ขึ้นอยู่กับตอนที่เราตั้งไว้
นี้คือหน้าต่างการทดสอบการทำงานของ mysql โดยพิมพ์คำสั่ง mysql –u root –p แล้วทำการใส่ password แล้วกด Enter ถ้าต้องการออกจาก mysql ก็ใช้คำสั่ง \q