How to Install WebServer On CentOS



       วิธีการติดตั้ง WebServer บน CentOS

โดยจะทำการติดตั้ง CentOS แบบ Minimal ซึ่งเป็นแบบที่ติดตั้งองค์ประกอบต่างๆน้อยที่สุด ไม่มี GUI ให้ใช้ เหมาะกับการเอาไปทำ Server เป็นอย่างยิ่ง และโปรแกรมอื่นๆที่จำเป็น เราจะมาทำการติดตั้งเพิ่มเติมเองในภายหลัง
อย่างแรกเราต้องทำการ Download ตัวติดตั้งมาก่อน ซึ่งจะมีให้เลือก Download อยู่ แบบหลักๆ ตามชนิดของ CPU ของเราคือ i386 จะใช้สำหรับ CPU 32 บิท และ x86_64 จะใช้สำหรับ CPU แบบ 64 บิท
# i386 สำหรับ CPU 32 บิท
http://mirror.centos.org/centos/6.2/isos/i386/
# x86_64 สำหรับ CPU 64 บิท
http://mirror.centos.org/centos/6.2/isos/x86_64/
จากนั้นทำการ Download CentOS-6.2-i386-minimal.iso หรือ CentOS-6.2-x86_64-minimal.iso ตามชนิดของ CPU ของเรา

-ขั้นตอนแรกเลือก Install or upgrade an existing system


-Skip ไปเลยเพราะว่าเราไม่ต้องการทำการตรวจสอบแผ่น



-เข้าสู่หน้าจอการติดตั้งแบบกราฟฟิกอันสวยงาม กด Next



-ทำการเลือกภาษา

-จากนั้นเลือก Keyboard Layout

-ทำการเลือก Basic Storage Device เพราะว่าเราใช้ Hard Disk ธรรมดา

-กด Yes, discard any data เพื่อยืนยันว่าถ้ามีข้อมูลอยู่ใน Hard Disk ตัวนี้เราไม่เอามันแล้วนะให้ลบเลย



-ทำการตั้งชื่อเครื่อง จากนั้นคลิกที่ Configure Network เพื่อทำการกำหนด IP Address โดยเลือกไปที่ Wired และคลิก Edit ที่ eth0 ซึ่งเป็นการ์ดแลนของเราเอง (Network Configure หลังจากติดตั้งเสร็จก็ได้)

-ต่อไปทำการเลือกประเทศ

-กำหนดรหัสผ่านสำหรับ root

-เลือก Create Custom Layout เพราะว่าเราต้องการติดตั้งโดยแบ่ง partition เอง


-จะเห็นว่า Server จะมี ฮาร์ดดิส 1 ลูก ขนาด 50 G ที่ยังไม่ได้แบ่ง partition เราต้องทำการแบ่ง partition เอง



-เลือกสร้าง partition แบบ Standard partition




-สร้าง partition /boot พื้นที่เก็บ Kernel และไฟล์ที่เกี่ยวข้องกับการบูท
 -พาร์ติชัน /boot ต้องเป็นพาร์ติชันแรกของฮาร์ดดิสก์
- กำหนดให้เป็น primary partition
-ขนาดโดยประมาณไม่ต่ำกว่า 100 MB
 -แนะนำให้ กำหนด System Type เป็น ext2 เพราะ ext2 เป็น System Type แบบเก่า ข้อดีคือ ทำงานได้เร็ว   ส่วน partition ที่เหลือให้กำหนด System Type เป็น ext4 เพราะเป็น System Type ตัวใหม่สุด ข้อดีคือ มีประสิทธิภาพมากขึ้นรวมทั้งความน่าเชื่อถือและคุณสมบัติที่ดีขึ้นอีกด้วย

-สร้าง partition   / (รูทไดเรกทอรี) พื้นที่เก็บไฟล์ซิสเต็ม กำหนดให้เป็น primary partition
-/ รูทไดเรคทอรี่ ขนาดไม่ต่ำกว่า 3-5 GB

-สร้าง partition   swap พื้นที่ ที่ใช้เป็นหน่วยความจำาสำารอง เวลา RAM ไม่พอ
- กำหนดให้เป็น primary partition 
- swap 2 เท่าของ RAM แต่ไม่เกิน 2 GB อันนี้เป็นหลักการทั่วไป สำาหรับ Red Hat Enterprise และ CentOS มีหลักการคำานวณอยู่ว่า ถ้า RAM ไม่เกิน 2 GB ให้คูณ ถ้า RAM มากกว่า 2 GB ให้บวก 2 เช่น มี RAM 1
GB ก็ให้สร้าง swap 2 GB มี RAM 3 GB ให้สร้าง swap 5 GB

-สร้าง partition /home พื้นที่ใช้งานของ user



-สร้าง partition /var พื่นที่สำหรับติดตั้ง web 

-สร้าง partition /usr พื่นที่สำหรับ เก็บ Package Install

