Cài đặt và cấu hình Drupal trong môi trường phát triển cục bộ ServBay
Tổng quan
Drupal là một hệ quản trị nội dung (CMS) mã nguồn mở mạnh mẽ, linh hoạt và có khả năng mở rộng cao, được sử dụng rộng rãi để xây dựng nhiều loại website khác nhau từ blog cá nhân, website doanh nghiệp nhỏ đến cổng thông tin doanh nghiệp lớn và ứng dụng web phức tạp. Drupal cung cấp bộ công cụ quản lý nội dung phong phú, kiểm soát quyền người dùng chi tiết cùng kiến trúc mô-đun mạnh mẽ, phù hợp với các nhà phát triển yêu cầu mức độ tuỳ biến và hiệu năng cao.
ServBay là công cụ phát triển web cục bộ được thiết kế riêng cho macOS, tích hợp các máy chủ web phổ biến (như Caddy, Nginx), nhiều runtime ngôn ngữ lập trình (PHP, Node.js, Python, Go, Java...), cơ sở dữ liệu (MySQL, PostgreSQL, MongoDB, Redis) và các công cụ lập trình viên như Composer, npm. Việc cài đặt và cấu hình Drupal trong môi trường ServBay sẽ mang lại nền tảng phát triển cục bộ ổn định, tiện lợi và giàu tính năng.
Bài viết này sẽ hướng dẫn chi tiết cách cài đặt và cấu hình Drupal trên ServBay, hỗ trợ bạn nhanh chóng xây dựng môi trường phát triển Drupal trên máy tính cá nhân.
Điều kiện tiên quyết
Trước khi bắt đầu cài đặt Drupal, hãy đảm bảo bạn đã đáp ứng các điều kiện sau:
- Đã cài đặt và chạy ServBay: Đảm bảo bạn đã cài đặt thành công ServBay trên macOS và phần mềm đang chạy ổn định.
- Nắm kiến thức cơ bản về ServBay: Biết cách quản lý gói phần mềm, thêm website và truy cập các công cụ tích hợp (ví dụ: phpMyAdmin) thông qua giao diện ServBay.
- PHP và MySQL/MariaDB đã được cài đặt: ServBay tích hợp sẵn nhiều phiên bản PHP và MySQL hoặc MariaDB. Đảm bảo bạn đã bật đúng phiên bản PHP dự định sử dụng và dịch vụ database đang hoạt động.
- Đã có Composer: Composer được tích hợp sẵn trong ServBay, đây là công cụ quản lý thư viện không thể thiếu cho các dự án PHP hiện đại. Bài viết này sẽ sử dụng Composer để tạo dự án Drupal.
Các bước cài đặt Drupal
Dưới đây là các bước chi tiết để cài đặt và cấu hình Drupal trong ServBay:
Bước 1: Tạo thư mục dự án
Trước tiên, bạn cần tạo một thư mục con riêng biệt cho dự án Drupal trong thư mục gốc website của ServBay tại /Applications/ServBay/www
.
Mở Terminal và chạy các lệnh sau:
bash
cd /Applications/ServBay/www
mkdir servbay-drupal-app
cd servbay-drupal-app
1
2
3
2
3
Lệnh trên sẽ tạo một thư mục mới tên là servbay-drupal-app
tại /Applications/ServBay/www
và chuyển vào thư mục này.
Bước 2: Tạo dự án Drupal bằng Composer
ServBay đã tích hợp Composer, bạn không cần cài đặt thêm gì. Drupal khuyến khích sử dụng Composer để khởi tạo dự án và quản lý thư viện.
Trong thư mục servbay-drupal-app
vừa tạo, chạy lệnh sau:
bash
composer create-project drupal/recommended-project .
1
Lệnh này sử dụng mẫu drupal/recommended-project
để tạo dự án Drupal mới ngay tại thư mục hiện tại (.
). Composer sẽ tự động tải về tập tin lõi Drupal và các thư viện phụ thuộc. Quá trình này có thể mất một chút thời gian tùy thuộc vào tốc độ Internet của bạn.
Mẫu drupal/recommended-project
sẽ đưa tất cả tệp tin có thể truy cập công khai (như index.php
, file CSS, JavaScript,...) vào thư mục con tên là web
. Cấu trúc này là tiêu chuẩn mới cho dự án Drupal, tăng cường bảo mật.
Bước 3: Tạo cơ sở dữ liệu và người dùng
Drupal cần một cơ sở dữ liệu để lưu trữ tất cả nội dung, cấu hình và dữ liệu người dùng. Chúng ta sẽ dùng công cụ phpMyAdmin của ServBay để tạo database và user.
Truy cập phpMyAdmin trong ServBay
Mở trình duyệt, truy cập bảng điều khiển mặc định của ServBay:
https://servbay.host/
. Trong dashboard, tìm và click vào liên kết “phpMyAdmin” (thường nằm trong phần “Công cụ” hoặc “Cơ sở dữ liệu”) để vào giao diện phpMyAdmin.servbay.host
là domain được ServBay cấu hình riêng cho phát triển cục bộ, trỏ đến giao diện quản trị nội bộ của ServBay.Tạo user và database
Để tăng tính bảo mật và quản lý quyền, bạn nên tạo một user riêng cho dự án Drupal.
- Truy cập mục tài khoản người dùng: Trong trang chính của phpMyAdmin, chọn tab “Tài khoản người dùng”.
- Thêm người dùng mới: Nhấn “Thêm tài khoản người dùng”.
- Điền thông tin:
- Tên người dùng: Đặt tên tài khoản, ví dụ:
drupal_user
. - Host: Chọn hoặc điền
localhost
. Điều này giúp giới hạn user chỉ có thể kết nối từ máy cục bộ, đảm bảo an toàn. - Mật khẩu: Nhập mật khẩu mạnh. Ví dụ
password123
chỉ dùng minh hoạ, bạn nên dùng trình tạo mật khẩu mạnh để tạo mật khẩu thực tế. - Nhập lại mật khẩu: Nhập lại mật khẩu để xác nhận.
- Tên người dùng: Đặt tên tài khoản, ví dụ:
- Thiết lập quyền database: Ở phần “Tạo database cho người dùng”, tích vào “Tạo database trùng tên với người dùng và cấp toàn bộ quyền”. Tuỳ chọn này cực kỳ tiện lợi – nó sẽ tự động tạo một database tên
drupal_user
và gán mọi quyền cho userdrupal_user
trên database đó. - Quyền toàn cục: Không nên tích vào “Cấp mọi quyền toàn cục” trừ khi bạn thật sự biết mình đang làm gì. Chỉ cần user có quyền đầy đủ trên database của mình là đủ.
- Thực thi: Kiểm tra thông tin đã điền, sau đó click “Thực thi” bên dưới để hoàn tất.
Lúc này, bạn đã có database
drupal_user
cùng userdrupal_user
, và user này có toàn quyền trên database vừa tạo.
Bước 4: Cấu hình máy chủ web (Thêm website trong ServBay)
Tiếp theo, bạn cần khai báo một website mới trong ServBay, trỏ một tên miền cục bộ về thư mục web
trong dự án Drupal của mình.
- Mở giao diện ServBay: Khởi động ứng dụng ServBay.
- Thêm website mới: Chọn tab “Website” ở thanh điều hướng bên trái.
- Nhấn nút Thêm: Trong danh sách website, nhấn nút “+” hoặc nút thêm tương tự để tạo mới cấu hình website.
- Điền thông tin:
- Tên: Đặt tên dễ nhận biết, ví dụ
My Drupal Site
. - Tên miền: Nhập domain mà bạn muốn dùng để truy cập Drupal trên máy, ví dụ
servbay-drupal.local
. ServBay hỗ trợ tên miền.local
mà không cần chỉnh sửa hosts file hệ thống. - Loại website: Chọn
PHP
. - Phiên bản PHP: Chọn phiên bản PHP mà bạn dự định dùng cho website từ dropdown. Lưu ý tùy từng phiên bản Drupal sẽ yêu cầu phiên bản PHP khác nhau, hãy đối chiếu với tài liệu chính thức của Drupal trước khi chọn.
- Thư mục gốc website: Đây là mục rất quan trọng. Hãy trỏ đến thư mục con của dự án chứa file đầu vào Drupal (
index.php
). Theo cấu trúc từ Step 2, thư mục này làweb
. Nghĩa là, thư mục gốc nên là/Applications/ServBay/www/servbay-drupal-app/web
.
- Tên: Đặt tên dễ nhận biết, ví dụ
- Lưu cấu hình: Khi điền xong thông tin, click “Lưu” hoặc nút tương ứng để lưu cấu hình. ServBay sẽ tự động cập nhật cấu hình của Web server và áp dụng thay đổi.
Bước 5: Chạy trình cài đặt Drupal
Bây giờ bạn đã có thể khởi động trình cài đặt Drupal thông qua trình duyệt.
Truy cập trình cài đặt
Mở trình duyệt, nhập domain đã cấu hình ở Bước 4, thêm
/core/install.php
:https://servbay-drupal.local/core/install.php
.Nếu mọi thứ đúng, bạn sẽ thấy giao diện bắt đầu cài đặt của Drupal.
Chọn ngôn ngữ
Chọn ngôn ngữ mặc định cho website Drupal, sau đó nhấn “Lưu và tiếp tục”.
Chọn cấu hình cài đặt
Chọn kiểu cài đặt bạn mong muốn. Thông thường, chọn “Tiêu chuẩn” để cài đặt đầy đủ các tính năng mặc định của Drupal. Nhấn “Lưu và tiếp tục”.
Nhập thông tin cơ sở dữ liệu
Trình cài đặt yêu cầu bạn nhập thông tin kết nối database được tạo ở Bước 3:
- Loại cơ sở dữ liệu: Chọn
MySQL, MariaDB, Percona Server, hoặc tương đương
. - Tên cơ sở dữ liệu: Điền
drupal_user
(trùng tên database vừa tạo). - Tên người dùng database: Điền
drupal_user
(trùng tên user vừa tạo). - Mật khẩu database: Nhập mật khẩu đã đặt cho
drupal_user
ở Bước 3. - Host database: Nhập
localhost
. - Tùy chọn nâng cao: Thông thường giữ mặc định, chỉ thay đổi nếu dùng port hoặc cấu hình đặc biệt.
Điền xong nhấn “Lưu và tiếp tục”. Drupal sẽ kết nối database và khởi tạo dữ liệu.
- Loại cơ sở dữ liệu: Chọn
Nhập thông tin website
Nếu kết nối database thành công, trình cài đặt sẽ sang bước thiết lập website. Bạn cần điền:
- Tên website: Tiêu đề trang web.
- Email website: Email dùng để gửi thông báo hệ thống.
- Tên tài khoản quản trị: Tài khoản đăng nhập quản trị Drupal.
- Mật khẩu quản trị: Đặt mật khẩu mạnh cho tài khoản quản trị.
- Quốc gia/Khu vực: Chọn quốc gia/khu vực của bạn.
- Múi giờ: Chọn múi giờ phù hợp.
Điền đầy đủ xong, nhấn “Lưu và tiếp tục”. Drupal sẽ hoàn tất cài đặt, tạo file cấu hình và các thông tin cơ bản của website.
Hoàn tất cài đặt
Sau khi hoàn tất, bạn được chuyển đến trang chủ website Drupal mới. Xin chúc mừng, bạn đã cài đặt thành công Drupal trong môi trường ServBay!
Bước 6: Cài đặt module và theme (Tìm hiểu cơ bản)
Thế mạnh của Drupal là hệ sinh thái module và theme phong phú. Sau khi cài đặt, bạn có thể cài đặt bổ sung và tuỳ chỉnh site tuỳ ý.
- Đăng nhập quản trị: Truy cập
https://servbay-drupal.local/user
hoặchttps://servbay-drupal.local/admin
và đăng nhập bằng tài khoản quản trị đã tạo ở Bước 5. - Cài đặt module: Sau khi đăng nhập, vào menu “Mở rộng” (Extend) để tìm kiếm và cài module mới cho site, bổ sung tính năng cho website.
- Cài đặt theme: Vào menu “Giao diện” (Appearance), bạn có thể cài đặt và chọn theme để thay đổi giao diện trang web.
Cấu hình bổ sung và sử dụng sau khi cài đặt
Sau khi cài đặt thành công Drupal, bạn có thể tận dụng các tính năng để xây dựng website. Dưới đây là một số thao tác thường dùng ban đầu:
Tạo loại nội dung và nội dung
Lõi Drupal xoay quanh “loại nội dung” – cấu trúc định nghĩa các trường thông tin (bài viết, trang...).
- Tạo loại nội dung: Vào quản trị Drupal, chọn “Cấu trúc” → “Loại nội dung”. Có thể sửa loại mặc định hoặc nhấn “Thêm loại nội dung” để tạo mới: đặt tên, cấu hình các trường dữ liệu (tiêu đề, nội dung, hình ảnh...).
- Tạo nội dung: Vào “Nội dung” → “Thêm nội dung”, chọn loại nội dung muốn tạo, nhập thông tin các trường, sau đó nhấn “Lưu và xuất bản”.
Quản lý thực đơn điều hướng
Menu dùng để tổ chức liên kết điều hướng của website.
- Tạo menu: Vào quản trị Drupal, chọn “Cấu trúc” → “Thực đơn”. Có thể thêm mới hoặc sửa menu sẵn có.
- Thêm mục menu: Chỉnh sửa một menu, bấm “Thêm liên kết”, điền tên và đường dẫn liên kết (dạng nội bộ như
/node/1
hoặc URL ngoài), nhấn lưu.
Tuỳ chỉnh bố cục khối nội dung
Khối là các thành phần nội dung/tiện ích có thể hiển thị ở các vùng như thanh bên, chân trang,...
- Thêm khối: Vào quản trị Drupal, chọn “Cấu trúc” → “Bố cục khối”. Trang này hiển thị các vùng hiện tại của theme. Bạn có thể kéo/thả các khối có sẵn hoặc tự tạo vào các vùng mong muốn.
- Cấu hình khối: Click “Cấu hình” cạnh khối vừa đặt để đặt tiêu đề, phân trang hiển thị, phân quyền hiển thị theo vai trò người dùng...
Lưu ý & Giải đáp thắc mắc thường gặp (FAQ)
- Làm sao chỉnh cấu hình PHP? Nếu Drupal yêu cầu extension PHP hoặc giới hạn bộ nhớ (
memory_limit
) lớn hơn, bạn có thể truy cập tab “Gói phần mềm” trong ServBay, chọn đúng phiên bản PHP và click biểu tượng sửa để sửa filephp.ini
. Sau khi thay đổi phải khởi động lại PHP (ServBay thường nhắc hoặc tự động xử lý). - Không truy cập được website?
- Kiểm tra ServBay đã khởi động.
- Kiểm tra cấu hình website trong ServBay, đảm bảo domain và thư mục gốc chính xác (trỏ tới
.../servbay-drupal-app/web
). - Đảm bảo Web server (Caddy hoặc Nginx) trong ServBay đang chạy.
- Truy cập đúng domain:
https://servbay-drupal.local
hoặc đường dẫn cài đặt ban đầu làhttps://servbay-drupal.local/core/install.php
.
- Lỗi kết nối cơ sở dữ liệu?
- Kiểm tra thông tin database (tên, user, password) nhập trong cài đặt Drupal có đúng với user/database đã tạo trong phpMyAdmin.
- Host phải là
localhost
. - Đảm bảo dịch vụ MySQL/MariaDB trong ServBay đang hoạt động.
- Lỗi cài Composer package? Kiểm tra kết nối Internet, đảm bảo Composer truy cập được packagist.org. Đôi khi phải làm sạch cache Composer hoặc cập nhật phiên bản Composer (ServBay thường tự động cập nhật phiên bản tích hợp).
- Vấn đề phân quyền file? Drupal cần quyền ghi cho một số thư mục như
web/sites/default/files
vàweb/sites/default/settings.php
. ServBay chạy bằng user hiện tại nên trên macOS thường không gặp vấn đề này. Nếu có, kiểm tra lại phân quyền các thư mục trên.
Tổng kết
Với các bước hướng dẫn trên, bạn đã cài đặt và cấu hình thành công Drupal trong môi trường phát triển cục bộ ServBay. ServBay cung cấp nền tảng phát triển nhanh, tích hợp đầy đủ các thành phần cần thiết cho Drupal. Từ đây, bạn có thể bắt đầu xây dựng và phát triển website với sức mạnh của Drupal, đồng thời tận dụng sự linh hoạt của ServBay để dễ dàng quản lý nhiều phiên bản PHP, các hệ quản trị cơ sở dữ liệu và dịch vụ liên quan phù hợp với nhu cầu từng dự án.