Tài liệuỨng dụng PHP

Ứng dụng PHP

Cài Joomla, OpenCart, PrestaShop, phpBB, MediaWiki hoặc Laravel bằng một chạm, tìm trang quản trị của từng ứng dụng và chạy ứng dụng PHP bạn tự tải lên.

ZoPanel cài các ứng dụng PHP phổ biến vào một website PHP trống chỉ bằng một chạm: tải bản ổn định mới nhất từ nguồn chính thức, tạo database MariaDB và chạy trình cài đặt dòng lệnh của chính ứng dụng dưới quyền tài khoản hosting. Hãy dùng tính năng này để dựng nhanh một website mới; với code bạn phát triển trên Git, dùng Git deploy, còn WordPress xem WordPress Toolkit.

Trước khi bắt đầu

  • Một website PHP còn trống. Tạo website loại PHP ở Website → Thêm website (xem Website và PHP). Trình cài đặt từ chối thư mục đã có file; chỉ chấp nhận index.html mặc định, .well-known và .user.ini.
  • Còn chỗ cho một database. Mỗi ứng dụng có database riêng, tính vào giới hạn database của gói và của license (bản Free: 10 database, xem License).
  • Phiên bản PHP phù hợp đã cài ở mục Runtime (xem bảng bên dưới). Laravel còn cần Composer, cài ở Runtime → Composer.
  • Gói hosting phải bật Cài ứng dụng & công cụ WordPress. Nếu không, thẻ cài ứng dụng sẽ không hiện.

Hãy trỏ tên miền về máy chủ và bật SSL trước khi cài: ứng dụng chỉ được cấu hình với https:// khi website đã có chứng chỉ.

Ứng dụng được hỗ trợ

Ứng dụng Nhóm Dải PHP trong panel Web server Trang quản trị
Joomla Quản trị nội dung 8.3+ nginx /administrator/
OpenCart Cửa hàng online 8.1+ Chế độ Apache /admin/
PrestaShop Cửa hàng online 7.4–8.1 Chế độ Apache /admin<ngẫu-nhiên>/ (bí mật)
phpBB Diễn đàn 7.2+ nginx /adm/
MediaWiki Wiki 8.3+ nginx /index.php/Special:SpecialPages
Laravel Framework PHP 8.2+ nginx, thư mục gốc public / (không có trang quản trị)

Panel kiểm tra theo dải trên, dải này theo đúng bản phát hành được cài:

Ứng dụng Bản được cài Yêu cầu PHP của nhà phát triển
Joomla Bản ổn định mới nhất (Joomla 6) PHP 8.3 trở lên (yêu cầu)
OpenCart Gói phát hành mới nhất (4.1) PHP 8.1 trở lên
PrestaShop Bản mới nhất có gói tải về (8.2) PHP 7.2–8.1
phpBB Bản ổn định mới nhất (3.3) PHP 7.2 trở lên
MediaWiki Nhánh ổn định mới nhất PHP 8.3 trở lên với bản 1.46 (tương thích)
Laravel Bản mới nhất mà Composer cài được trên PHP đã chọn Laravel 13 cần PHP 8.3; trên PHP 8.2 Composer cài bản chính cũ hơn

Nếu phiên bản PHP của website nằm ngoài dải của panel, ZoPanel chuyển website sang phiên bản mới nhất đã cài nằm trong dải. Nếu không có phiên bản nào, quá trình cài dừng với thông báo "<Ứng dụng> needs PHP <dải>; ask the administrator to install a suitable PHP version". Muốn tự chọn phiên bản, hãy đặt Phiên bản PHP ở tab PHP & cấu hình trước khi cài.

Cài ứng dụng

  1. Mở website (Website → Quản lý) và ở lại tab Tổng quan.
  2. Trong thẻ Ứng dụng, bấm vào ứng dụng cần cài. Thẻ này hiện khi website chạy PHP, thư mục gốc nằm trong public_html và chưa cài ứng dụng nào.
  3. Xem các nhãn: dải PHP, Chế độ Apache (.htaccess) nếu ứng dụng cần, và đường dẫn tới website của dự án.
  4. Điền các trường:
