โลโก้ Drupal
อันดับ 68 ใน Top 100 CMS และเว็บไซต์GPLv2 (โอเพนซอร์ส)

Drupal คืออะไร และวิธีติดตั้งบน Cloud Server

Drupal คือ CMS โอเพนซอร์สที่ออกแบบมาสำหรับเว็บไซต์ขนาดใหญ่ที่มีโครงสร้างเนื้อหาซับซ้อนและมีผู้ใช้หลายระดับสิทธิ์ เป็นตัวเลือกยอดนิยมของหน่วยงานภาครัฐและมหาวิทยาลัยทั่วโลก

ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
GPLv2 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Drupal คืออะไร

Drupal เป็น CMS ที่เขียนด้วย PHP เช่นเดียวกับ WordPress แต่วางโครงสร้างต่างกันตั้งแต่ราก แนวคิดของ Drupal คือทุกอย่างเป็น Entity ที่กำหนดฟิลด์เองได้ ทำให้สร้างชนิดเนื้อหาที่ซับซ้อน เช่น ฐานข้อมูลโครงการ ทะเบียนบุคลากร หรือระบบเอกสารราชการ ได้โดยไม่ต้องพึ่งปลั๊กอินภายนอก

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

แลกกับความยืดหยุ่นคือความชันของการเรียนรู้ที่สูงกว่า และต้องใช้ Composer จัดการโมดูล ทีมที่ดูแล Drupal จึงควรมีนักพัฒนา PHP อยู่ด้วย ต่างจาก WordPress ที่ทีมคอนเทนต์ดูแลเองได้เกือบทั้งหมด

แผนผังการวางระบบ Drupal บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 80, 443, 22 ตัว Drupal และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Drupal ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Drupal

โครงสร้างเนื้อหาแบบกำหนดเอง

สร้าง Content Type และฟิลด์ได้อิสระ เหมาะกับข้อมูลที่มีความสัมพันธ์ซับซ้อน

ระบบสิทธิ์ละเอียดระดับฟิลด์

กำหนด Role และสิทธิ์ได้ลึก พร้อม Workflow อนุมัติก่อนเผยแพร่

Views ในแกนหลัก

สร้างหน้ารายการและตัวกรองข้อมูลได้จากหลังบ้านโดยไม่ต้องเขียนคิวรี

รองรับหลายภาษาในแกนหลัก

แปลได้ทั้งเนื้อหา เมนู และส่วนติดต่อผู้ใช้ เหมาะกับเว็บสองภาษาของหน่วยงาน

ความปลอดภัยระดับองค์กร

มีทีม Security ของโครงการออกประกาศช่องโหว่และแพตช์อย่างเป็นระบบ

ใช้เป็น Headless CMS ได้

เปิด JSON:API เพื่อส่งเนื้อหาให้เว็บหรือแอปที่พัฒนาแยกต่างหาก

