พื้นฐาน Joomla

Language Manager
การจัดการภาษา ฟังดูแปลก ๆ เนอะ แต่ก็เป็นสิ่งเล็ก ๆ ที่เกือบจะมองข้ามไป เพราะ Joomla เองรองรับกา...

เทคนิค Joomla

การสร้าง Virtual Host ใน Apache
จากบทความที่ได้ติดตั้งและใช้งานโปรแกรม AppServ ไป ซึ่งภายในโปรแกรมนั้นก็มีโปรแกรมจำลอง Web Serv...

แนะนำ Extension

เปลี่ยนรหัสผ่าน สมาชิก ด้วย Reset Password
การ Reset Password นั้น ปกติแล้ว การเปลี่ยนรหัสผ่านก็สามารถทำได้อยู่แล้วโดยผ่านคอมโพเน้นท์ของ ...
( 16 Votes )
อัพโหลด Joomla เนื่องจากว่า ผมเห็นการสอบถามข้อมูลนี้ค่อนข้างเยอะมาก ว่าจะอัพโหลด Joomla จากเครื่องตนเองไปยัง Server ได้อย่างไร , จะย้ายเว็บจากเครื่อง ขึ้นโฮส ขึ้น Server ยังไง, คอนเซปคร่าว ๆ ก็มีเพียงแค่ คุณนำไฟล์ Joomla ทั้งหมดจากเครื่องตัวเองที่ได้ทำไว้ ไม่ว่าจะเป็นไดเร็คทอรี่ใด ๆ ก็ตามที่มีการติดตั้ง Extension ไปแล้วก็ด้วย อัพโหลดขึ้นไปยัง Root Directory ให้หมด หากไฟล์มีขนาดใหญ่ คุณสามารถอ่านบทความ Upload Joomla เพื่อช่วยในการอัพโหลดให้รวดเร็วขึ้นได้ แล้วก็เปลี่ยนค่าของ Configuration นิดหน่อย ขั้นตอนทั้งหมดนี่ ไม่ยากอย่างที่คิดเลย

อัพโหลด  Joomla

กรณีดังภาพด้านบน ผมได้ติดตั้ง Web Server ด้วยโปรแกรม AppServ ในเครื่องตัวเอง แต่มี Path ไปยัง Drive D:\ , ให้ทำการนำไฟล์ที่เราทำไว้ทั้งหมดนี่แหล่ะ อัพโหลดขึ้นไปให้หมดเลย (หากคุณไม่รู้ว่าจะอัพโหลดยังไง ให้คุณดูวิธีการใช้ FileZilla ครับ) โดยวิธีง่าย ๆ ดังต่อไปนี้

เปิดโปรแกรม FileZilla แล้วทำการเชื่อมต่อไปยัง FTP Server ของเราเอง เมื่อเชื่อมต่อได้แล้ว จะมองเห็นไดเร็คทอรี่เป็น 2 ฝั่ง คือซ้าย กับขวา , ทางซ้ายนั้น คือไฟล์ต่าง ๆ ที่อยู่บนเครื่องคอมพิวเตอร์ของเราเอง ให้ทำการเลือกไปยังไดเร็คทอรี่ที่เก็บไฟล์ Joomla ไว้ ส่วนทางขวา คือข้อมูลและไฟล์ต่าง ๆ ที่อยู่บน Server

ซึ่งวิธีการอัพโหลด ก็เพียงแค่จับลากไฟล์ทั้งหมด จากฝั่งซ้าย มาปล่อยไว้ในฝั่งขวา เท่านั้นเอง ซึ่งการกระทำนี้เราเรียกว่าการอัพโหลด ( Upload )

ย้ายเว็บ จากเครื่อง ขึ้นโฮส

เมื่ออัพโหลดไฟล์เสร็จแล้ว ก็จะได้ลักษณะนี้ ไฟล์ทั้งหมดจะไปปรากฏอยู่ในฝั่ง Server

ย้ายเว็บ จากเครื่อง ขึ้นโฮส

