Để có một website được hoạt động thì bạn cần một nơi để lưu trữ website đó - Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server.
Nếu bạn không có máy chủ và thực hành trên chính máy tính của bạn thì bạn cần một chương trình tạo máy chủ Web Server như (XAMPP) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin.
Sau khi cài đặt máy chủ Web Server trên máy tính của mình, bạn sẽ tạo một thư mục để lưu dự án của bạn chẳng hạn: C:\xampp\htdocs\congnhom thì khi đó Website Local của bạn sẽ có địa chỉ: http://localhost/congnhom/.
Trong Folder C:\xampp\htdocs\congnhom bạn tạo ra các thư mục sau:
Cấu trúc thư mục website mà tôi đưa ra như sau:
admin
configs
extends
libraries
models
views
-----admin
-----front
templates
-----admin
-----front
userfiles
Trong đó:
- admin: Chứa các file xử lý của trang quản trị.
- configs: Chứa các file cấu hình website.
- extends: Chứa các thành phần mở rộng (Editor, player...).
- libraries: Chứa thư viện cần thiết để lập trình.
- models: Chứa các file xử lý tương tác với DB (Lấy dữ liệu, thêm mới, chỉnh sửa, xóa...).
- views: Chứa các file giao diện HTML của website. Tôi chia thành hai nhóm là admin (Trang quản trị) và front (Trang người dùng).
- templates: Chứa các file CSS, JS, hình ảnh... Tôi cũng chia làm hai nhóm là admin và front.
- userfiles: Chứa các file do người dùng tải lên.
Mỗi trang của ứng dụng web tôi đã chia thành ba phần như sau:
- Trang xử lý: Chứa mã lệnh PHP xử lý các yêu cầu từ người dùng và trả kết quả lại cho người dùng.
- Model: Thành phần tương tác trực tiếp với DB. Mỗi bảng dữ liệu trong DB tôi sẽ có một file tương ứng trùng tên với bảng dữ liệu đó và đặt trong thư mục models để người lập trình dễ kiểm soát.
- View: Thành phần giao diện HTML của website. Thành phần này sẽ nhận kết quả trả lại từ trang xử lý để trình bày dữ liệu đó theo giao diện HTML đã thiết kế.
Cấu trúc thư mục website mà tôi đưa ra như sau:
admin
configs
extends
libraries
models
views
-----admin
-----front
templates
-----admin
-----front
userfiles
Trong đó:
- admin: Chứa các file xử lý của trang quản trị.
- configs: Chứa các file cấu hình website.
- extends: Chứa các thành phần mở rộng (Editor, player...).
- libraries: Chứa thư viện cần thiết để lập trình.
- models: Chứa các file xử lý tương tác với DB (Lấy dữ liệu, thêm mới, chỉnh sửa, xóa...).
- views: Chứa các file giao diện HTML của website. Tôi chia thành hai nhóm là admin (Trang quản trị) và front (Trang người dùng).
- templates: Chứa các file CSS, JS, hình ảnh... Tôi cũng chia làm hai nhóm là admin và front.
- userfiles: Chứa các file do người dùng tải lên.
Mỗi trang của ứng dụng web tôi đã chia thành ba phần như sau:
- Trang xử lý: Chứa mã lệnh PHP xử lý các yêu cầu từ người dùng và trả kết quả lại cho người dùng.
- Model: Thành phần tương tác trực tiếp với DB. Mỗi bảng dữ liệu trong DB tôi sẽ có một file tương ứng trùng tên với bảng dữ liệu đó và đặt trong thư mục models để người lập trình dễ kiểm soát.
- View: Thành phần giao diện HTML của website. Thành phần này sẽ nhận kết quả trả lại từ trang xử lý để trình bày dữ liệu đó theo giao diện HTML đã thiết kế.