Trường Ứng dụng Quy tắc
Tên website Tất cả 1 đến 100 ký tự. Mặc định là tên miền.
Email quản trị Joomla, OpenCart, PrestaShop, phpBB Địa chỉ hợp lệ. Mặc định là email tài khoản của bạn.
Tài khoản quản trị Tất cả trừ Laravel 3 đến 40 ký tự gồm chữ, số, ., _ hoặc -. Mặc định admin; nên đổi tên khác.
Mật khẩu quản trị Tất cả trừ Laravel 8 đến 128 ký tự, không chứa :. Panel đề xuất sẵn mật khẩu ngẫu nhiên 16 ký tự.
  1. Bấm Cài đặt. Cửa sổ tác vụ hiển thị tiến trình.

Tác vụ này sẽ:

  1. Bật chế độ Apache cho OpenCart và PrestaShop (lần đầu, Apache được cài lên máy chủ, xem Chế độ Apache).
  2. Tạo database và user tên <tài-khoản>_<2 chữ cái><4 ký tự ngẫu nhiên> với mật khẩu ngẫu nhiên 24 ký tự, liên kết với website.
  3. Tải bản phát hành qua HTTPS (tự tải tiếp nếu mất kết nối), giải nén và chạy trình cài đặt. Mật khẩu không bao giờ xuất hiện trên dòng lệnh.
  4. Xoá thư mục install/installation và đặt quyền để file chứa mật khẩu database chỉ tài khoản đọc được.
  5. Kết thúc bằng dòng Admin area: https://<tên-miền>/<đường-dẫn>.

Nếu có bước nào lỗi, file cài dở và database bị xoá, website trở về như cũ, để bạn sửa nguyên nhân rồi cài lại.

Lưu ý: mật khẩu database không hiển thị trong panel mà nằm trong file cấu hình của ứng dụng (xem phần sau). Chỉ đổi mật khẩu ở Cơ sở dữ liệu nếu bạn cập nhật cả file đó.

Sau khi cài

Khi đã cài ứng dụng, phần đầu trang website có nút Trang quản trị mở địa chỉ quản trị (trừ PrestaShop, xem bên dưới). Mọi ứng dụng được cài bằng tiếng Anh; hãy đổi ngôn ngữ trong trang quản trị của từng ứng dụng.

Ứng dụng Đăng nhập bằng File cấu hình Việc nên làm đầu tiên
Joomla Tài khoản quản trị configuration.php Bật Use URL Rewriting trong Global Configuration để có URL gọn (nginx đã chuyển các URL này về index.php). Cài gói ngôn ngữ tiếng Việt nếu cần.
OpenCart Tài khoản quản trị config.php, admin/config.php .htaccess.txt đã được đổi thành .htaccess, nên URL SEO chạy được trong chế độ Apache. Thiết lập thông tin cửa hàng, thanh toán, vận chuyển.
PrestaShop Email quản trị và mật khẩu app/config/parameters.php Chép địa chỉ quản trị trong nhật ký tác vụ. Quốc gia mặc định là Việt Nam; đổi ở mục International. Không có email nào được gửi khi cài.
phpBB Tài khoản quản trị config.php Email bị tắt khi cài: bật lại trong ACP ở Board configuration → Email settings.
MediaWiki Tài khoản quản trị (MediaWiki tự viết hoa chữ cái đầu) LocalSettings.php Trang dùng URL dạng /index.php/Tên_trang. Sửa LocalSettings.php để cấu hình upload, giao diện và phân quyền.
Laravel – .env Xem bên dưới.

Quan trọng: thư mục quản trị của PrestaShop được đổi thành admin kèm 8 ký tự ngẫu nhiên, theo yêu cầu của PrestaShop. Địa chỉ này chỉ xuất hiện trong nhật ký tác vụ (Tác vụ). Hãy lưu lại; nếu quên, dùng Quản lý file tìm thư mục có tên bắt đầu bằng admin trong public_html.

Laravel

Trình cài Laravel chạy composer create-project laravel/laravel bằng phiên bản PHP của website, sau đó:

  • tạo .env từ .env.example với APP_NAME (tên website), APP_ENV=production, APP_DEBUG=false, APP_URL và kết nối MySQL (DB_CONNECTION=mysql, DB_HOST=localhost, database và user vừa tạo);
  • chạy php artisan key:generate --force, php artisan migrate --force và php artisan storage:link;
  • đặt thư mục gốc của website thành public_html/public và quy tắc rewrite Laravel.

