8 ขั้นตอนง่าย ๆ ในการเปลี่ยน desktop ให้เป็น Ubuntu Server
Posted in:
เอาไว้สำหรับเป็นโปรเจคเล็กๆ เล่นยามว่าง ในที่นี้สมมุติว่าคุณมี Ubuntu 7.10 "Gutsy" (เวอร์ชั่น desktop) ติดตั้งในเครื่องแล้วนะ แล้วจะช้าอยู่ใย ลงมือกันเลยดีกว่า
ขั้นตอนที่ 1: หาทางเชื่อมต่อกับเซิฟเวอร์ - คุณต้องแน่ใจว่าคุณมี stable IP address และโดเมนเนมที่จะใช้ในการเชื่อมต่อไปยังเครื่องของคุณ คุณอาจต้องคุยกับผู้ดูแลระบบ หรือซื้อโดเมนของคุณเอง มีหลายๆ บริษัทให้บริการจดโดเมนในราคาไม่แพงนัก หรือคุณอาจจะหาโดเมนเนมจากบริษัทที่ให้บริการฟรีก็ได้ ถ้าคุณต้องการทราบไอพีแอดเดรสและโดเมนเนมของคุณเอง ก็สามารถใช้คำสั่งเช่น "ifconfig" และ "nslookup" หรือไปยังเวปไซต์พวก
whatismyip.com และ samspade.com ก็ได้ ถึงตอนนี้เมื่อคุณได้รับไอพีแอดเดรสและโดเมนเนมแล้ว ให้ตั้งโดเมนเนมสำหรับเครื่องของคุณโดยการแก้ไขไฟล์ /etc/hostname:
sudo nano /etc/hostname
my.domain.name.th
พิมพ์ control-X เพื่อออกมาแล้ว saveไฟล์ คุณอาจเพิ่มข้อมูลอื่นๆ เกี่ยวกับไอพีแอดเดรสและโฮสเนมไปยังไฟล์ /etc/hosts เช่นถ้าไอพีของคุณคือ 123.123.123.123 ให้เพิ่มบันทัดต่อไปนี้ไปยังไฟล์ (โดยการใช้ "sudo nano /etc/hosts"):
123.123.123.123 your.domain.name.th
ขั้นตอนที่ 2: ตั้งพาสเวิร์สให้ยากๆ หน่อย - ถ้าตั้งพาสเวิอร์ดยาวๆ มีทั้งตัวเล็ก ตัวใหญ่ ผสมกับหมายเลข และสัญญลักษณ์ได้จะดีมาก เป็นเรื่องสำคัญมากที่ต้องพยายามทำให้ได้ คุณอาจทำได้ง่ายๆ โดยไปที่ System->Administration->Users and Groups หรือที่ command line (กรณีใช้ Terminal) ให้รันคำสั่ง:
passwd
apt-get install ssh openssh-server
sudo nano /etc/ssh/sshd_config
รีสตาร์ท ssh
sudo invoke-rc.d ssh restart
ทดลองใช้คอมพิวเตอร์เครื่องอื่น เชื่อมต่อไปยังเซิฟเวอร์ของคุณโดยใช้ ssh client (อาทิเช่น "ssh" บน command line หรือ Putty บน
windows เป็นต้น) เช่น ถ้าคุณเปลี่ยนค่าพอร์ตเป็น 789 และ username ของคุณคือ "superman" ดังนั้นคำสั่งสำหรับการเชื่อมต่อคือ:
ssh superman@my.domain.name.th -p789
& MySQL 5 วิธีการติดตั้งแบบง่ายๆ คุณอาจทำโดยใช้ tasksel (บน command line) หรือ Synaptic ในการทำแบบ Synaptic ให้เลือก Edit->Mark
Packages by Task...และเลือก LAMP server และติดตั้ง หรือมิฉะนั้นที่ command line ให้ run
sudo tasksel
แล้วเลือก LAMP server ถ้าคุณไม่ได้ติดตั้ง tasksel ก็ให้ run "sudo apt-get install tasksel" ตอนนี้ก็จะเห็นว่ามีการติดตั้ง Apache, MySQL, และ PHP และควรมีการถามหา root password เพื่อใช้กับ MySQL ก็เช่นเดียวกันควรเลือกพาสเวิร์ดที่ดี ดังที่กล่าวไว้แล้วในขั้นตอนที่ 2 และก็ควรตั้งค่า MySQL ไม่ให้ตอบรับการติดต่อใดๆ
ยกเว้นจากเครื่องของคุณ (local machine) ตัวไฟล์หลักในการจัดการ Apache อยู่ที่:
/etc/apache2/apache2.conf
/etc/apache2/sites-enabled/000-default
/var/www
สำหรับ firewall ใน Ubuntu จะมีให้เลือกอยู่ 2 ตัว ถ้าคุณยังคงใช้เครื่องนี้เป็น desktop ต่อไปด้วย คุณอาจใช้ FireStarter เป็น graphical firewall manager แต่ถ้าคุณใช้เครื่องนี้เป็นเซิฟเวอร์อย่างเดียว คุณอาจเลือก Shorewall เพราะคุณสามารถแก้ไขจาก command line (ไม่แน่ใจว่า Firestarter จะสามารถใช้ command line ได้หรือเปล่าไม่เคยลอง) ในการติดตั้ง Shorewall ให้พิมพ์บันทัดต่อไปนี้:
sudo apt-get install shorewall
จากนั้นพิมพ์คำสั่งต่อไปนี้:
cd /usr/share/doc/shorewall/default-config sudo cp interfaces /etc/shorewall/ sudo cp policy /etc/shorewall/ sudo cp rules /etc/shorewall/ sudo cp zones /etc/shorewall/โดยการใช้คำสั่งในการแก้ไข (เช่น sudo nano หรือ sudo gedit) คุณต้องแก้ไขไฟล์ 4 ไฟล์ ให้เพิ่มบันทัดนี้ก่อนบันทัดสุดท้ายของ /etc/shorewall/interfaces:
net eth0 detectเพิ่มบันทัดนี้ก่อนบันทัดสุดท้ายของ /etc/shorewall/zones:
net ipv4คุณจะต้องมีบันทัดที่เขียนว่า "fw firewall" อยู่ใน zones file ให้ใส่บันทัดต่อไปนี้ก่อนบันทัดสุดท้ายของ /etc/shorewall/policy:
fw net ACCEPT net all DROP info all all REJECT infoและเพิ่มบันทัดเหล่านี้ไปยังไฟล์ /etc/shorewall/rules ของคุณหลังจาก SECTION NEW line:
#change "22" to the port you used for ssh if not the default one: ACCEPT net fw tcp 22 ACCEPT net fw tcp www,httpsเปลี่ยนจาก 22 ไปเป็นพอร์ตที่คุณจะใช้สำหรับ ssh ให้เอาคำว่า ",https" ออก ถ้าคุณไม่คิดว่าจะติดตั้ง ssh module ใดๆ สำหรับ apache
webserver (เพื่อความปลอดภัยในการทำธุรกรรมซื้อขาย) สุดท้ายแก้ไขไฟล์ /etc/default/shorewall โดยเปลี่ยนบันทัดที่มีคำว่า startup=0 เป็น:
startup=1
คุณสามารถเปิด firewall โดยใช้คำสั่ง:
sudo invoke-rc.d shorewall start
statistics), webmin (ตัวนี้ใช้ เป็นweb-based control panel สำหรับเซิฟเวอร์ของคุณ) เป็นต้น ตัว crontab ผสมผสานกับ shell scripts (ใน bash, python, perl, และอื่นๆ) สามารถนำมาใช้ในการส่งอีเมล์ถึงคุณเมื่อเซิฟเวอร์มีปัญหาหรือล่ม หรือคุณอาจสั่งให้รีสตาร์ทอัตโนมัติได้
sudo tar cpzf /media/path/to/backup/folder/my-backup.tar.gz
--exclude=/proc/* --exclude=/lost+found/* --exclude=/dev/*
--exclude=/mnt/* --exclude=/media/* --exclude=/sys/* --exclude=/tmp/*
--exclude=/var/cache/apt/* /
สำหรับในแง่เซิฟเวอร์ จะเป็นการดีถ้าใช้บางอย่างที่เหมือน rsync สามารถจัดแต่งเพื่อใช้ในการ backup อะไรก็ตามที่มีการเปลี่ยนแปลง แม้เพียงครั้งเดียวหลังจากครั้งสุดท้ายที่คุณทำการ back up (incremental backups) โปรดดูตัวอย่างได้ที่:
- Time Machine-like Backup for Linux Computers
- Easy Automated Snapshot-Style Backups with Rsync
- Backups using rync
แหล่งข้อมูล Quickly Setting Up and Securing an Ubuntu Server



-*- แหล่มเลย
-*-
แหล่มเลย
โอ้ว
โอ้ว เขียนได้สุดยอดมากครับ
เยี่ยมยุท
เยี่ยมยุทธ
ขอบคุณมาก
ขอบคุณมากมาย กำลังสนใจจะเรียนรู้อยู่พอดี
ละเอียดดีแท้
ผมมีคำถามอยู่อย่างหนึ่งครับ
ถ้าหากตอนนี้เรามี dynamic IP ล่ะครับ จะมีคำแนะนำแะไรบ้างเอ่ย? ขอถามท่านผู้ทราบด้วยครับ เพราะว่าตอนนี้เราๆ ท่านๆ ใช้ ADSL กันแพร่หลาย ซึ่งส่วนใหญ่ทั้งหมดจะได้รับ dynamic IP ถ้าจะทำ host เองต้องทำยังงัย
จะขอบคุณมากๆครับ ผม
ไม่แน่ใจน
ไม่แน่ใจนะว่าใช้พวก IP Forwarding จะได้ไหม
DDNS
ไม่ทราบว่าจะใช้งานร่วมกับ Dynamic DNS ได้ด้วยหรือเปล่าครับ
Noppol Sakulratnasak
Dynamic DNS
Dynamic DNS ใช้ร่วมกันได้ซิ ผมใช้อยู่ครับ shorewall ก็ใช้ดีมากครับ ทำ chroot ด้วยนะครับ
น่าจะมีกา
น่าจะมีการทำแผ่นติดตั้ง server แบบกราฟฟิคโหมดด้วยนะครับ สำหรับมือใหม่อย่างผมน่ะครับ ผมคิดว่าอาจจะเป็นประโยชน์สำหรับท่านอื่นๆด้วยครับ แต่ก็จะลองเอาวิธีข้างบนไปทำดูครับ ขอบคุณครับ
Post new comment