ใช้ Drupal ทำอะไรได้บ้าง

  • เว็บไซต์หน่วยงานราชการที่มีเนื้อหาหลายประเภทและหลายผู้ดูแล
  • เว็บมหาวิทยาลัยและคณะที่ต้องรวมหลายไซต์ไว้ในระบบเดียว
  • เว็บองค์กรขนาดใหญ่ที่ต้องมีขั้นตอนอนุมัติก่อนเผยแพร่
  • พอร์ทัลข้อมูลเปิดที่ต้องเปิด API ให้ระบบอื่นดึงไปใช้

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Drupal 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 200 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นเว็บหน่วยงานขนาดเล็กถึงกลาง2 vCPU4 GBNVMe 40 GB
แนะนำเว็บที่มีโมดูลมากและผู้ดูแลหลายสิบคน4 vCPU8 GBNVMe 100 GB
องค์กรใหญ่หลายไซต์ในระบบเดียว หรือมีทราฟฟิกสูงต่อเนื่อง8 vCPU ขึ้นไป16 GB ขึ้นไปNVMe 200 GB ขึ้นไป

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Drupal บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
  • PHP 8.3 พร้อมส่วนขยาย gd, xml, mbstring, curl, zip และ opcache
  • MariaDB 10.6 ขึ้นไป, MySQL 8.0 ขึ้นไป หรือ PostgreSQL 16
  • Composer 2 สำหรับติดตั้งแกนหลักและโมดูล

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้งเว็บเซิร์ฟเวอร์ ฐานข้อมูล และ PHP

    sudo apt update
    sudo apt -y install nginx mariadb-server php8.3-fpm php8.3-mysql php8.3-gd \
      php8.3-xml php8.3-mbstring php8.3-curl php8.3-zip php8.3-opcache unzip curl
  2. 2

    ติดตั้ง Composer

    curl -sS https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer
  3. 3

    สร้างฐานข้อมูลสำหรับ Drupal

    sudo mysql -e "CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
    sudo mysql -e "CREATE USER 'drupal'@'localhost' IDENTIFIED BY 'ChangeThisStrongPassword';"
    sudo mysql -e "GRANT ALL ON drupal.* TO 'drupal'@'localhost'; FLUSH PRIVILEGES;"
  4. 4

    สร้างโปรเจกต์ Drupal ด้วย Composer

    cd /var/www
    sudo composer create-project drupal/recommended-project drupal
    sudo chown -R www-data:www-data /var/www/drupal
  5. 5

    ตั้งค่า Nginx ให้ชี้ไปที่โฟลเดอร์ web

    Document root ของ Drupal คือ /var/www/drupal/web ไม่ใช่โฟลเดอร์โปรเจกต์ชั้นนอก ตั้งผิดจุดนี้จะเปิดไฟล์ตั้งค่าให้คนภายนอกเห็นได้

    server {
      listen 80;
      server_name example.go.th;
      root /var/www/drupal/web;
      index index.php;
    
      location / { try_files $uri /index.php?$query_string; }
    
      location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
      }
    }
  6. 6

    ติดตั้งผ่านเบราว์เซอร์และออก SSL

    เปิดโดเมนแล้วทำตามตัวช่วยติดตั้ง จากนั้นออกใบรับรองด้วย certbot และตั้ง Cron ของ Drupal ให้รันทุกชั่วโมง

    sudo apt -y install certbot python3-certbot-nginx
    sudo certbot --nginx -d example.go.th

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
80TCPHTTP และการต่ออายุใบรับรอง
443TCPHTTPS
22TCPSSH สำหรับผู้ดูแลระบบ

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ตั้ง Document root ที่โฟลเดอร์ web เท่านั้น เพื่อไม่ให้ไฟล์ตั้งค่าและ vendor ถูกเข้าถึงจากภายนอก
  • ติดตามประกาศความปลอดภัยของ Drupal และอัปเดตแกนหลักกับโมดูลทันทีที่มีแพตช์
  • จำกัดสิทธิ์เขียนไฟล์ของ settings.php หลังติดตั้งเสร็จ
  • เปิด Two-factor Authentication ให้บัญชีผู้ดูแล และปิดบัญชี user/1 ไม่ให้ใช้งานประจำวัน
  • ตั้ง Backup ฐานข้อมูลและโฟลเดอร์ sites/default/files อัตโนมัติ

ทำไมควรรัน Drupal บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

หน่วยงานรัฐและมหาวิทยาลัยที่ใช้ Drupal ส่วนใหญ่ต้องเก็บข้อมูลในประเทศ ซึ่ง Data Center ในไทยตอบโจทย์โดยตรง

Drupal กิน RAM มากกว่า CMS ทั่วไปเมื่อเปิดหลายโมดูล การเพิ่ม RAM บนคลาวด์ทำได้ทันทีโดยไม่ต้องเปลี่ยนเครื่อง

รองรับการแยกเซิร์ฟเวอร์ฐานข้อมูลออกจากเว็บเมื่อระบบโตขึ้น โดยเชื่อมกันผ่าน Private Network ที่ไม่คิดค่าทราฟฟิกภายใน

ทีมวิศวกรไทยช่วยดูแลแพตช์ความปลอดภัยตามรอบให้ได้ ผ่านบริการ Managed Services

คำถามที่พบบ่อยเกี่ยวกับ Drupal

Drupal ต่างจาก WordPress อย่างไร ควรเลือกตัวไหน

WordPress เหมาะกับเว็บที่เน้นเนื้อหาและอยากให้ทีมการตลาดดูแลเองได้ ส่วน Drupal เหมาะกับเว็บที่มีโครงสร้างข้อมูลซับซ้อนและต้องการระบบสิทธิ์กับ Workflow อนุมัติที่ละเอียด ถ้าองค์กรมีนักพัฒนา PHP อยู่แล้วและต้องการควบคุมโครงสร้างข้อมูลเอง Drupal จะคุ้มกว่าในระยะยาว

Drupal เหมาะกับเว็บหน่วยงานราชการไทยไหม

เหมาะมาก เพราะรองรับสองภาษาในแกนหลัก มีระบบอนุมัติก่อนเผยแพร่ และมีประวัติการแพตช์ความปลอดภัยที่เป็นระบบ หลายหน่วยงานทั่วโลกใช้ Drupal เป็นมาตรฐานของเว็บภาครัฐ

ติดตั้ง Drupal โดยไม่ใช้ Composer ได้ไหม

ทำได้แต่ไม่แนะนำ เพราะการอัปเดตแกนหลักและโมดูลรวมถึงการแก้ปัญหาไลบรารีที่ขัดกันจะยุ่งยากมาก แนวทางที่โครงการแนะนำคือใช้ Composer ตั้งแต่ต้น

Drupal ใช้ PostgreSQL แทน MySQL ได้ไหม

ได้ Drupal รองรับ PostgreSQL อย่างเป็นทางการ และเป็นตัวเลือกที่ดีถ้าองค์กรมีมาตรฐานใช้ PostgreSQL อยู่แล้ว

ให้เราติดตั้ง Drupal ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด