จำได้ว่าเคยเขียนเรื่องนี้ไว้เมื่อนานมาแล้ว มีคนถามเรื่องนี้อีกครั้งก็เลยมาเขียน How-To ไว้สักหน่อย ปัญหาเดิมจากครั้งที่แล้ว เราต้องการเว็บไซต์หลายๆ เว็บโดยใช้ Drupal ตัวเดียว ซึ่ง Drupal เองก็รองรับการทำ Multi Site อยู่แล้ว ยกตัวอย่าง ต้องการสร้างเว็บโดยใช้ Drupal Multi Site

  • www.fffee.org
  • site1.fffee.org
  • site2.fffee.org

วิธีการง่ายๆ ให้คุณตั้งค่า domain www.fffee.org, site1.fffee.org และ site2.fffee.org ชี้ไปยังเครื่องเดียวกัน เพราะเราจะใช้ค่า ServerAlias สำหรับ virtualhost เข้าช่วย มาติดตั้งสิ่งที่จำเป็นแบบเร็วๆ กันก่อน


apt-get install phpmyadmin mysql-server

จากนั้นเข้าไปแก้ไข /etc/apache2/sites-available/000-default.conf เพิ่ม ServerAlias เข้าไปดังนี้

ServerAlias www.fffee.org site1.fffee.org site2.fffee.org

นั่นหมายความว่า default virtualhost จะเข้าได้จาก www.fffee.org, site1.fffee.org และ site2.fffee.org จากนั้นดาวน์โหลด Drupal แล้วแตกไฟล์ไปยัง /var/www/html ดังนี้่

rm -rf /var/www/html/index.html

cd /tmp

wget http://ftp.drupal.org/files/projects/drupal-7.38.tar.gz

tar zxvf drupal-7.38.tar.gz

rsync -av drupal-7.38/ /var/www/html

ถ้าใช้ PHP 5.5.9 จะมี opcache ติดมาด้วย แก้ไขไม่ให้ใช้ opcach เพราะเดี๋ยวจะติดตั้ง Drupal ไม่ได้

nano /etc/php5/apache2/php.ini

แก้ไขตรง [opcache] เอา comment ออกแบบนี้

[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=0

จากนั้นสั่ง restart apache 1 รอบ

service apache2 restart

สร้าง Database แยกออกมาเพื่อเก็บข้อมูลแต่ละ site แยกกันดังนี้

mysql -u root -p -e 'create database main'

mysql -u root -p -e 'create database site1'

mysql -u root -p -e 'create database site2'

จากนั้นสั่งติดตั้ง Drupal ที่ site หลักก่อนเปิด browser ไปที่ http://www.fffee.org/install.php ติดตั้งจนเสร็จ จากนั้น copy config ไปยัง site อื่นๆ ดังนี้

cd /var/www/html/sites

cp -rf default site1.fffee.org

cp -rf default site2.fffee.org

แก้ไขไฟล์ settings.php ในทุกๆ site ในส่วนติดต่อกับ Database และกำหนด $base_url ให้ถูกต้อง

จากนั้นเปิด browser ไปยัง http://site1.fffee.org/install.php และ http://site2.fffee.org/install.php เพื่อติดตั้งจนเสร็จ เท่านี้ก็จะได้ Drupal Multi Site แล้ว

Comments are closed.