การย้ายไซต์
อาจเป็นเทคนิคที่มีประโยชน์มากในการสร้างต้นแบบไซต์ XOOPS ใหม่บนระบบโลคัลหรือเซิร์ฟเวอร์การพัฒนา นอกจากนี้ ยังอาจใช้ความรอบคอบอย่างยิ่งในการทดสอบอัปเกรด XOOPS บนสำเนาของไซต์ที่ใช้งานจริงของคุณก่อน เผื่อในกรณีที่มีสิ่งผิดปกติเกิดขึ้น เพื่อให้บรรลุเป้าหมายเหล่านี้ คุณจะต้องสามารถย้ายไซต์ XOOPS ของคุณจากไซต์หนึ่งไปอีกไซต์หนึ่งได้ นี่คือสิ่งที่คุณจำเป็นต้องรู้เพื่อย้ายไซต์ XOOPS ของคุณให้ประสบความสำเร็จ
ขั้นตอนแรกคือการสร้างสภาพแวดล้อมไซต์ใหม่ของคุณ รายการเดียวกันที่กล่าวถึงในส่วน การเตรียมการล่วงหน้า ใช้ที่นี่เช่นกัน
ในการทบทวน ขั้นตอนเหล่านั้นคือ:
- รับโฮสติ้ง รวมถึงข้อกำหนดชื่อโดเมนหรืออีเมล
- รับบัญชีผู้ใช้และรหัสผ่าน MySQL
- รับฐานข้อมูล MySQL ที่ผู้ใช้ด้านบนมีสิทธิ์ทั้งหมด
กระบวนการที่เหลือค่อนข้างคล้ายกับการติดตั้งปกติ แต่:
- แทนที่จะคัดลอกไฟล์จากการแจกจ่าย XOOPS คุณจะคัดลอกไฟล์เหล่านั้นจากไซต์ที่มีอยู่
- แทนที่จะเรียกใช้โปรแกรมติดตั้ง คุณจะนำเข้าฐานข้อมูลที่มีประชากรอยู่แล้ว
- แทนที่จะป้อนคำตอบในตัวติดตั้ง คุณจะเปลี่ยนคำตอบก่อนหน้าในไฟล์และฐานข้อมูล
คัดลอกไฟล์ไซต์ที่มีอยู่
หัวข้อที่มีชื่อว่า “คัดลอกไฟล์ไซต์ที่มีอยู่”ทำสำเนาไฟล์ทั้งหมดของไซต์ที่มีอยู่ของคุณไปยังเครื่องท้องถิ่นของคุณซึ่งคุณสามารถแก้ไขได้ หากคุณทำงานกับโฮสต์ระยะไกล คุณสามารถใช้ FTP เพื่อคัดลอกไฟล์ได้ คุณต้องมีสำเนาเพื่อใช้งานแม้ว่าไซต์จะทำงานบนเครื่องของคุณ เพียงสร้างสำเนาไดเรกทอรีของไซต์อีกชุดในกรณีนั้น
สิ่งสำคัญคือต้องจำไว้ว่าต้องรวมไดเร็กทอรี xoops_data และ xoops_lib แม้ว่าจะถูกเปลี่ยนชื่อและ/หรือย้ายตำแหน่งก็ตาม
เพื่อให้สิ่งต่าง ๆ ราบรื่นยิ่งขึ้น คุณควรกำจัดแคชและไฟล์เทมเพลตที่คอมไพล์แล้ว Smarty ออกจากสำเนาของคุณ ไฟล์เหล่านี้จะถูกสร้างขึ้นใหม่ในสภาพแวดล้อมใหม่ของคุณ และอาจทำให้เกิดปัญหากับข้อมูลที่ไม่ถูกต้องเก่าที่ถูกเก็บรักษาไว้หากไม่ได้ล้าง ในการดำเนินการนี้ ให้ลบไฟล์ทั้งหมด ยกเว้น index.html ในทั้งสามไดเร็กทอรีเหล่านี้:
- xoops_data/caches/smarty_cache
- xoops_data/caches/smarty_compile
- xoops_data/caches/xoops_cache
หมายเหตุ: การล้าง
smarty_compileมีความสำคัญอย่างยิ่งเมื่อย้ายไซต์เข้าหรือออกจาก XOOPS 2.7.0 XOOPS 2.7.0 ใช้ Smarty 4 และเทมเพลตที่คอมไพล์ Smarty 4 ไม่สามารถใช้แทนกันได้กับเทมเพลตที่คอมไพล์ Smarty 3 การทิ้งไฟล์ที่คอมไพล์เก่าไว้จะทำให้เกิดข้อผิดพลาดของเทมเพลตเมื่อโหลดหน้าแรกบนไซต์ใหม่
xoops_lib และการพึ่งพาผู้แต่ง
หัวข้อที่มีชื่อว่า “xoops_lib และการพึ่งพาผู้แต่ง”XOOPS 2.7.0 จัดการการพึ่งพา PHP ผ่านนักแต่งเพลง ภายใน xoops_lib/ ไดเรกทอรี xoops_lib/vendor/¤ มีไลบรารีบุคคลที่สามที่ XOOPS ต้องการในขณะรันไทม์ (Smarty 4, PHPMailer, HTMLPurifier ฯลฯ) เมื่อย้ายไซต์ คุณต้องคัดลอกแผนผัง xoops_lib/ ทั้งหมด — รวมถึง vendor/ — ไปยังโฮสต์ใหม่ อย่าพยายามสร้าง vendor/ ใหม่บนโฮสต์เป้าหมาย เว้นแต่คุณจะเป็นนักพัฒนาที่ได้ปรับแต่ง composer.json และมี Composer พร้อมใช้งานบนเป้าหมาย
ตั้งค่าสภาพแวดล้อมใหม่
หัวข้อที่มีชื่อว่า “ตั้งค่าสภาพแวดล้อมใหม่”รายการเดียวกันที่กล่าวถึงในส่วน การเตรียมการล่วงหน้า ใช้ที่นี่เช่นกัน เราจะถือว่าคุณมีโฮสติ้งทุกอย่างที่คุณต้องการสำหรับไซต์ที่คุณกำลังย้าย
ข้อมูลสำคัญ (mainfile.php และ secure.php)
หัวข้อที่มีชื่อว่า “ข้อมูลสำคัญ (mainfile.php และ secure.php)”การย้ายไซต์ให้ประสบความสำเร็จนั้นเกี่ยวข้องกับการเปลี่ยนการอ้างอิงไปยังชื่อไฟล์และพาธ, URL, พารามิเตอร์ฐานข้อมูล และข้อมูลรับรองการเข้าถึง
สองไฟล์ mainfile.php ในเว็บรูทของไซต์ของคุณ และ data/secure.php¤ ในไดเรกทอรี xoops_data ของไซต์ของคุณ (เปลี่ยนชื่อและ/หรือย้ายตำแหน่ง) จะเป็นตัวกำหนดพารามิเตอร์พื้นฐานของไซต์ของคุณ เช่น URL ซึ่งอยู่ในระบบไฟล์โฮสต์ และวิธีเชื่อมต่อกับฐานข้อมูล
คุณจะต้องรู้ว่าค่าใดอยู่ในระบบเก่า และค่าใดบ้างในระบบใหม่
mainfile.php
หัวข้อที่มีชื่อว่า “mainfile.php”| ชื่อ | ค่าเดิมใน mainfile.php | ค่าใหม่ใน mainfile.php |
|---|---|---|
| XOOPS_ROOT_PATH | ||
| XOOPS_PATH | ||
| XOOPS_VAR_PATH | ||
| XOOPS_URL | ||
| XOOPS_COOKIE_DOMAIN |
จดบันทึกค่าเก่าและค่าใหม่ เนื่องจากเราจะต้องทำการเปลี่ยนแปลงที่คล้ายกันในที่อื่นๆ ในขั้นตอนถัดไป
ตามตัวอย่าง หากคุณกำลังย้ายไซต์จาก PC ในพื้นที่ของคุณไปยังบริการโฮสติ้งเชิงพาณิชย์ ค่าของคุณอาจมีลักษณะดังนี้:
| ชื่อ | ค่าเดิมใน mainfile.php | ค่าใหม่ใน mainfile.php |
|---|---|---|
| XOOPS_ROOT_PATH | c:/wamp/xoopscore27/htdocs | /home8/example/public_html |
| XOOPS_PATH | c:/wamp/xoopscore27/htdocs/xoops_lib | /home8/example/private/xoops_lib |
| XOOPS_VAR_PATH | c:/wamp/xoopscore27/htdocs/xoops_data | /home8/example/private/xoops_data |
| XOOPS_URL | http://localhost/xoops | https://example.com |
| XOOPS_COOKIE_DOMAIN | โลคอลโฮสต์ | example.com |
หลังจากที่คุณเปลี่ยน mainfile.php แล้ว ให้บันทึก
เป็นไปได้ว่าไฟล์อื่นๆ บางไฟล์อาจมีการอ้างอิงแบบฮาร์ดโค้ดไปยัง URL ของคุณ หรือแม้แต่เส้นทาง สิ่งนี้มีแนวโน้มมากกว่าในธีมและเมนูที่กำหนดเอง แต่ด้วยโปรแกรมแก้ไขของคุณ คุณสามารถค้นหาไฟล์ทั้งหมดได้เพื่อความแน่ใจ
ในโปรแกรมแก้ไข ให้ค้นหาไฟล์ในสำเนาของคุณ ค้นหาค่า XOOPS_URL เก่า และแทนที่ด้วยค่าใหม่
ทำเช่นเดียวกันกับค่า XOOPS_ROOT_PATH เก่า โดยแทนที่ค่าที่เกิดขึ้นทั้งหมดด้วยค่าใหม่
เก็บบันทึกย่อของคุณไว้เพราะเราจะต้องใช้อีกครั้งในภายหลังในขณะที่เราย้ายฐานข้อมูล
data/secure.php
หัวข้อที่มีชื่อว่า “data/secure.php”| ชื่อ | ค่าเดิมใน data/secure.php | ค่าใหม่ใน data/secure.php |
|---|---|---|
| XOOPS_DB_HOST | ||
| XOOPS_DB_USER | ||
| XOOPS_DB_PASS | ||
| XOOPS_DB_NAME |
เปิด data/secure.php ในไดเร็กทอรี xoops_data ที่เปลี่ยนชื่อและ/หรือย้ายตำแหน่งในตัวแก้ไขของคุณ เปลี่ยนค่าสำหรับการกำหนดที่แสดงในแผนภูมิด้านบนจากค่าเก่าเป็นค่าที่เหมาะสมสำหรับไซต์ใหม่
ไฟล์อื่นๆ
หัวข้อที่มีชื่อว่า “ไฟล์อื่นๆ”อาจมีไฟล์อื่นๆ ที่อาจต้องดำเนินการเมื่อไซต์ของคุณย้าย ตัวอย่างทั่วไปบางส่วนคือคีย์ API สำหรับบริการต่างๆ ที่อาจเชื่อมโยงกับโดเมน เช่น:
- Google แผนที่
- Recaptch2
- ชอบปุ่ม
- การแชร์ลิงก์และ/หรือการโฆษณา เช่น Shareaholic หรือ AddThis
การเปลี่ยนการเชื่อมโยงประเภทเหล่านี้ไม่สามารถดำเนินการได้โดยอัตโนมัติได้อย่างง่ายดาย เนื่องจากการเชื่อมต่อกับโดเมนเก่าโดยทั่วไปจะเป็นส่วนหนึ่งของการลงทะเบียนทางฝั่งบริการ ในบางกรณี การดำเนินการนี้อาจเพิ่มหรือเปลี่ยนแปลงโดเมนที่เกี่ยวข้องกับบริการได้
คัดลอกไฟล์ไปยังไซต์ใหม่
หัวข้อที่มีชื่อว่า “คัดลอกไฟล์ไปยังไซต์ใหม่”คัดลอกไฟล์ที่แก้ไขแล้วของคุณไปยังไซต์ใหม่ของคุณ เทคนิคเหมือนกับที่ใช้ในระหว่าง การติดตั้ง นั่นคือ การใช้ FTP
คัดลอกฐานข้อมูลไซต์ที่มีอยู่
หัวข้อที่มีชื่อว่า “คัดลอกฐานข้อมูลไซต์ที่มีอยู่”สำรองฐานข้อมูลจากเซิร์ฟเวอร์เก่า
หัวข้อที่มีชื่อว่า “สำรองฐานข้อมูลจากเซิร์ฟเวอร์เก่า”สำหรับขั้นตอนนี้ ขอแนะนำให้ใช้ phpMyAdmin เข้าสู่ระบบ phpMyAdmin สำหรับไซต์ที่มีอยู่ของคุณ เลือกฐานข้อมูลของคุณ และเลือก Export
การตั้งค่าเริ่มต้นมักจะใช้ได้ ดังนั้นเพียงเลือก “วิธีการส่งออก” เป็น Quick และ “รูปแบบ” เป็น SQL
ใช้ปุ่ม Go เพื่อดาวน์โหลดข้อมูลสำรองฐานข้อมูล

หากคุณมีตารางในฐานข้อมูลของคุณที่ไม่ได้มาจาก XOOPS หรือโมดูล และควรจะย้าย NOT คุณควรเลือก “วิธีการส่งออก” ของ Custom และเลือกเฉพาะตารางที่เกี่ยวข้อง XOOPS ในฐานข้อมูลของคุณ (ซึ่งเริ่มต้นด้วย “คำนำหน้า” ที่คุณระบุระหว่างการติดตั้ง คุณสามารถค้นหาคำนำหน้าฐานข้อมูลของคุณได้ในไฟล์ xoops_data/data/secure.php)
กู้คืนฐานข้อมูลไปยังเซิร์ฟเวอร์ใหม่
หัวข้อที่มีชื่อว่า “กู้คืนฐานข้อมูลไปยังเซิร์ฟเวอร์ใหม่”บนโฮสต์ใหม่ของคุณ ให้ใช้ฐานข้อมูลใหม่ของคุณ กู้คืนฐานข้อมูลโดยใช้ tools เช่น แท็บ Import ใน phpMyAdmin (หรือ bigdump หากจำเป็น)
อัปเดต URL และเส้นทางในฐานข้อมูล
หัวข้อที่มีชื่อว่า “อัปเดต URL และเส้นทางในฐานข้อมูล”อัปเดตลิงก์ http ใด ๆ ไปยังทรัพยากรบนเว็บไซต์ของคุณในฐานข้อมูลของคุณ ซึ่งอาจต้องใช้ความพยายามอย่างมาก และมี เครื่องมือ ที่ทำให้การดำเนินการนี้ง่ายขึ้นการเชื่อมต่อถึงกัน/มีผลิตภัณฑ์ชื่อ Search-Replace-DB ซึ่งสามารถช่วยได้ในเรื่องนี้ มันมาพร้อมกับการรับรู้ถึงสภาพแวดล้อม Wordpress และ Drupal ในตัว อย่างที่เคยเป็น เครื่องมือนี้มีประโยชน์มาก แต่จะดียิ่งขึ้นไปอีกเมื่อทราบถึง XOOPS ของคุณ คุณสามารถค้นหาเวอร์ชันที่ทราบ XOOPS ได้ที่ https://github.com/geekwright/srdb
ทำตามคำแนะนำในไฟล์ README.md เพื่อดาวน์โหลดและติดตั้งยูทิลิตี้นี้บนไซต์ของคุณชั่วคราว ก่อนหน้านี้ เราได้เปลี่ยนการกำหนด XOOPS_URL เมื่อคุณเรียกใช้เครื่องมือนี้ คุณต้องการแทนที่คำจำกัดความ XOOPS_URL ดั้งเดิมด้วยคำจำกัดความใหม่ นั่นคือแทนที่ http://localhost/xoops ด้วย https://example.com

ป้อน URL เก่าและใหม่ของคุณ แล้วเลือกตัวเลือกการทดลองเรียกใช้ ตรวจสอบการเปลี่ยนแปลง และหากทุกอย่างดูดีแล้ว ให้เลือกตัวเลือกการถ่ายทอดสด ขั้นตอนนี้จะตรวจจับรายการการกำหนดค่าและลิงก์ภายในเนื้อหาของคุณที่อ้างอิงถึงไซต์ของคุณ URL

ทำซ้ำขั้นตอนนี้โดยใช้ค่าเก่าและค่าใหม่สำหรับ XOOPS_ROOT_PATH
แนวทางทางเลือกที่ไม่มี SRDB
หัวข้อที่มีชื่อว่า “แนวทางทางเลือกที่ไม่มี SRDB”อีกวิธีหนึ่งในการดำเนินการขั้นตอนนี้ให้สำเร็จโดยไม่ต้องใช้เครื่องมือ srdb ก็คือดัมพ์ฐานข้อมูลของคุณ แก้ไขดัมพ์ในตัวแก้ไขข้อความโดยเปลี่ยน URL และเส้นทาง จากนั้นจึงโหลดฐานข้อมูลซ้ำจากดัมพ์ที่คุณแก้ไข ใช่ กระบวนการดังกล่าวมีส่วนร่วมเพียงพอและมีความเสี่ยงเพียงพอที่ผู้คนจะถูกกระตุ้นให้สร้างเครื่องมือพิเศษ เช่น Search-Replace-DB
ลองใช้ไซต์ที่ถูกย้ายของคุณ
หัวข้อที่มีชื่อว่า “ลองใช้ไซต์ที่ถูกย้ายของคุณ”ณ จุดนี้ เว็บไซต์ของคุณควรจะพร้อมที่จะทำงานในสภาพแวดล้อมใหม่!
แน่นอนว่าอาจมีปัญหาเกิดขึ้นได้เสมอ อย่ากลัวที่จะโพสต์คำถามใดๆ ใน ฟอรัม xoops.org