-สร้าง partition /usr/local พื่นที่ Default Compile Package


-สร้าง partition  /opt  พื่นที่สำหรับ Backup Data
                                                                                       



-สร้าง partition /tmp พื้นที่เก็บไฟล์ชั่วคราว 
- เเป็นพาร์ติชันที่แยกออกมาเพื่อความปลอดภัยของเซิร์ฟเวอร์ถ้าพาร์ติชัน / ข้อมูลเต็มก็จะไม่มีผลกระทบกับระบบ

-ขนาดพาร์ติชันทั้งหมด ซึ่งจะเห็นว่า / (รูทไดเรกทอรี), /boot, swap ตั้งค่าเป็น Primary Partition ส่วนที่เหลือเป็นจะเป็น Extended Partition


-คลิก Write changes to disk


-ระบบเริ่มทำการติดตั้ง CentOS ลงบน Hard Disk ของเรา รอสักครู่……

-เมื่อติดตั้งเรียบร้อยแล้วคลิก Reboot

เมื่อ Reboot เรียบร้อยแล้วเราจะเห็นหน้าจอให้ใส่ Username และ Password (ไม่มีหน้าจอแบบ GUI ให้นะครับ เพราะว่าเราจะเอามาทำ Server หน้าจอกราฟฟิกแบบ GUI คงไม่จำเป็น)


-จากนั้นทำการ Disable SELinux โดยเข้าไปแก้ไขไฟล์คอนฟิกที่ /etc/selinux/config โดยแก้ไขให้SELINUX=disabled
-ต่อไปทำการ Disable Firewall
#chkconfig iptables off
-ต่อไปทำการ Reboot เครื่อง
#reboot
Configuration Network เป็น DHCP เนื่องจากลง Install Server ใน VM
#vi  /etc/sysconfig/network-scripts/ifcfg-eth0
แก้ไข ONBOOT=”yes”
-Restart Network
#service network restart
เมื่อ Network ใช้งานได้  เราสามารถทำการ SSH เพื่อเข้าใช้งานได้แล้ว



-เนื่องจากเราลง CentOS บนเครื่อง Server แบบ Minimal แต่มักจะพลาด ตรงที่ว่า ถ้าจะมา Configuration บางที ต้องใช้ Command แบบดิบ ๆ ถ้าใครไม่ถนัดแนะนำให้ลง Setup Tool เพิ่ม
#yum install setuptool
เมื่อเสร็จแล้ว เราลองเรียก tool โดยใช้คำสั่ง setup ดู ซึ่งปกติมันจะไม่มีอะไรอย่างอื่นติดมาให้ นอกจากเมนู Authentication Configuration



ดังนั้น เราจึงต้องมาลง Package อย่างอื่นเพิ่มเติม ดังนี้ครับ
#yum install system-config-network-tui system-config-firewall-base system-config-firewall-tuintsysv
คราวนี้ก็จะได้เมนู Configuration หลัก ๆ ตามที่เราต้องการแล้ว