Dự án nằm trong public_html, bên ngoài thư mục gốc web, nên không ai tải được .env hay vendor. Về scheduler, queue và deploy, xem Laravel.

Trình cài dùng được cho cả website loại PHP lẫn loại Laravel: dự án luôn nằm trong public_html, và thư mục gốc web thành public_html/public.

Cập nhật ứng dụng

ZoPanel cài ứng dụng nhưng không cập nhật chúng: hãy dùng công cụ cập nhật của từng dự án. Sao lưu website và database trước (xem Sao lưu).

Ứng dụng Cách cập nhật
Joomla System → Update → Joomla trong trang quản trị (tài liệu).
OpenCart Làm theo hướng dẫn nâng cấp của phiên bản bạn dùng (tài liệu).
PrestaShop Module Update Assistant (tài liệu).
phpBB Làm theo hướng dẫn cập nhật trong gói phát hành (tài liệu).
MediaWiki Thay file mới rồi chạy php maintenance/run.php update (tài liệu).
Laravel composer update qua SSH, sau đó php artisan migrate --force.

Chạy các lệnh trong Terminal SSH dưới quyền tài khoản hosting, với cùng phiên bản PHP của website, ví dụ php8.3 maintenance/run.php update.

Ứng dụng PHP khác

Ứng dụng PHP không có trong danh sách có thể cài thủ công:

  1. Tạo website PHP với phiên bản PHP mà ứng dụng cần.
  2. Tải file lên public_html bằng Quản lý file hoặc SFTP.
  3. Tạo database ở Cơ sở dữ liệu rồi chạy trình cài đặt web của ứng dụng.
  4. Nếu ứng dụng chạy từ thư mục con (ví dụ public hoặc web), đặt Thư mục gốc ở tab PHP & cấu hình, ví dụ public_html/public. Thư mục này phải nằm trong public_html.
  5. Nếu ứng dụng dựa vào rewrite trong .htaccess, bật Hỗ trợ .htaccess (chế độ Apache) ở tab Công cụ. Với quy tắc Mặc định, nginx đã chuyển URL không tồn tại về index.php, đủ cho hầu hết front controller.

Composer

Khi dự án có composer.json, cài thư viện qua SSH bằng đúng phiên bản PHP của website (Composer phải được cài ở Runtime):

cd ~/domains/example.com/public_html
php8.3 /usr/local/bin/composer install --no-dev --optimize-autoloader

Nếu dự án nằm trên Git, Git deploy tự chạy Composer mỗi lần phát hành và nhận diện Laravel, Symfony.

Các tuỳ chọn PHP như upload_max_filesize được đặt ở Công cụ → Thiết lập PHP cho website; dòng php_value trong .htaccess bị bỏ qua.

Xử lý sự cố

Thông báo hoặc hiện tượng Cách xử lý
"the website folder is not empty: install applications into a new, empty website" Cài vào website PHP mới, hoặc làm trống public_html trước.
"this website already runs an application; create a new website for …" Mỗi website chỉ một ứng dụng. Hãy tạo website khác.
"applications need a PHP website" Website không dùng PHP hoặc là website proxy. Chọn Phiên bản PHP hoặc tạo website PHP.
"… needs PHP …; ask the administrator to install a suitable PHP version" Cài một phiên bản PHP trong dải yêu cầu ở Runtime.
"database limit reached" Gói không cho tạo thêm database. Xoá bớt hoặc nâng gói.
"cannot find the latest … release" Máy chủ không kết nối được GitHub hoặc trang tải của dự án. Thử lại sau.
Laravel: bản chính được cài cũ hơn Website chạy PHP 8.2 nên Composer cài bản Laravel mới nhất hỗ trợ PHP này. Muốn có Laravel mới nhất, dùng PHP 8.3 trở lên.
Laravel: composer failed Kiểm tra Composer đã cài ở Runtime và phiên bản PHP từ 8.2 trở lên.
Không thấy thẻ Ứng dụng Website đã có ứng dụng, không dùng PHP, thư mục gốc nằm ngoài public_html, hoặc gói không bật Cài ứng dụng & công cụ WordPress.

Toàn bộ output của trình cài được lưu trong Tác vụ.

Xem thêm


← Ứng dụng Python Laravel →