😎 What is Drupal?
อธิบายนิดนึงเผื่อใครไม่รู้จัก Drupal มาก่อน Drupal ก็เป็น CMS ตัวนึง ที่อาจจะไม่ค่อยนิยมมากนักถ้าเทียบกับ Wordpress แต่ข้อดีคือขึ้นชื่อเรื่องการ Customize ที่สูงกว่า Wordpress มาก และมีคนพัฒนา Plugin มากกว่า Wordpress ด้วย แต่ข้อเสียก็คือ มันจะมีคนพัฒนา Plugin มาก แต่มีคนใช้น้อยกว่า Wordpress ทำให้มี Plugin ที่เป็น Malware มากกว่า Wordpress ด้วย
ผมขอข้ามการติดตั้ง Docker ไปเลยนะครับ เพราะคิดว่าน่าจะหาวิธีการติดตั้งกันได้ไม่ยาก เราไปลุย Drupal กันเลยดีกว่า
🛜 Create Network
เริ่มจากสร้าง network กันก่อน โดยใช้คำสั่ง docker network create
ดังนี้
🏃 RUN
Drupal
ต่อมาเราก็จะมาสร้าง Container สำหรับ Drupal กัน โดยวิธีการติดตั้งแบบแรก จะใช้ docker run
แล้วกำหนดค่าต่างๆ ตามนี้
อธิบายแต่ละค่ากันหน่อย
--name drupal-10
คือ ชื่อของ container-p 8080:80
คือ กำหนด port ให้ container โดย 8080 คือ port ของเครื่อง Host ก็คือเครื่องเราเอง และ 80 คือ port ของ container-d
คือ ให้ container ทำงานแบบ detached mode หรือทำงานแบบ background--network drupal
คือ ให้ container อยู่ใน network ที่ชื่อว่า drupaldrupal:latest
คือ ให้ใช้ image ที่ชื่อว่า drupal และเวอร์ชั่น latest
Database
สำหรับ Database ก็จะใช้ MariaDB เวอร์ชั่น 11.0 นะครับ โดยใช้คำสั่ง docker run
ดังนี้
อธิบายแต่ละค่ากันหน่อย
-d
คือ ให้ container ทำงานแบบ detached mode หรือทำงานแบบ background--name drupal-db
คือ ชื่อของ container--network drupal
คือ ให้ container อยู่ใน network ที่ชื่อว่า drupal-e MYSQL_DATABASE=drupal
คือ กำหนดชื่อ environment variable ที่ชื่อว่า MYSQL_DATABASE ให้มีค่าเป็น drupal-e MYSQL_USER=user
คือ กำหนดชื่อ environment variable ที่ชื่อว่า MYSQL_USER ให้มีค่าเป็น user-e MYSQL_PASSWORD=password
คือ กำหนดชื่อ environment variable ที่ชื่อว่า MYSQL_PASSWORD ให้มีค่าเป็น password-e MYSQL_ROOT_PASSWORD=password
คือ กำหนดชื่อ environment variable ที่ชื่อว่า MYSQL_ROOT_PASSWORD ให้มีค่าเป็น passwordmariadb:11.0
คือ ให้ใช้ image ที่ชื่อว่า mariadb และเวอร์ชั่น 11.0
User และ Password สามารถกำหนดได้ตามใจชอบเลย แต่ต้องจำไว้ว่าต้องตรงกับที่เรากำหนดในขั้นตอนการติดตั้ง Drupal ด้วย
📄 Docker Compose
หรือถ้าใครอยากเขียนเป็นแบบ docker compose ก็สามารถเขียนได้ดังนี้
จากนั้นก็รันคำสั่ง docker-compose up -d
ได้เลย
จากนั้นเราก็ docker ps
ดู ก็จะเห็น container ที่เราสร้างขึ้นมา 2 ตัว คือ drupal-10
และ drupal-db
นั่นเอง ซึ่งก็พร้อมสำหรับการติดตั้ง Drupal ละ ขั้นตอนต่อไปเราก็จะมาเริ่มติดตั้ง Drupal กัน
😎 Setup Drupal
ขั้นแรกเราก็เปิด Browser ขึ้นมาแล้วไปที่ localhost:8080 ก็จะเจอหน้าต้อนรับของ Drupal แบบนี้ จากนั้นก็เลือกภาษาที่เราต้องการจะใช้ในการติดตั้ง
ต่อมาก็ทำการตั้งค่า Database ตามนี้
- Database type: MySQL, MariaDB, Percona Server, or equivalent
- Database name: drupal
- Database username: user
- Database password: password
ในส่วนของ Advanced options
- Host: drupal-db
- Port: 3306
จากนั้นก็กด Save and continue ไปได้เลย
ถ้าไม่มีอะไรผิดพลาดก็จะขึ้นหน้าจอกำลังติดตั้ง Drupal แบบนี้
ขั้นตอนต่อไปก็จะเป็นการตั้งค่าเว็บไซต์ละ โดยในส่วนของ Site Information จะมีข้อมูลดังนี้
- Site name: คือชื่อเว็บไซต์ ใส่ไปตามใจชอบเลย
- Site email address: คืออีเมลสำหรับใช้งานของเว็บไซต์
ต่อมาก็จะเป็น Site Maintenance Account ซึ่งเป็นข้อมูลสำหรับเข้าใช้งานเว็บไซต์ โดยมีข้อมูลดังนี้
- Username: ชื่อผู้ใช้งาน
- Password: รหัสผ่าน
- Confirm password: ยืนยันรหัสผ่าน
- Email address: อีเมลสำหรับใช้งานของผู้ใช้งาน
ต่อมาก็เป็น Regional Settings ซึ่งเป็นการตั้งค่าภาษา และเขตเวลาของเว็บไซต์ โดยมีข้อมูลดังนี้
- Default country: ประเทศ แน่นอนก็เป็นประเทศไทย 🇹🇭
- Default time zone: เขตเวลา ก็เป็น Asia/Bangkok
ส่วน Notification settings ผมจะติ๊กถูกออกทั้งหมดเลย จากนั้นก็กด Save and continue ไปได้เลย
เราก็จะเจอหน้าจอแบบนี้ แสดงว่าเราติดตั้ง Drupal เสร็จสิ้นแล้ว
ถ้าลองเข้ามาดูในส่วนของ General System Information ก็จะเจอรายละเอียดต่างๆ ของเว็บไซต์ที่เราติดตั้งไว้
เพียงเท่านี้เราก็สามารถใช้งาน Drupal ได้แล้ว ที่นี้ถ้าอยากไปปรับแต่งอย่างไรก็สามารถทำได้ตามใจชอบเลย