ฉันควรใช้การตั้งค่าแบบหลายไซต์เมื่อใด


13

ฉันมีเว็บไซต์ Drupal 4 แห่งที่ไม่มีส่วนเกี่ยวข้องใด ๆ ยกเว้นว่าพวกเขาจะใช้ Drupal ทั้งหมดและพวกเขาจัดการทั้งหมดโดยฉัน

โมดูลที่แต่ละไซต์ต้องการจะแตกต่างกันไป แต่พวกเขาอาจแชร์บางส่วนของโมดูลย่อย

สถานการณ์นี้เป็นตัวเลือกที่ดีสำหรับการใช้การกำหนดค่าหลายไซต์หรือไม่

ถ้าฉันต้องการเพิ่มเว็บไซต์ที่ห้า ฉันจะอัปโหลดไฟล์ใหม่ได้อย่างไรหรือมันจะทำงานอย่างไร

คำตอบ:


11

การติดตั้งหลายเว็บไซต์นั้นยุ่งยากเล็กน้อยเนื่องจากการใช้รหัสฐานเดียวกัน คุณสามารถใช้การตั้งค่าหลายเว็บไซต์ในสถานการณ์นี้ แต่โปรดจำไว้ว่าเมื่อคุณอัพเกรดโมดูลในsites/all/modulesมันจะส่งผลกระทบต่อเว็บไซต์ทั้งหมด (ยกเว้นแทนที่sites/$SITENAME/modules)

สิ่งนี้นำไปสู่ปัญหาที่อาจเกิดขึ้นซึ่งหนึ่งในเว็บไซต์ของคุณอาศัยโมดูลรุ่น N แต่คุณต้องการใช้ N + 1 ในเว็บไซต์อื่น โมดูลที่มีปัญหาอาจไม่มีเส้นทางการอัปเกรดหรืออาจมีการเปลี่ยนแปลงการใช้งานอย่างมากระหว่างเวอร์ชัน (ไม่ใช่เรื่องแปลกอย่างที่คุณคิดโดยให้วัฒนธรรม Drupal เป็นเวอร์ชั่นหลัก)

update.phpนอกจากนี้หากมีการเปลี่ยนแปลงฐานข้อมูลสำคัญที่จำเป็นในระหว่างการอัพเกรดโมดูลคุณจะพบว่าคุณต้องการที่จะลงหลายเว็บไซต์ในเวลาเดียวกันเพื่อให้แน่ใจว่าคุณเรียก

ดังนั้นสำหรับกรณีการใช้งานส่วนใหญ่หลายไซต์ไม่ใช่วิธีที่จะไป นอกจากว่าคุณจะมีพื้นที่ จำกัด จริงๆหรือมีข้อ จำกัด โฮสติ้งแปลก ๆ ที่ป้องกันไม่ให้คุณแมปโดเมนของแต่ละไซต์ไปยังโฟลเดอร์อื่นคุณน่าจะรักษาฐานรหัสแยกไว้ได้ดีกว่าและใช้เครื่องมือเช่นDrushและการควบคุมเวอร์ชันเพื่อเร่งความเร็วโค้ด การใช้งาน

ต้นแบบการใช้งานกรณีสำหรับหลายไซต์นอกการใช้งานเป็นวิธีแก้ปัญหาสำหรับโฮสต์ที่ จำกัด คือเมื่อคุณปรับใช้ไซต์จำนวนมากที่มีลักษณะคล้ายกันมาก คุณอาจกำลังเรียกใช้บริการโฮสติ้งหรือสร้างเว็บไซต์ขนาดเล็กจำนวนมากสำหรับ บริษัท หรือสิ่งที่คุณมี ในกรณีดังกล่าวคุณสามารถม้วนการตั้งค่าหลายไซต์ของคุณเองได้ แต่คุณควรพิจารณาใช้Aegirซึ่งเป็นระบบอัตโนมัติและบทคัดย่อที่ยุ่งยากมากมายในการใช้งานการตั้งค่าดังกล่าว

การเพิ่มไซต์ใหม่ลงในการตั้งค่าหลายไซต์นั้นค่อนข้างตรงไปตรงมา: สร้างโฟลเดอร์ใหม่ใต้sitesแก้ไขsites/sites.php(Drupal 7 เท่านั้น) คัดลอกsites/default/default.settings.phpไปยังsettings.phpโฟลเดอร์ใหม่นั้นและไปที่ไซต์ในเบราว์เซอร์ Drupal ควรเริ่มกระบวนการติดตั้งและใช้โฟลเดอร์ใหม่ ไซต์ใหม่ของคุณจะสามารถเข้าถึงโมดูลทั้งหมดภายใต้sites/all/modulesเช่นเดียวกับไซต์ที่คุณออก


มันค่อนข้างเท่ห์ อันนี้จริง ๆ แล้วเกี่ยวข้องกับคำถามอื่นของฉันเกี่ยวกับ symlinks และโฟลเดอร์โมดูล ฉันเบื่อที่จะต้องทำซ้ำรูทีนเดิมทุกครั้งที่ฉันเริ่มเว็บไซต์ทดสอบใหม่ในสภาพแวดล้อมที่พัฒนาและฉันก็เบื่อหน่ายกับการคัดลอกโมดูล (โดยเฉพาะโมดูลที่กำหนดเอง) ไปยังหลายโครงการ ดังนั้นฉันคิดว่าฉันสามารถใช้วิธีการหลายเว็บไซต์อย่างน้อยในระหว่างการพัฒนา
Sameold

@sameold สิ่งที่ฉันใช้สำหรับการพัฒนา Drupal เป็นที่เก็บ git ที่มีโมดูลที่ต้องใช้ของฉันเป็น submodules ถ้าอย่างนั้นก็เป็นเรื่องของการทำงานgit clone git@my.repository.com:/base.git newsiteเพื่อให้ได้สภาพแวดล้อมที่สะอาด

4
อีกทางเลือกหนึ่งคือไฟล์สร้างไฟล์ drush สำหรับการตั้งค่าพื้นฐาน บันทึกย่ออีกอันหนึ่งการแก้ไข sites / sites.php เป็นทางเลือกและจำเป็นเฉพาะเมื่อการค้นหาเริ่มต้นเช่นเดียวกับใน D6 ไม่ทำงาน (เช่นหลายไซต์ที่มีหลายโดเมนสำหรับไซต์เดียว)
Berdir

2

ฉันจะใช้เว็บไซต์หลายแห่งที่คุณมีเนื้อหาที่เกี่ยวข้อง แต่สำหรับผู้ชมที่แตกต่าง

ตัวอย่างเช่นเราใช้สำหรับอินทราเน็ตของเราซึ่งรองรับหลายยี่ห้อ สิ่งนี้ช่วยให้แต่ละแบรนด์สามารถจัดการแต่ละรายการพร้อมตัวเลือกในการแบ่งปันเนื้อหา / ผู้ใช้ (ประหยัดเวลามากในการลดการทำซ้ำ)

การมีส่วนต่อประสานที่ไม่เหมือนใคร (เมนู / บล็อก / ธีม) ไปอีกนานเพื่อให้มั่นใจว่าแผนกต่างๆสามารถเข้าถึงสิ่งที่สำคัญที่สุดได้อย่างง่ายดาย

มีฟีเจอร์มากมายให้ใช้งานโดยใช้การเข้าถึงโดเมนเช่นการอนุญาตให้ผู้ใช้ตั้งค่าไซต์เริ่มต้นไซต์ต่าง ๆ ตามโดเมนย่อย (ดังนั้นคุณสามารถมี marketing.intranet.local หรือ engineering.intranet.local ฯลฯ ) ค้นหาระหว่างไซต์การควบคุมการเข้าถึง ฯลฯ .

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.