สิ่งที่ต้องจำไว้ก็คือ คุณจะต้องทราบไดเร็คทอรี่หลักของพื้นที่คุณเอง ซึ่งเรียกว่า Document Root โดยคุณจะต้องนำไฟล์เว็บไซต์ไปใส่ไว้ในไดเร็คทอรี่นั้น เว็บไซต์คุณจึงจะสามารถทำงานได้ และถ้าหากอัพโหลดไว้ผิดที่ เว็บไซต์คุณก็จะไม่ทำงาน ซึ่งข้อมูลตรงนี้ คุณสามารถสอบถามจากผู้ให้บริการได้ หรือ คุณสามารถตรวจสอบได้ด้วยตัวเองจากการใช้เมนู Help > System Info > PHP Information และมองหาบรรทัดที่เขียนว่า DOCUMENT_ROOT หรือ ใช้วิธีการอัพโหลดไฟล์ info.php ก็ได้ ซึ่งจะได้กล่าวในขั้นตอนต่อไป

ต่อมา คุณจะต้องทำการสำรองฐานข้อมูล MySQL เสียก่อน ซึ่งเมื่อคุณได้ติดตั้ง Web Server ไว้ในเครื่องตัวเอง และทำการสร้างเว็บไซต์ด้วยโปรแกรม AppServ ไปแล้ว ข้อมูลทั้งหมดก็จะถูกบันทึกลงสิ่งที่เรียกว่า "ฐานข้อมูล" โดยใช้ฐานข้อมูลของ MySQL ซึ่งการนำไฟล์ Joomla ทั้งหมดอัพโหลดขึ้นไปไว้บน Server นั้น ยังไม่สามารถทำได้เว็บไซต์ทำงานได้ เพราะขาดฐานข้อมูล ดังนั้นเราจะต้องนำฐานข้อมูลที่ถูกบันทึกลงเครื่องเราเองมาเก็บไว้ก่อน เพื่อนำไปกู้คืนบนเครื่อง Server จริงอีกครั้ง

การเข้าถึงฐานข้อมูล MySQL นั้นค่อนข้างเป็นเรื่องยุ่งยาก เพราะต้องใช้คำสั่งในการสื่อสารกับฐานข้อมูล แต่ก็มีเครื่องมือประเภทหนึ่งที่ช่วยให้เราสามารถใช้งานฐานข้อมูลได้ง่ายขึ้น พัฒนามาเป็น Web Application ยี่ห้อว่า phpMyAdmin ซึ่งในตัวโปรแกรม AppServ นั้นก็มีมาให้พร้อมอยู่แล้วครับ

ล็อคอินเข้าระบบ

อัพโหลด  Joomla

จะพบกับตารางของฐานข้อมูลเยอะแยะไปหมดเลย

อัพโหลด  Joomla

ทำการ Export ถ้าภาษาไทย ก็จะเขียนว่า “ส่งออก” และทำตามเพียง 5 ขั้นตอนสั้น ๆ

อัพโหลด  Joomla

Browser จะถามเพื่อให้คุณบันทึกไฟล์ นามสกุล .sql ไว้ที่ใดในเครื่อง ซึ่งไฟล์ที่คุณได้นี้ เราจะนำไป Import บน Server อีกที พูดง่าย ๆ คือเป็นการนำฐานข้อมูลของเรา ที่ได้ติดตั้งไว้ในเครื่องตนเอง ไปใส่ไว้บน Server จริงที่คุณจะใช้งาน ขั้นตอนดังนี้

ย้ายเว็บ จากเครื่อง ขึ้นโฮส

แล้วก็เลือกไฟล์ .sql ที่ได้บันทึกไว้ในเครื่อง จากนั้นก็กดปุ่ม "ลงมือ" หรือปุ่ม "Go" ทางด้านล่าง ก็เป็นการ Import ฐานข้อมูลมายัง Server ได้แล้ว ซึ่งต้องเห็นข้อความประมาณว่า "Import has been successfully finished" อะไรแบบนี้ นั่นแสดงว่าการ Import สำเร็จ

แต่สิ่งที่จะต้องมาดูภายหลังอีก ก็คือไฟล์ configuration.php ที่ได้อัพโหลดขึ้นไปพร้อมกับไฟล์เว็บไซต์ครับ โดยจะต้องแก้ไขบรรทัดที่สำคัญ ดังนี้

var $user = * Username ของฐานข้อมูลบน Server จริง
var $password = * Password ของฐานข้อมูลบน Server จริง
var $db = * ชื่อฐานข้อมูลบน Server จริง
var $log_path = [DOCUMENT_ROOT]/log
var $tmp_path = [DOCUMENT_ROOT]/tmp

และแน่นอน โฮสแต่ละที่จะมี Path ที่ไม่ค่อยจะเหมือนกัน ทั้ง Windows และ Linux ดังนั้น Log และ Tmp นั้น คุณจะได้ Path มาก็จากการที่ phpinfo ดูครับ โดยการสร้างไฟล์ info.php ขึ้นมา 1 ไฟล์ แล้วใส่คำสั่งง่าย ๆ นี้ไป

<?php
phpinfo();
?>

อัพโหลดไฟล์ info.php นี้ขึ้นไปบน Server แล้วคุณก็เรียกใช้งานไฟล์นี้ ไฟล์นี้จะทำหน้าที่แสดงผลของตัวแปรภาษา PHP ออกมา ว่ามีค่าอะไรบ้าง ซึ่งจะมีค่าต่าง ๆ มากมายไปหมด ให้หาบรรทัดที่เขียนว่า DOCUMENT_ROOT ครับ จะเป็นค่าของ Path จริงที่ไฟล์เว็บของเราถูกเก็บไว้ หรือ คุณจะหาจากเมนู Help > System Info > PHP Information ที่ได้กล่าวไปข้างต้นแล้วก็ได้

นำมาใส่ในส่วนของ
    

var $log_path = [DOCUMENT_ROOT]/log

นำหน้า /log ไป , และ
    

var $tmp_path = [DOCUMENT_ROOT]/tmp

นำหน้า /tmp เช่นเดียวกัน

จะทำให้ได้ Path ที่ถูกต้อง ซึ่งการที่คุณทำ Web Server ไว้บนเครื่องตนเองนั้น ค่า DOCUMENT_ROOT จะแตกต่างกับของ Server จริงอยู่แล้ว ซึ่ง Path ของเครื่องคุณเอง อาจจะเป็น C:\Appserv หรือ C:\interpub\wwwroot เป็นต้น ดังนั้น หากใช้งานบน Server จริง ก็ต้องเปลี่ยนให้ตรงกับ Path ของเครื่องนั้น ๆ เพราะเมื่อคุณทำการตรวจสอบ Permission แล้ว หาก Path คุณไม่ตรง ก็จะทำให้ไม่สามารถติดตั้ง Extension และเก็บ Log บางอย่างได้ครับ ซึ่ง Path ที่คุณเปลี่ยนนั้น จะไปปรากฏอยู่ในเมนู Global Configuration ของด้าน Backend และแสดงความถูกต้องที่ Directory Permissions ครับ

Directory Permission

สรุปขั้นตอนการย้ายเว็บไซต์ จากเครื่องตนเอง ไปยัง Server จริง

  1. นำไฟล์ Joomla ทั้งหมด อัพโหลดขึ้นไปบน Server จริง ผ่านโปรแกรม FTP เช่น FileZilla
  2. Export ฐานข้อมูล MySQL จากเครื่องตนเองผ่าน phpMyAdmin มาเก็บไว้
  3. Import ฐานข้อมูล MySQL ที่เก็บไว้ ขึ้นไปบน Server โดยผ่าน phpMyAdmin อีกเช่นกัน
  4. แก้ไขไฟล์ Configuration ให้มีข้อมูลที่ถูกต้อง เช่น Username, Password ของฐานข้อมูล และ DOCUMENT_ROOT ที่ถูกต้อง

ซึ่งขั้นตอนสั้น ๆ เหล่านี้ ไม่เพียงแค่ใช้สำหรับย้ายข้อมูลเว็บไซต์ Joomla ไปบน Server จริงเท่านั้น ยังสามารถใช้ย้ายเว็บไซต์ Joomla จากที่ใด ไปที่ใดก็ได้ครับ ไม่จำกัดเลย เพราะขั้นตอนพวกนี้ผมก็เอาไว้ใช้ย้ายข้อมูล Joomla ให้กับลูกค้าอยู่บ่อย ๆ และรับประกันว่า ลดการ Error ที่ไม่คาดคิดได้ดีที่สุดเลย

ย้ายเว็บ จากเครื่อง ขึ้นโฮส Server

เนื้อหาที่เกี่ยวข้อง