ขั้นตอนการติดตั้ง Web Server
1. ตรวจสอบแพ็กเกจเว็บเซิร์ฟเวอร์
# rpm -qa httpd
2. กรณียังไม่ได้ติดตั้งให้ทำการติดตั้งใหม่ดังนี้
# yum -y install httpd
3. ตรวจสอบพาทไฟล์คอนฟิก httpd.conf
# rpm -ql httpd | less
4. ทำการแก้ไขไฟล์คอนฟิก
# cd /etc/httpd/conf
# ls
# vi httpd.conf
จุดที่แก้ไขและควรรู้จักมีดังนี้
# Timeout: The number of seconds before receives and sends time out. ช่วงเวลาที่ให้ผู้ใช้เรียกใช้งานเว็บไซต์
Timeout 120
#Listen 12.34.56.78:80 หมายเลขพอร์ตของเว็บเซิร์ฟเวอร์
Listen 80
# Load config files from the config directory "/etc/httpd/conf.d". โหลดโมดูลเสริม
Include conf.d/*.conf
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. กำหนดอีเมล์ผู้ดูแลระบบ
# ServerAdmin root@localhost เปลี่ยนเป็น
ServerAdmin admin@testwebserver.com
# DocumentRoot: พื้นที่เก็บเว็บไซต์หลัก
DocumentRoot "/var/www/html"
# UserDir: ต้องการให้ผู้ใช้ในระบบสร้างเว็บไซต์ได้ไหม
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#UserDir disable
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disable" line above, and uncomment
# the following line instead:
เปิดให้ผู้ใช้ในระบบมีเว็บไซต์ได้
UserDir public_html
# DirectoryIndex:ไฟล์หลักที่เรียกใช้งาน
DirectoryIndex index.html index.html.var index.php index.cgi index.shtml
# AccessFileName: เปิดใช้การป้องกันการเข้าถึงไดเร็กทอรี
AccessFileName .htaccess
# ScriptAlias: พื้นที่เก็บสคริปต์ CGI ที่สร้างจากภาษา PERL และ PYTHON
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
# Specify a default charset for all content served; ฟอนต์หลักที่เรียกใช้งาน
AddDefaultCharset UTF-8
# To use CGI scripts outside of ScriptAliased directories: เพิ่มนามสกุลไฟล์ CGI
# (You will also need to add "ExecCGI" to the "Options" directive.)
AddHandler cgi-script .cgi .pl .py
# To parse .shtml files for server-side includes (SSI):เปิดใช้งาน SSI
# (You will also need to add "Includes" to the "Options" directive.)
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
5. หลังจากแก้ไขเสร็จแล้วให้ทำการ Start Apache
# service httpd start
6. ตั้งให้ Apache ทำงานตอนบู๊ตเครื่อง
# chkconfig httpd on
7. ทดสอบดูผลทางโปรแกรมเว็บบราวเซอร์http://IP_Address 

Install PHP 
1.ติดตั้ง PHP สำหรับ ฐานข้อมูล MySQL
 # yum -y install php php-mysql
2. Restart Apache
 # service httpd restart

Install phpMyAdmin
1.ติดตั้ง extension
# yum -y install php-mbstring
2. Restart Apache
# service httpd restart
3.Download .gz from http://www.phpmyadmin.net
4.ขยายไฟล์ที่ Download
 # tar xvfz phpMyAdmin-3.5.2.2-all-languages.tar.gz
5.ย้ายไฟล์ที่ได้จากการขยายไฟล์ ไปที่ตำแหน่ง /var/www/html/phpMyAdmin
# mv phpMyAdmin-3.5.2.2-all-languages /var/www/html/phpMyAdmin
6.เป็นตำแหน่งไปที่ /var/www/html/phpMyAdmin
# cd /var/www/html/phpMyAdmin
7.copy ไฟล์ config.sample.inc.php ไปที่ config.inc.php
 # cp config.sample.inc.php config.inc.php
8.แก้ไขไฟล์ config.inc.php เพื่อให้การเข้าสู่ phpMyadmin จะมีหน้าต่างแบบ Authentication ให้ทำการ login
# vi config.inc.php
กำหนด $cfg['Servers'][$i]['auth_type'] = 'http';
9.Restart Apache
# service httpd restart

Install Database MySQL Server on CentOS
1. ติดตั้งฐานข้อมูล mysql-server
# yum install mysql-server
2. Restart ฐานข้อมูล
# service mysqld start
3. กำหนดให้ ฐานข้อมูล mysql ทำงานตอนบูตเครื่อง
# chkconfig mysqld on
4. Create password for root
# mysqladmin -u root password mypassword

Install WordPress on CentOS

ดาวน์โหลด http://wordpress.org/
1. ขยาย Zip File มาเก็บไว้ใน directory เปล่า ๆ ในเครื่องคอมพิวเตอร์ของเราครับ
2. เปิดไฟล์ที่ชื่อ wp-config-sample.php ด้วยโปรแกรม Text Editor เช่น NotePad ก็ได้ เพื่อใส่ค่าต่าง ๆ ของ Database เมื่อแก้ไขแล้วก็ Save ไฟล์เป็นชื่อ wp-config.php  
สำหรับข้อมูล database ที่ต้องกรอก ก็จะต้องไปสร้าง database ไว้ก่อน
/** MySQL database username */
define('DB_USER', 'username_here');
/** MySQL database password */
define('DB_PASSWORD', 'password_here');
/** MySQL hostname */
define('DB_HOST', 'localhost');
3. Upload ทุก ๆ ไฟล์ ขึ้นไปที่เว็บ server เอาไว้ที่พาท /var/www/html
4. เปิดหน้า /wp-admin/install.php ใน browser ดูนะครับ จะเป็นขั้นตอนในการตั้งค่าขั้นแรก หากเปิดเว็บแล้วเข้าไม่ได้หรือว่าพบ error ให้ลองตรวจเช็คไฟล์ wp-config.php ดูว่าใส่ค่า database ถูกหรือเปล่า ถ้าไม่มีอะไรผิดพลาด ก็คลิกเข้าสู่ขั้นตอนการติดตั้งได้เลย
5. เมื่อติดตั้งเสร็จ ระบบจะให้เราเข้าไป Login ได้ครับ โดยใช้ username ว่า admin โดย password ก็จะเป็น password ที่ระบบเพิ่งจะสร้างให้ เมื่อ login เข้าไปได้แล้ว ก็ให้รีบเปลี่ยน password นะครับ

Unknown

Phasellus facilisis convallis metus, ut imperdiet augue auctor nec. Duis at velit id augue lobortis porta. Sed varius, enim accumsan aliquam tincidunt, tortor urna vulputate quam, eget finibus urna est in augue.